comparison fuhtark_test/Vulkan-Headers-1.4.334/include/vulkan/vulkan_beta.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_BETA_H_
2 #define VULKAN_BETA_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_KHR_portability_subset is a preprocessor guard. Do not pass it to API calls.
23 #define VK_KHR_portability_subset 1
24 #define VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION 1
25 #define VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME "VK_KHR_portability_subset"
26 typedef struct VkPhysicalDevicePortabilitySubsetFeaturesKHR {
27 VkStructureType sType;
28 void* pNext;
29 VkBool32 constantAlphaColorBlendFactors;
30 VkBool32 events;
31 VkBool32 imageViewFormatReinterpretation;
32 VkBool32 imageViewFormatSwizzle;
33 VkBool32 imageView2DOn3DImage;
34 VkBool32 multisampleArrayImage;
35 VkBool32 mutableComparisonSamplers;
36 VkBool32 pointPolygons;
37 VkBool32 samplerMipLodBias;
38 VkBool32 separateStencilMaskRef;
39 VkBool32 shaderSampleRateInterpolationFunctions;
40 VkBool32 tessellationIsolines;
41 VkBool32 tessellationPointMode;
42 VkBool32 triangleFans;
43 VkBool32 vertexAttributeAccessBeyondStride;
44 } VkPhysicalDevicePortabilitySubsetFeaturesKHR;
45
46 typedef struct VkPhysicalDevicePortabilitySubsetPropertiesKHR {
47 VkStructureType sType;
48 void* pNext;
49 uint32_t minVertexInputBindingStrideAlignment;
50 } VkPhysicalDevicePortabilitySubsetPropertiesKHR;
51
52
53
54 // VK_AMDX_shader_enqueue is a preprocessor guard. Do not pass it to API calls.
55 #define VK_AMDX_shader_enqueue 1
56 #define VK_AMDX_SHADER_ENQUEUE_SPEC_VERSION 2
57 #define VK_AMDX_SHADER_ENQUEUE_EXTENSION_NAME "VK_AMDX_shader_enqueue"
58 #define VK_SHADER_INDEX_UNUSED_AMDX (~0U)
59 typedef struct VkPhysicalDeviceShaderEnqueueFeaturesAMDX {
60 VkStructureType sType;
61 void* pNext;
62 VkBool32 shaderEnqueue;
63 VkBool32 shaderMeshEnqueue;
64 } VkPhysicalDeviceShaderEnqueueFeaturesAMDX;
65
66 typedef struct VkPhysicalDeviceShaderEnqueuePropertiesAMDX {
67 VkStructureType sType;
68 void* pNext;
69 uint32_t maxExecutionGraphDepth;
70 uint32_t maxExecutionGraphShaderOutputNodes;
71 uint32_t maxExecutionGraphShaderPayloadSize;
72 uint32_t maxExecutionGraphShaderPayloadCount;
73 uint32_t executionGraphDispatchAddressAlignment;
74 uint32_t maxExecutionGraphWorkgroupCount[3];
75 uint32_t maxExecutionGraphWorkgroups;
76 } VkPhysicalDeviceShaderEnqueuePropertiesAMDX;
77
78 typedef struct VkExecutionGraphPipelineScratchSizeAMDX {
79 VkStructureType sType;
80 void* pNext;
81 VkDeviceSize minSize;
82 VkDeviceSize maxSize;
83 VkDeviceSize sizeGranularity;
84 } VkExecutionGraphPipelineScratchSizeAMDX;
85
86 typedef struct VkExecutionGraphPipelineCreateInfoAMDX {
87 VkStructureType sType;
88 const void* pNext;
89 VkPipelineCreateFlags flags;
90 uint32_t stageCount;
91 const VkPipelineShaderStageCreateInfo* pStages;
92 const VkPipelineLibraryCreateInfoKHR* pLibraryInfo;
93 VkPipelineLayout layout;
94 VkPipeline basePipelineHandle;
95 int32_t basePipelineIndex;
96 } VkExecutionGraphPipelineCreateInfoAMDX;
97
98 typedef union VkDeviceOrHostAddressConstAMDX {
99 VkDeviceAddress deviceAddress;
100 const void* hostAddress;
101 } VkDeviceOrHostAddressConstAMDX;
102
103 typedef struct VkDispatchGraphInfoAMDX {
104 uint32_t nodeIndex;
105 uint32_t payloadCount;
106 VkDeviceOrHostAddressConstAMDX payloads;
107 uint64_t payloadStride;
108 } VkDispatchGraphInfoAMDX;
109
110 typedef struct VkDispatchGraphCountInfoAMDX {
111 uint32_t count;
112 VkDeviceOrHostAddressConstAMDX infos;
113 uint64_t stride;
114 } VkDispatchGraphCountInfoAMDX;
115
116 typedef struct VkPipelineShaderStageNodeCreateInfoAMDX {
117 VkStructureType sType;
118 const void* pNext;
119 const char* pName;
120 uint32_t index;
121 } VkPipelineShaderStageNodeCreateInfoAMDX;
122
123 typedef VkResult (VKAPI_PTR *PFN_vkCreateExecutionGraphPipelinesAMDX)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkExecutionGraphPipelineCreateInfoAMDX* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
124 typedef VkResult (VKAPI_PTR *PFN_vkGetExecutionGraphPipelineScratchSizeAMDX)(VkDevice device, VkPipeline executionGraph, VkExecutionGraphPipelineScratchSizeAMDX* pSizeInfo);
125 typedef VkResult (VKAPI_PTR *PFN_vkGetExecutionGraphPipelineNodeIndexAMDX)(VkDevice device, VkPipeline executionGraph, const VkPipelineShaderStageNodeCreateInfoAMDX* pNodeInfo, uint32_t* pNodeIndex);
126 typedef void (VKAPI_PTR *PFN_vkCmdInitializeGraphScratchMemoryAMDX)(VkCommandBuffer commandBuffer, VkPipeline executionGraph, VkDeviceAddress scratch, VkDeviceSize scratchSize);
127 typedef void (VKAPI_PTR *PFN_vkCmdDispatchGraphAMDX)(VkCommandBuffer commandBuffer, VkDeviceAddress scratch, VkDeviceSize scratchSize, const VkDispatchGraphCountInfoAMDX* pCountInfo);
128 typedef void (VKAPI_PTR *PFN_vkCmdDispatchGraphIndirectAMDX)(VkCommandBuffer commandBuffer, VkDeviceAddress scratch, VkDeviceSize scratchSize, const VkDispatchGraphCountInfoAMDX* pCountInfo);
129 typedef void (VKAPI_PTR *PFN_vkCmdDispatchGraphIndirectCountAMDX)(VkCommandBuffer commandBuffer, VkDeviceAddress scratch, VkDeviceSize scratchSize, VkDeviceAddress countInfo);
130
131 #ifndef VK_NO_PROTOTYPES
132 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
133 VKAPI_ATTR VkResult VKAPI_CALL vkCreateExecutionGraphPipelinesAMDX(
134 VkDevice device,
135 VkPipelineCache pipelineCache,
136 uint32_t createInfoCount,
137 const VkExecutionGraphPipelineCreateInfoAMDX* pCreateInfos,
138 const VkAllocationCallbacks* pAllocator,
139 VkPipeline* pPipelines);
140 #endif
141
142 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
143 VKAPI_ATTR VkResult VKAPI_CALL vkGetExecutionGraphPipelineScratchSizeAMDX(
144 VkDevice device,
145 VkPipeline executionGraph,
146 VkExecutionGraphPipelineScratchSizeAMDX* pSizeInfo);
147 #endif
148
149 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
150 VKAPI_ATTR VkResult VKAPI_CALL vkGetExecutionGraphPipelineNodeIndexAMDX(
151 VkDevice device,
152 VkPipeline executionGraph,
153 const VkPipelineShaderStageNodeCreateInfoAMDX* pNodeInfo,
154 uint32_t* pNodeIndex);
155 #endif
156
157 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
158 VKAPI_ATTR void VKAPI_CALL vkCmdInitializeGraphScratchMemoryAMDX(
159 VkCommandBuffer commandBuffer,
160 VkPipeline executionGraph,
161 VkDeviceAddress scratch,
162 VkDeviceSize scratchSize);
163 #endif
164
165 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
166 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchGraphAMDX(
167 VkCommandBuffer commandBuffer,
168 VkDeviceAddress scratch,
169 VkDeviceSize scratchSize,
170 const VkDispatchGraphCountInfoAMDX* pCountInfo);
171 #endif
172
173 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
174 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchGraphIndirectAMDX(
175 VkCommandBuffer commandBuffer,
176 VkDeviceAddress scratch,
177 VkDeviceSize scratchSize,
178 const VkDispatchGraphCountInfoAMDX* pCountInfo);
179 #endif
180
181 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
182 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchGraphIndirectCountAMDX(
183 VkCommandBuffer commandBuffer,
184 VkDeviceAddress scratch,
185 VkDeviceSize scratchSize,
186 VkDeviceAddress countInfo);
187 #endif
188 #endif
189
190
191 // VK_NV_cuda_kernel_launch is a preprocessor guard. Do not pass it to API calls.
192 #define VK_NV_cuda_kernel_launch 1
193 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCudaModuleNV)
194 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCudaFunctionNV)
195 #define VK_NV_CUDA_KERNEL_LAUNCH_SPEC_VERSION 2
196 #define VK_NV_CUDA_KERNEL_LAUNCH_EXTENSION_NAME "VK_NV_cuda_kernel_launch"
197 typedef struct VkCudaModuleCreateInfoNV {
198 VkStructureType sType;
199 const void* pNext;
200 size_t dataSize;
201 const void* pData;
202 } VkCudaModuleCreateInfoNV;
203
204 typedef struct VkCudaFunctionCreateInfoNV {
205 VkStructureType sType;
206 const void* pNext;
207 VkCudaModuleNV module;
208 const char* pName;
209 } VkCudaFunctionCreateInfoNV;
210
211 typedef struct VkCudaLaunchInfoNV {
212 VkStructureType sType;
213 const void* pNext;
214 VkCudaFunctionNV function;
215 uint32_t gridDimX;
216 uint32_t gridDimY;
217 uint32_t gridDimZ;
218 uint32_t blockDimX;
219 uint32_t blockDimY;
220 uint32_t blockDimZ;
221 uint32_t sharedMemBytes;
222 size_t paramCount;
223 const void* const * pParams;
224 size_t extraCount;
225 const void* const * pExtras;
226 } VkCudaLaunchInfoNV;
227
228 typedef struct VkPhysicalDeviceCudaKernelLaunchFeaturesNV {
229 VkStructureType sType;
230 void* pNext;
231 VkBool32 cudaKernelLaunchFeatures;
232 } VkPhysicalDeviceCudaKernelLaunchFeaturesNV;
233
234 typedef struct VkPhysicalDeviceCudaKernelLaunchPropertiesNV {
235 VkStructureType sType;
236 void* pNext;
237 uint32_t computeCapabilityMinor;
238 uint32_t computeCapabilityMajor;
239 } VkPhysicalDeviceCudaKernelLaunchPropertiesNV;
240
241 typedef VkResult (VKAPI_PTR *PFN_vkCreateCudaModuleNV)(VkDevice device, const VkCudaModuleCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCudaModuleNV* pModule);
242 typedef VkResult (VKAPI_PTR *PFN_vkGetCudaModuleCacheNV)(VkDevice device, VkCudaModuleNV module, size_t* pCacheSize, void* pCacheData);
243 typedef VkResult (VKAPI_PTR *PFN_vkCreateCudaFunctionNV)(VkDevice device, const VkCudaFunctionCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCudaFunctionNV* pFunction);
244 typedef void (VKAPI_PTR *PFN_vkDestroyCudaModuleNV)(VkDevice device, VkCudaModuleNV module, const VkAllocationCallbacks* pAllocator);
245 typedef void (VKAPI_PTR *PFN_vkDestroyCudaFunctionNV)(VkDevice device, VkCudaFunctionNV function, const VkAllocationCallbacks* pAllocator);
246 typedef void (VKAPI_PTR *PFN_vkCmdCudaLaunchKernelNV)(VkCommandBuffer commandBuffer, const VkCudaLaunchInfoNV* pLaunchInfo);
247
248 #ifndef VK_NO_PROTOTYPES
249 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
250 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCudaModuleNV(
251 VkDevice device,
252 const VkCudaModuleCreateInfoNV* pCreateInfo,
253 const VkAllocationCallbacks* pAllocator,
254 VkCudaModuleNV* pModule);
255 #endif
256
257 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
258 VKAPI_ATTR VkResult VKAPI_CALL vkGetCudaModuleCacheNV(
259 VkDevice device,
260 VkCudaModuleNV module,
261 size_t* pCacheSize,
262 void* pCacheData);
263 #endif
264
265 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
266 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCudaFunctionNV(
267 VkDevice device,
268 const VkCudaFunctionCreateInfoNV* pCreateInfo,
269 const VkAllocationCallbacks* pAllocator,
270 VkCudaFunctionNV* pFunction);
271 #endif
272
273 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
274 VKAPI_ATTR void VKAPI_CALL vkDestroyCudaModuleNV(
275 VkDevice device,
276 VkCudaModuleNV module,
277 const VkAllocationCallbacks* pAllocator);
278 #endif
279
280 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
281 VKAPI_ATTR void VKAPI_CALL vkDestroyCudaFunctionNV(
282 VkDevice device,
283 VkCudaFunctionNV function,
284 const VkAllocationCallbacks* pAllocator);
285 #endif
286
287 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
288 VKAPI_ATTR void VKAPI_CALL vkCmdCudaLaunchKernelNV(
289 VkCommandBuffer commandBuffer,
290 const VkCudaLaunchInfoNV* pLaunchInfo);
291 #endif
292 #endif
293
294
295 // VK_NV_displacement_micromap is a preprocessor guard. Do not pass it to API calls.
296 #define VK_NV_displacement_micromap 1
297 #define VK_NV_DISPLACEMENT_MICROMAP_SPEC_VERSION 2
298 #define VK_NV_DISPLACEMENT_MICROMAP_EXTENSION_NAME "VK_NV_displacement_micromap"
299
300 typedef enum VkDisplacementMicromapFormatNV {
301 VK_DISPLACEMENT_MICROMAP_FORMAT_64_TRIANGLES_64_BYTES_NV = 1,
302 VK_DISPLACEMENT_MICROMAP_FORMAT_256_TRIANGLES_128_BYTES_NV = 2,
303 VK_DISPLACEMENT_MICROMAP_FORMAT_1024_TRIANGLES_128_BYTES_NV = 3,
304 VK_DISPLACEMENT_MICROMAP_FORMAT_MAX_ENUM_NV = 0x7FFFFFFF
305 } VkDisplacementMicromapFormatNV;
306 typedef struct VkPhysicalDeviceDisplacementMicromapFeaturesNV {
307 VkStructureType sType;
308 void* pNext;
309 VkBool32 displacementMicromap;
310 } VkPhysicalDeviceDisplacementMicromapFeaturesNV;
311
312 typedef struct VkPhysicalDeviceDisplacementMicromapPropertiesNV {
313 VkStructureType sType;
314 void* pNext;
315 uint32_t maxDisplacementMicromapSubdivisionLevel;
316 } VkPhysicalDeviceDisplacementMicromapPropertiesNV;
317
318 typedef struct VkAccelerationStructureTrianglesDisplacementMicromapNV {
319 VkStructureType sType;
320 void* pNext;
321 VkFormat displacementBiasAndScaleFormat;
322 VkFormat displacementVectorFormat;
323 VkDeviceOrHostAddressConstKHR displacementBiasAndScaleBuffer;
324 VkDeviceSize displacementBiasAndScaleStride;
325 VkDeviceOrHostAddressConstKHR displacementVectorBuffer;
326 VkDeviceSize displacementVectorStride;
327 VkDeviceOrHostAddressConstKHR displacedMicromapPrimitiveFlags;
328 VkDeviceSize displacedMicromapPrimitiveFlagsStride;
329 VkIndexType indexType;
330 VkDeviceOrHostAddressConstKHR indexBuffer;
331 VkDeviceSize indexStride;
332 uint32_t baseTriangle;
333 uint32_t usageCountsCount;
334 const VkMicromapUsageEXT* pUsageCounts;
335 const VkMicromapUsageEXT* const* ppUsageCounts;
336 VkMicromapEXT micromap;
337 } VkAccelerationStructureTrianglesDisplacementMicromapNV;
338
339
340
341 // VK_AMDX_dense_geometry_format is a preprocessor guard. Do not pass it to API calls.
342 #define VK_AMDX_dense_geometry_format 1
343 #define VK_AMDX_DENSE_GEOMETRY_FORMAT_SPEC_VERSION 1
344 #define VK_AMDX_DENSE_GEOMETRY_FORMAT_EXTENSION_NAME "VK_AMDX_dense_geometry_format"
345 #define VK_COMPRESSED_TRIANGLE_FORMAT_DGF1_BYTE_ALIGNMENT_AMDX 128U
346 #define VK_COMPRESSED_TRIANGLE_FORMAT_DGF1_BYTE_STRIDE_AMDX 128U
347
348 typedef enum VkCompressedTriangleFormatAMDX {
349 VK_COMPRESSED_TRIANGLE_FORMAT_DGF1_AMDX = 0,
350 VK_COMPRESSED_TRIANGLE_FORMAT_MAX_ENUM_AMDX = 0x7FFFFFFF
351 } VkCompressedTriangleFormatAMDX;
352 typedef struct VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX {
353 VkStructureType sType;
354 void* pNext;
355 VkBool32 denseGeometryFormat;
356 } VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX;
357
358 typedef struct VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX {
359 VkStructureType sType;
360 const void* pNext;
361 VkDeviceOrHostAddressConstKHR compressedData;
362 VkDeviceSize dataSize;
363 uint32_t numTriangles;
364 uint32_t numVertices;
365 uint32_t maxPrimitiveIndex;
366 uint32_t maxGeometryIndex;
367 VkCompressedTriangleFormatAMDX format;
368 } VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX;
369
370
371 #ifdef __cplusplus
372 }
373 #endif
374
375 #endif