text: #ifndef VULKAN_METAL_H_
  #define VULKAN_METAL_H_ 1
  
  #ifdef __cplusplus
  extern "C" {
  #endif
  
  /*
  ** Copyright (c) 2015-2019 The Khronos Group Inc.
  **
  ** Licensed under the Apache License, Version 2.0 (the "License");
  ** you may not use this file except in compliance with the License.
  ** You may obtain a copy of the License at
  **
  **     http://www.apache.org/licenses/LICENSE-2.0
  **
  ** Unless required by applicable law or agreed to in writing, software
  ** distributed under the License is distributed on an "AS IS" BASIS,
  ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ** See the License for the specific language governing permissions and
  ** limitations under the License.
  */
  
  /*
  ** This header is generated from the Khronos Vulkan XML API Registry.
  **
  */
  
  
  
  #define VK_EXT_metal_surface 1
  
  #ifdef __OBJC__
  @class CAMetalLayer;
  #else
  typedef void CAMetalLayer;
  #endif
  
  #define VK_EXT_METAL_SURFACE_SPEC_VERSION 1
  #define VK_EXT_METAL_SURFACE_EXTENSION_NAME "VK_EXT_metal_surface"
  typedef VkFlags VkMetalSurfaceCreateFlagsEXT;
  typedef struct VkMetalSurfaceCreateInfoEXT
  {
  	VkStructureType                 sType;
  	const void*                     pNext;
  	VkMetalSurfaceCreateFlagsEXT    flags;
  	const CAMetalLayer*             pLayer;
  } VkMetalSurfaceCreateInfoEXT;
  
  typedef VkResult (VKAPI_PTR *PFN_vkCreateMetalSurfaceEXT)(VkInstance instance, const VkMetalSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
  
  #ifndef VK_NO_PROTOTYPES
  VKAPI_ATTR VkResult VKAPI_CALL vkCreateMetalSurfaceEXT(
      VkInstance                                  instance,
      const VkMetalSurfaceCreateInfoEXT*          pCreateInfo,
      const VkAllocationCallbacks*                pAllocator,
      VkSurfaceKHR*                               pSurface);
  #endif
  
  #ifdef __cplusplus
  }
  #endif
  
  #endif
  