comparison fuhtark_test/Vulkan-Headers-1.4.334/include/vulkan/vulkan_fuchsia.h @ 1501:f40d9d814c08 default tip main

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