summaryrefslogtreecommitdiff
path: root/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_fuchsia.h
diff options
context:
space:
mode:
author3gg <3gg@shellblade.net>2025-12-27 12:03:39 -0800
committer3gg <3gg@shellblade.net>2025-12-27 12:03:39 -0800
commit5a079a2d114f96d4847d1ee305d5b7c16eeec50e (patch)
tree8926ab44f168acf787d8e19608857b3af0f82758 /contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_fuchsia.h
Initial commit
Diffstat (limited to 'contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_fuchsia.h')
-rw-r--r--contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_fuchsia.h262
1 files changed, 262 insertions, 0 deletions
diff --git a/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_fuchsia.h b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_fuchsia.h
new file mode 100644
index 0000000..f60907d
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_fuchsia.h
@@ -0,0 +1,262 @@
1#ifndef VULKAN_FUCHSIA_H_
2#define VULKAN_FUCHSIA_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_FUCHSIA_imagepipe_surface is a preprocessor guard. Do not pass it to API calls.
23#define VK_FUCHSIA_imagepipe_surface 1
24#define VK_FUCHSIA_IMAGEPIPE_SURFACE_SPEC_VERSION 1
25#define VK_FUCHSIA_IMAGEPIPE_SURFACE_EXTENSION_NAME "VK_FUCHSIA_imagepipe_surface"
26typedef VkFlags VkImagePipeSurfaceCreateFlagsFUCHSIA;
27typedef struct VkImagePipeSurfaceCreateInfoFUCHSIA {
28 VkStructureType sType;
29 const void* pNext;
30 VkImagePipeSurfaceCreateFlagsFUCHSIA flags;
31 zx_handle_t imagePipeHandle;
32} VkImagePipeSurfaceCreateInfoFUCHSIA;
33
34typedef VkResult (VKAPI_PTR *PFN_vkCreateImagePipeSurfaceFUCHSIA)(VkInstance instance, const VkImagePipeSurfaceCreateInfoFUCHSIA* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
35
36#ifndef VK_NO_PROTOTYPES
37VKAPI_ATTR VkResult VKAPI_CALL vkCreateImagePipeSurfaceFUCHSIA(
38 VkInstance instance,
39 const VkImagePipeSurfaceCreateInfoFUCHSIA* pCreateInfo,
40 const VkAllocationCallbacks* pAllocator,
41 VkSurfaceKHR* pSurface);
42#endif
43
44
45// VK_FUCHSIA_external_memory is a preprocessor guard. Do not pass it to API calls.
46#define VK_FUCHSIA_external_memory 1
47#define VK_FUCHSIA_EXTERNAL_MEMORY_SPEC_VERSION 1
48#define VK_FUCHSIA_EXTERNAL_MEMORY_EXTENSION_NAME "VK_FUCHSIA_external_memory"
49typedef struct VkImportMemoryZirconHandleInfoFUCHSIA {
50 VkStructureType sType;
51 const void* pNext;
52 VkExternalMemoryHandleTypeFlagBits handleType;
53 zx_handle_t handle;
54} VkImportMemoryZirconHandleInfoFUCHSIA;
55
56typedef struct VkMemoryZirconHandlePropertiesFUCHSIA {
57 VkStructureType sType;
58 void* pNext;
59 uint32_t memoryTypeBits;
60} VkMemoryZirconHandlePropertiesFUCHSIA;
61
62typedef struct VkMemoryGetZirconHandleInfoFUCHSIA {
63 VkStructureType sType;
64 const void* pNext;
65 VkDeviceMemory memory;
66 VkExternalMemoryHandleTypeFlagBits handleType;
67} VkMemoryGetZirconHandleInfoFUCHSIA;
68
69typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryZirconHandleFUCHSIA)(VkDevice device, const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, zx_handle_t* pZirconHandle);
70typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, zx_handle_t zirconHandle, VkMemoryZirconHandlePropertiesFUCHSIA* pMemoryZirconHandleProperties);
71
72#ifndef VK_NO_PROTOTYPES
73VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryZirconHandleFUCHSIA(
74 VkDevice device,
75 const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo,
76 zx_handle_t* pZirconHandle);
77
78VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryZirconHandlePropertiesFUCHSIA(
79 VkDevice device,
80 VkExternalMemoryHandleTypeFlagBits handleType,
81 zx_handle_t zirconHandle,
82 VkMemoryZirconHandlePropertiesFUCHSIA* pMemoryZirconHandleProperties);
83#endif
84
85
86// VK_FUCHSIA_external_semaphore is a preprocessor guard. Do not pass it to API calls.
87#define VK_FUCHSIA_external_semaphore 1
88#define VK_FUCHSIA_EXTERNAL_SEMAPHORE_SPEC_VERSION 1
89#define VK_FUCHSIA_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_FUCHSIA_external_semaphore"
90typedef struct VkImportSemaphoreZirconHandleInfoFUCHSIA {
91 VkStructureType sType;
92 const void* pNext;
93 VkSemaphore semaphore;
94 VkSemaphoreImportFlags flags;
95 VkExternalSemaphoreHandleTypeFlagBits handleType;
96 zx_handle_t zirconHandle;
97} VkImportSemaphoreZirconHandleInfoFUCHSIA;
98
99typedef struct VkSemaphoreGetZirconHandleInfoFUCHSIA {
100 VkStructureType sType;
101 const void* pNext;
102 VkSemaphore semaphore;
103 VkExternalSemaphoreHandleTypeFlagBits handleType;
104} VkSemaphoreGetZirconHandleInfoFUCHSIA;
105
106typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreZirconHandleFUCHSIA)(VkDevice device, const VkImportSemaphoreZirconHandleInfoFUCHSIA* pImportSemaphoreZirconHandleInfo);
107typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreZirconHandleFUCHSIA)(VkDevice device, const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, zx_handle_t* pZirconHandle);
108
109#ifndef VK_NO_PROTOTYPES
110VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreZirconHandleFUCHSIA(
111 VkDevice device,
112 const VkImportSemaphoreZirconHandleInfoFUCHSIA* pImportSemaphoreZirconHandleInfo);
113
114VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreZirconHandleFUCHSIA(
115 VkDevice device,
116 const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo,
117 zx_handle_t* pZirconHandle);
118#endif
119
120
121// VK_FUCHSIA_buffer_collection is a preprocessor guard. Do not pass it to API calls.
122#define VK_FUCHSIA_buffer_collection 1
123VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferCollectionFUCHSIA)
124#define VK_FUCHSIA_BUFFER_COLLECTION_SPEC_VERSION 2
125#define VK_FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME "VK_FUCHSIA_buffer_collection"
126typedef VkFlags VkImageFormatConstraintsFlagsFUCHSIA;
127
128typedef enum VkImageConstraintsInfoFlagBitsFUCHSIA {
129 VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIA = 0x00000001,
130 VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIA = 0x00000002,
131 VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIA = 0x00000004,
132 VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIA = 0x00000008,
133 VK_IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIA = 0x00000010,
134 VK_IMAGE_CONSTRAINTS_INFO_FLAG_BITS_MAX_ENUM_FUCHSIA = 0x7FFFFFFF
135} VkImageConstraintsInfoFlagBitsFUCHSIA;
136typedef VkFlags VkImageConstraintsInfoFlagsFUCHSIA;
137typedef struct VkBufferCollectionCreateInfoFUCHSIA {
138 VkStructureType sType;
139 const void* pNext;
140 zx_handle_t collectionToken;
141} VkBufferCollectionCreateInfoFUCHSIA;
142
143typedef struct VkImportMemoryBufferCollectionFUCHSIA {
144 VkStructureType sType;
145 const void* pNext;
146 VkBufferCollectionFUCHSIA collection;
147 uint32_t index;
148} VkImportMemoryBufferCollectionFUCHSIA;
149
150typedef struct VkBufferCollectionImageCreateInfoFUCHSIA {
151 VkStructureType sType;
152 const void* pNext;
153 VkBufferCollectionFUCHSIA collection;
154 uint32_t index;
155} VkBufferCollectionImageCreateInfoFUCHSIA;
156
157typedef struct VkBufferCollectionConstraintsInfoFUCHSIA {
158 VkStructureType sType;
159 const void* pNext;
160 uint32_t minBufferCount;
161 uint32_t maxBufferCount;
162 uint32_t minBufferCountForCamping;
163 uint32_t minBufferCountForDedicatedSlack;
164 uint32_t minBufferCountForSharedSlack;
165} VkBufferCollectionConstraintsInfoFUCHSIA;
166
167typedef struct VkBufferConstraintsInfoFUCHSIA {
168 VkStructureType sType;
169 const void* pNext;
170 VkBufferCreateInfo createInfo;
171 VkFormatFeatureFlags requiredFormatFeatures;
172 VkBufferCollectionConstraintsInfoFUCHSIA bufferCollectionConstraints;
173} VkBufferConstraintsInfoFUCHSIA;
174
175typedef struct VkBufferCollectionBufferCreateInfoFUCHSIA {
176 VkStructureType sType;
177 const void* pNext;
178 VkBufferCollectionFUCHSIA collection;
179 uint32_t index;
180} VkBufferCollectionBufferCreateInfoFUCHSIA;
181
182typedef struct VkSysmemColorSpaceFUCHSIA {
183 VkStructureType sType;
184 const void* pNext;
185 uint32_t colorSpace;
186} VkSysmemColorSpaceFUCHSIA;
187
188typedef struct VkBufferCollectionPropertiesFUCHSIA {
189 VkStructureType sType;
190 void* pNext;
191 uint32_t memoryTypeBits;
192 uint32_t bufferCount;
193 uint32_t createInfoIndex;
194 uint64_t sysmemPixelFormat;
195 VkFormatFeatureFlags formatFeatures;
196 VkSysmemColorSpaceFUCHSIA sysmemColorSpaceIndex;
197 VkComponentMapping samplerYcbcrConversionComponents;
198 VkSamplerYcbcrModelConversion suggestedYcbcrModel;
199 VkSamplerYcbcrRange suggestedYcbcrRange;
200 VkChromaLocation suggestedXChromaOffset;
201 VkChromaLocation suggestedYChromaOffset;
202} VkBufferCollectionPropertiesFUCHSIA;
203
204typedef struct VkImageFormatConstraintsInfoFUCHSIA {
205 VkStructureType sType;
206 const void* pNext;
207 VkImageCreateInfo imageCreateInfo;
208 VkFormatFeatureFlags requiredFormatFeatures;
209 VkImageFormatConstraintsFlagsFUCHSIA flags;
210 uint64_t sysmemPixelFormat;
211 uint32_t colorSpaceCount;
212 const VkSysmemColorSpaceFUCHSIA* pColorSpaces;
213} VkImageFormatConstraintsInfoFUCHSIA;
214
215typedef struct VkImageConstraintsInfoFUCHSIA {
216 VkStructureType sType;
217 const void* pNext;
218 uint32_t formatConstraintsCount;
219 const VkImageFormatConstraintsInfoFUCHSIA* pFormatConstraints;
220 VkBufferCollectionConstraintsInfoFUCHSIA bufferCollectionConstraints;
221 VkImageConstraintsInfoFlagsFUCHSIA flags;
222} VkImageConstraintsInfoFUCHSIA;
223
224typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferCollectionFUCHSIA)(VkDevice device, const VkBufferCollectionCreateInfoFUCHSIA* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferCollectionFUCHSIA* pCollection);
225typedef VkResult (VKAPI_PTR *PFN_vkSetBufferCollectionImageConstraintsFUCHSIA)(VkDevice device, VkBufferCollectionFUCHSIA collection, const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo);
226typedef VkResult (VKAPI_PTR *PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA)(VkDevice device, VkBufferCollectionFUCHSIA collection, const VkBufferConstraintsInfoFUCHSIA* pBufferConstraintsInfo);
227typedef void (VKAPI_PTR *PFN_vkDestroyBufferCollectionFUCHSIA)(VkDevice device, VkBufferCollectionFUCHSIA collection, const VkAllocationCallbacks* pAllocator);
228typedef VkResult (VKAPI_PTR *PFN_vkGetBufferCollectionPropertiesFUCHSIA)(VkDevice device, VkBufferCollectionFUCHSIA collection, VkBufferCollectionPropertiesFUCHSIA* pProperties);
229
230#ifndef VK_NO_PROTOTYPES
231VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferCollectionFUCHSIA(
232 VkDevice device,
233 const VkBufferCollectionCreateInfoFUCHSIA* pCreateInfo,
234 const VkAllocationCallbacks* pAllocator,
235 VkBufferCollectionFUCHSIA* pCollection);
236
237VKAPI_ATTR VkResult VKAPI_CALL vkSetBufferCollectionImageConstraintsFUCHSIA(
238 VkDevice device,
239 VkBufferCollectionFUCHSIA collection,
240 const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo);
241
242VKAPI_ATTR VkResult VKAPI_CALL vkSetBufferCollectionBufferConstraintsFUCHSIA(
243 VkDevice device,
244 VkBufferCollectionFUCHSIA collection,
245 const VkBufferConstraintsInfoFUCHSIA* pBufferConstraintsInfo);
246
247VKAPI_ATTR void VKAPI_CALL vkDestroyBufferCollectionFUCHSIA(
248 VkDevice device,
249 VkBufferCollectionFUCHSIA collection,
250 const VkAllocationCallbacks* pAllocator);
251
252VKAPI_ATTR VkResult VKAPI_CALL vkGetBufferCollectionPropertiesFUCHSIA(
253 VkDevice device,
254 VkBufferCollectionFUCHSIA collection,
255 VkBufferCollectionPropertiesFUCHSIA* pProperties);
256#endif
257
258#ifdef __cplusplus
259}
260#endif
261
262#endif