Github User Fetcher 1.0.0
C Application with Server and GUI
Loading...
Searching...
No Matches
vulkan_metal.h
Go to the documentation of this file.
1#ifndef VULKAN_METAL_H_
2#define VULKAN_METAL_H_ 1
3
4/*
5** Copyright 2015-2024 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// VK_EXT_metal_surface is a preprocessor guard. Do not pass it to API calls.
23#define VK_EXT_metal_surface 1
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"
39
40typedef VkResult (VKAPI_PTR *PFN_vkCreateMetalSurfaceEXT)(VkInstance instance, const VkMetalSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
41
42#ifndef VK_NO_PROTOTYPES
44 VkInstance instance,
45 const VkMetalSurfaceCreateInfoEXT* pCreateInfo,
46 const VkAllocationCallbacks* pAllocator,
47 VkSurfaceKHR* pSurface);
48#endif
49
50
51// VK_EXT_metal_objects is a preprocessor guard. Do not pass it to API calls.
52#define VK_EXT_metal_objects 1
53#ifdef __OBJC__
54@protocol MTLDevice;
55typedef __unsafe_unretained id<MTLDevice> MTLDevice_id;
56#else
57typedef void* MTLDevice_id;
58#endif
59
60#ifdef __OBJC__
61@protocol MTLCommandQueue;
62typedef __unsafe_unretained id<MTLCommandQueue> MTLCommandQueue_id;
63#else
64typedef void* MTLCommandQueue_id;
65#endif
66
67#ifdef __OBJC__
68@protocol MTLBuffer;
69typedef __unsafe_unretained id<MTLBuffer> MTLBuffer_id;
70#else
71typedef void* MTLBuffer_id;
72#endif
73
74#ifdef __OBJC__
75@protocol MTLTexture;
76typedef __unsafe_unretained id<MTLTexture> MTLTexture_id;
77#else
78typedef void* MTLTexture_id;
79#endif
80
81typedef struct __IOSurface* IOSurfaceRef;
82#ifdef __OBJC__
83@protocol MTLSharedEvent;
84typedef __unsafe_unretained id<MTLSharedEvent> MTLSharedEvent_id;
85#else
86typedef void* MTLSharedEvent_id;
87#endif
88
89#define VK_EXT_METAL_OBJECTS_SPEC_VERSION 2
90#define VK_EXT_METAL_OBJECTS_EXTENSION_NAME "VK_EXT_metal_objects"
91
107
112
118
125
132
138
148
155
162
168
176
182
183typedef void (VKAPI_PTR *PFN_vkExportMetalObjectsEXT)(VkDevice device, VkExportMetalObjectsInfoEXT* pMetalObjectsInfo);
184
185#ifndef VK_NO_PROTOTYPES
187 VkDevice device,
188 VkExportMetalObjectsInfoEXT* pMetalObjectsInfo);
189#endif
190
191#ifdef __cplusplus
192}
193#endif
194
195#endif
MTLCommandQueue_id mtlCommandQueue
VkExportMetalObjectTypeFlagBitsEXT exportObjectType
VkImageAspectFlagBits plane
VkImageAspectFlagBits plane
const CAMetalLayer * pLayer
VkMetalSurfaceCreateFlagsEXT flags
#define VKAPI_CALL
Definition vk_platform.h:57
#define VKAPI_ATTR
Definition vk_platform.h:56
#define VKAPI_PTR
Definition vk_platform.h:58
VkImageAspectFlagBits
uint32_t VkFlags
VkResult
VkStructureType
struct VkExportMetalTextureInfoEXT VkExportMetalTextureInfoEXT
VKAPI_ATTR VkResult VKAPI_CALL vkCreateMetalSurfaceEXT(VkInstance instance, const VkMetalSurfaceCreateInfoEXT *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface)
struct VkImportMetalBufferInfoEXT VkImportMetalBufferInfoEXT
struct VkMetalSurfaceCreateInfoEXT VkMetalSurfaceCreateInfoEXT
struct VkExportMetalObjectCreateInfoEXT VkExportMetalObjectCreateInfoEXT
struct VkExportMetalObjectsInfoEXT VkExportMetalObjectsInfoEXT
void CAMetalLayer
struct VkImportMetalIOSurfaceInfoEXT VkImportMetalIOSurfaceInfoEXT
struct VkImportMetalTextureInfoEXT VkImportMetalTextureInfoEXT
VkFlags VkExportMetalObjectTypeFlagsEXT
void(VKAPI_PTR * PFN_vkExportMetalObjectsEXT)(VkDevice device, VkExportMetalObjectsInfoEXT *pMetalObjectsInfo)
struct VkImportMetalSharedEventInfoEXT VkImportMetalSharedEventInfoEXT
struct VkExportMetalIOSurfaceInfoEXT VkExportMetalIOSurfaceInfoEXT
void * MTLBuffer_id
void * MTLDevice_id
struct VkExportMetalDeviceInfoEXT VkExportMetalDeviceInfoEXT
struct VkExportMetalSharedEventInfoEXT VkExportMetalSharedEventInfoEXT
VKAPI_ATTR void VKAPI_CALL vkExportMetalObjectsEXT(VkDevice device, VkExportMetalObjectsInfoEXT *pMetalObjectsInfo)
struct VkExportMetalBufferInfoEXT VkExportMetalBufferInfoEXT
VkFlags VkMetalSurfaceCreateFlagsEXT
void * MTLTexture_id
struct __IOSurface * IOSurfaceRef
VkResult(VKAPI_PTR * PFN_vkCreateMetalSurfaceEXT)(VkInstance instance, const VkMetalSurfaceCreateInfoEXT *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface)
void * MTLCommandQueue_id
struct VkExportMetalCommandQueueInfoEXT VkExportMetalCommandQueueInfoEXT
void * MTLSharedEvent_id
VkExportMetalObjectTypeFlagBitsEXT
@ VK_EXPORT_METAL_OBJECT_TYPE_METAL_IOSURFACE_BIT_EXT
@ VK_EXPORT_METAL_OBJECT_TYPE_METAL_SHARED_EVENT_BIT_EXT
@ VK_EXPORT_METAL_OBJECT_TYPE_METAL_COMMAND_QUEUE_BIT_EXT
@ VK_EXPORT_METAL_OBJECT_TYPE_METAL_TEXTURE_BIT_EXT
@ VK_EXPORT_METAL_OBJECT_TYPE_METAL_BUFFER_BIT_EXT
@ VK_EXPORT_METAL_OBJECT_TYPE_METAL_DEVICE_BIT_EXT
@ VK_EXPORT_METAL_OBJECT_TYPE_FLAG_BITS_MAX_ENUM_EXT