1#ifndef VULKAN_METAL_H_ 2#define VULKAN_METAL_H_ 1 3 4#ifdef __cplusplus 5extern "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 31#define VK_EXT_metal_surface 1 32 33#ifdef __OBJC__ 34@class CAMetalLayer; 35#else 36typedef void CAMetalLayer; 37#endif 38 39#define VK_EXT_METAL_SURFACE_SPEC_VERSION 1 40#define VK_EXT_METAL_SURFACE_EXTENSION_NAME "VK_EXT_metal_surface" 41typedef VkFlags VkMetalSurfaceCreateFlagsEXT; 42typedef struct VkMetalSurfaceCreateInfoEXT { 43 VkStructureType sType; 44 const void* pNext; 45 VkMetalSurfaceCreateFlagsEXT flags; 46 const CAMetalLayer* pLayer; 47} VkMetalSurfaceCreateInfoEXT; 48 49typedef VkResult (VKAPI_PTR *PFN_vkCreateMetalSurfaceEXT)(VkInstance instance, const VkMetalSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); 50 51#ifndef VK_NO_PROTOTYPES 52VKAPI_ATTR VkResult VKAPI_CALL vkCreateMetalSurfaceEXT( 53 VkInstance instance, 54 const VkMetalSurfaceCreateInfoEXT* pCreateInfo, 55 const VkAllocationCallbacks* pAllocator, 56 VkSurfaceKHR* pSurface); 57#endif 58 59#ifdef __cplusplus 60} 61#endif 62 63#endif 64