Home | History | Annotate | Download | only in vulkan
      1 #ifndef VULKAN_METAL_H_
      2 #define VULKAN_METAL_H_ 1
      3 
      4 #ifdef __cplusplus
      5 extern "C" {
      6 #endif
      7 
      8 /*
      9 ** Copyright (c) 2015-2019 The Khronos Group Inc.
     10 **
     11 ** Licensed under the Apache License, Version 2.0 (the "License");
     12 ** you may not use this file except in compliance with the License.
     13 ** You may obtain a copy of the License at
     14 **
     15 **     http://www.apache.org/licenses/LICENSE-2.0
     16 **
     17 ** Unless required by applicable law or agreed to in writing, software
     18 ** distributed under the License is distributed on an "AS IS" BASIS,
     19 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     20 ** See the License for the specific language governing permissions and
     21 ** limitations under the License.
     22 */
     23 
     24 /*
     25 ** This header is generated from the Khronos Vulkan XML API Registry.
     26 **
     27 */
     28 
     29 
     30 #define VK_EXT_metal_surface 1
     31 
     32 #ifdef __OBJC__
     33 @class CAMetalLayer;
     34 #else
     35 typedef void CAMetalLayer;
     36 #endif
     37 
     38 
     39 #define VK_EXT_METAL_SURFACE_SPEC_VERSION 1
     40 #define VK_EXT_METAL_SURFACE_EXTENSION_NAME "VK_EXT_metal_surface"
     41 
     42 typedef VkFlags VkMetalSurfaceCreateFlagsEXT;
     43 
     44 typedef struct VkMetalSurfaceCreateInfoEXT {
     45     VkStructureType                 sType;
     46     const void*                     pNext;
     47     VkMetalSurfaceCreateFlagsEXT    flags;
     48     const CAMetalLayer*             pLayer;
     49 } VkMetalSurfaceCreateInfoEXT;
     50 
     51 
     52 typedef VkResult (VKAPI_PTR *PFN_vkCreateMetalSurfaceEXT)(VkInstance instance, const VkMetalSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
     53 
     54 #ifndef VK_NO_PROTOTYPES
     55 VKAPI_ATTR VkResult VKAPI_CALL vkCreateMetalSurfaceEXT(
     56     VkInstance                                  instance,
     57     const VkMetalSurfaceCreateInfoEXT*          pCreateInfo,
     58     const VkAllocationCallbacks*                pAllocator,
     59     VkSurfaceKHR*                               pSurface);
     60 #endif
     61 
     62 #ifdef __cplusplus
     63 }
     64 #endif
     65 
     66 #endif
     67