Mercurial > games > semicongine
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 |
