1#ifndef VULKAN_METAL_H_
2#define VULKAN_METAL_H_ 1
3
4/*
5** Copyright 2015-2021 The Khronos Group Inc.
6**
7** SPDX-License-Identifier: Apache-2.0
8*/
9
10/*
11** This header is generated from the Khronos Vulkan XML API Registry.
12**
13*/
14
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
20
21
22#define VK_EXT_metal_surface 1
23
24#ifdef __OBJC__
25@class CAMetalLayer;
26#else
27typedef void CAMetalLayer;
28#endif
29
30#define VK_EXT_METAL_SURFACE_SPEC_VERSION 1
31#define VK_EXT_METAL_SURFACE_EXTENSION_NAME "VK_EXT_metal_surface"
32typedef VkFlags VkMetalSurfaceCreateFlagsEXT;
33typedef struct VkMetalSurfaceCreateInfoEXT {
34    VkStructureType                 sType;
35    const void*                     pNext;
36    VkMetalSurfaceCreateFlagsEXT    flags;
37    const CAMetalLayer*             pLayer;
38} VkMetalSurfaceCreateInfoEXT;
39
40typedef VkResult (VKAPI_PTR *PFN_vkCreateMetalSurfaceEXT)(VkInstance instance, const VkMetalSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
41
42#ifndef VK_NO_PROTOTYPES
43VKAPI_ATTR VkResult VKAPI_CALL vkCreateMetalSurfaceEXT(
44    VkInstance                                  instance,
45    const VkMetalSurfaceCreateInfoEXT*          pCreateInfo,
46    const VkAllocationCallbacks*                pAllocator,
47    VkSurfaceKHR*                               pSurface);
48#endif
49
50#ifdef __cplusplus
51}
52#endif
53
54#endif
55