1 #ifndef VULKAN_BETA_H_ 2 #define VULKAN_BETA_H_ 1 3 4 /* 5 ** Copyright (c) 2015-2020 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 #define VK_KHR_portability_subset 1 23 #define VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION 1 24 #define VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME "VK_KHR_portability_subset" 25 typedef struct VkPhysicalDevicePortabilitySubsetFeaturesKHR { 26 VkStructureType sType; 27 void* pNext; 28 VkBool32 constantAlphaColorBlendFactors; 29 VkBool32 events; 30 VkBool32 imageViewFormatReinterpretation; 31 VkBool32 imageViewFormatSwizzle; 32 VkBool32 imageView2DOn3DImage; 33 VkBool32 multisampleArrayImage; 34 VkBool32 mutableComparisonSamplers; 35 VkBool32 pointPolygons; 36 VkBool32 samplerMipLodBias; 37 VkBool32 separateStencilMaskRef; 38 VkBool32 shaderSampleRateInterpolationFunctions; 39 VkBool32 tessellationIsolines; 40 VkBool32 tessellationPointMode; 41 VkBool32 triangleFans; 42 VkBool32 vertexAttributeAccessBeyondStride; 43 } VkPhysicalDevicePortabilitySubsetFeaturesKHR; 44 45 typedef struct VkPhysicalDevicePortabilitySubsetPropertiesKHR { 46 VkStructureType sType; 47 void* pNext; 48 uint32_t minVertexInputBindingStrideAlignment; 49 } VkPhysicalDevicePortabilitySubsetPropertiesKHR; 50 51 52 53 #define VK_KHR_deferred_host_operations 1 54 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR) 55 #define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 3 56 #define VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME "VK_KHR_deferred_host_operations" 57 typedef struct VkDeferredOperationInfoKHR { 58 VkStructureType sType; 59 const void* pNext; 60 VkDeferredOperationKHR operationHandle; 61 } VkDeferredOperationInfoKHR; 62 63 typedef VkResult (VKAPI_PTR *PFN_vkCreateDeferredOperationKHR)(VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation); 64 typedef void (VKAPI_PTR *PFN_vkDestroyDeferredOperationKHR)(VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator); 65 typedef uint32_t (VKAPI_PTR *PFN_vkGetDeferredOperationMaxConcurrencyKHR)(VkDevice device, VkDeferredOperationKHR operation); 66 typedef VkResult (VKAPI_PTR *PFN_vkGetDeferredOperationResultKHR)(VkDevice device, VkDeferredOperationKHR operation); 67 typedef VkResult (VKAPI_PTR *PFN_vkDeferredOperationJoinKHR)(VkDevice device, VkDeferredOperationKHR operation); 68 69 #ifndef VK_NO_PROTOTYPES 70 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDeferredOperationKHR( 71 VkDevice device, 72 const VkAllocationCallbacks* pAllocator, 73 VkDeferredOperationKHR* pDeferredOperation); 74 75 VKAPI_ATTR void VKAPI_CALL vkDestroyDeferredOperationKHR( 76 VkDevice device, 77 VkDeferredOperationKHR operation, 78 const VkAllocationCallbacks* pAllocator); 79 80 VKAPI_ATTR uint32_t VKAPI_CALL vkGetDeferredOperationMaxConcurrencyKHR( 81 VkDevice device, 82 VkDeferredOperationKHR operation); 83 84 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeferredOperationResultKHR( 85 VkDevice device, 86 VkDeferredOperationKHR operation); 87 88 VKAPI_ATTR VkResult VKAPI_CALL vkDeferredOperationJoinKHR( 89 VkDevice device, 90 VkDeferredOperationKHR operation); 91 #endif 92 93 94 #define VK_KHR_pipeline_library 1 95 #define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1 96 #define VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME "VK_KHR_pipeline_library" 97 typedef struct VkPipelineLibraryCreateInfoKHR { 98 VkStructureType sType; 99 const void* pNext; 100 uint32_t libraryCount; 101 const VkPipeline* pLibraries; 102 } VkPipelineLibraryCreateInfoKHR; 103 104 105 106 #define VK_KHR_ray_tracing 1 107 #define VK_KHR_RAY_TRACING_SPEC_VERSION 8 108 #define VK_KHR_RAY_TRACING_EXTENSION_NAME "VK_KHR_ray_tracing" 109 110 typedef enum VkAccelerationStructureBuildTypeKHR { 111 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0, 112 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1, 113 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR = 2, 114 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 115 } VkAccelerationStructureBuildTypeKHR; 116 typedef union VkDeviceOrHostAddressKHR { 117 VkDeviceAddress deviceAddress; 118 void* hostAddress; 119 } VkDeviceOrHostAddressKHR; 120 121 typedef union VkDeviceOrHostAddressConstKHR { 122 VkDeviceAddress deviceAddress; 123 const void* hostAddress; 124 } VkDeviceOrHostAddressConstKHR; 125 126 typedef struct VkAccelerationStructureBuildOffsetInfoKHR { 127 uint32_t primitiveCount; 128 uint32_t primitiveOffset; 129 uint32_t firstVertex; 130 uint32_t transformOffset; 131 } VkAccelerationStructureBuildOffsetInfoKHR; 132 133 typedef struct VkRayTracingShaderGroupCreateInfoKHR { 134 VkStructureType sType; 135 const void* pNext; 136 VkRayTracingShaderGroupTypeKHR type; 137 uint32_t generalShader; 138 uint32_t closestHitShader; 139 uint32_t anyHitShader; 140 uint32_t intersectionShader; 141 const void* pShaderGroupCaptureReplayHandle; 142 } VkRayTracingShaderGroupCreateInfoKHR; 143 144 typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR { 145 VkStructureType sType; 146 const void* pNext; 147 uint32_t maxPayloadSize; 148 uint32_t maxAttributeSize; 149 uint32_t maxCallableSize; 150 } VkRayTracingPipelineInterfaceCreateInfoKHR; 151 152 typedef struct VkRayTracingPipelineCreateInfoKHR { 153 VkStructureType sType; 154 const void* pNext; 155 VkPipelineCreateFlags flags; 156 uint32_t stageCount; 157 const VkPipelineShaderStageCreateInfo* pStages; 158 uint32_t groupCount; 159 const VkRayTracingShaderGroupCreateInfoKHR* pGroups; 160 uint32_t maxRecursionDepth; 161 VkPipelineLibraryCreateInfoKHR libraries; 162 const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface; 163 VkPipelineLayout layout; 164 VkPipeline basePipelineHandle; 165 int32_t basePipelineIndex; 166 } VkRayTracingPipelineCreateInfoKHR; 167 168 typedef struct VkAccelerationStructureGeometryTrianglesDataKHR { 169 VkStructureType sType; 170 const void* pNext; 171 VkFormat vertexFormat; 172 VkDeviceOrHostAddressConstKHR vertexData; 173 VkDeviceSize vertexStride; 174 VkIndexType indexType; 175 VkDeviceOrHostAddressConstKHR indexData; 176 VkDeviceOrHostAddressConstKHR transformData; 177 } VkAccelerationStructureGeometryTrianglesDataKHR; 178 179 typedef struct VkAccelerationStructureGeometryAabbsDataKHR { 180 VkStructureType sType; 181 const void* pNext; 182 VkDeviceOrHostAddressConstKHR data; 183 VkDeviceSize stride; 184 } VkAccelerationStructureGeometryAabbsDataKHR; 185 186 typedef struct VkAccelerationStructureGeometryInstancesDataKHR { 187 VkStructureType sType; 188 const void* pNext; 189 VkBool32 arrayOfPointers; 190 VkDeviceOrHostAddressConstKHR data; 191 } VkAccelerationStructureGeometryInstancesDataKHR; 192 193 typedef union VkAccelerationStructureGeometryDataKHR { 194 VkAccelerationStructureGeometryTrianglesDataKHR triangles; 195 VkAccelerationStructureGeometryAabbsDataKHR aabbs; 196 VkAccelerationStructureGeometryInstancesDataKHR instances; 197 } VkAccelerationStructureGeometryDataKHR; 198 199 typedef struct VkAccelerationStructureGeometryKHR { 200 VkStructureType sType; 201 const void* pNext; 202 VkGeometryTypeKHR geometryType; 203 VkAccelerationStructureGeometryDataKHR geometry; 204 VkGeometryFlagsKHR flags; 205 } VkAccelerationStructureGeometryKHR; 206 207 typedef struct VkAccelerationStructureBuildGeometryInfoKHR { 208 VkStructureType sType; 209 const void* pNext; 210 VkAccelerationStructureTypeKHR type; 211 VkBuildAccelerationStructureFlagsKHR flags; 212 VkBool32 update; 213 VkAccelerationStructureKHR srcAccelerationStructure; 214 VkAccelerationStructureKHR dstAccelerationStructure; 215 VkBool32 geometryArrayOfPointers; 216 uint32_t geometryCount; 217 const VkAccelerationStructureGeometryKHR* const* ppGeometries; 218 VkDeviceOrHostAddressKHR scratchData; 219 } VkAccelerationStructureBuildGeometryInfoKHR; 220 221 typedef struct VkAccelerationStructureCreateGeometryTypeInfoKHR { 222 VkStructureType sType; 223 const void* pNext; 224 VkGeometryTypeKHR geometryType; 225 uint32_t maxPrimitiveCount; 226 VkIndexType indexType; 227 uint32_t maxVertexCount; 228 VkFormat vertexFormat; 229 VkBool32 allowsTransforms; 230 } VkAccelerationStructureCreateGeometryTypeInfoKHR; 231 232 typedef struct VkAccelerationStructureCreateInfoKHR { 233 VkStructureType sType; 234 const void* pNext; 235 VkDeviceSize compactedSize; 236 VkAccelerationStructureTypeKHR type; 237 VkBuildAccelerationStructureFlagsKHR flags; 238 uint32_t maxGeometryCount; 239 const VkAccelerationStructureCreateGeometryTypeInfoKHR* pGeometryInfos; 240 VkDeviceAddress deviceAddress; 241 } VkAccelerationStructureCreateInfoKHR; 242 243 typedef struct VkAccelerationStructureMemoryRequirementsInfoKHR { 244 VkStructureType sType; 245 const void* pNext; 246 VkAccelerationStructureMemoryRequirementsTypeKHR type; 247 VkAccelerationStructureBuildTypeKHR buildType; 248 VkAccelerationStructureKHR accelerationStructure; 249 } VkAccelerationStructureMemoryRequirementsInfoKHR; 250 251 typedef struct VkPhysicalDeviceRayTracingFeaturesKHR { 252 VkStructureType sType; 253 void* pNext; 254 VkBool32 rayTracing; 255 VkBool32 rayTracingShaderGroupHandleCaptureReplay; 256 VkBool32 rayTracingShaderGroupHandleCaptureReplayMixed; 257 VkBool32 rayTracingAccelerationStructureCaptureReplay; 258 VkBool32 rayTracingIndirectTraceRays; 259 VkBool32 rayTracingIndirectAccelerationStructureBuild; 260 VkBool32 rayTracingHostAccelerationStructureCommands; 261 VkBool32 rayQuery; 262 VkBool32 rayTracingPrimitiveCulling; 263 } VkPhysicalDeviceRayTracingFeaturesKHR; 264 265 typedef struct VkPhysicalDeviceRayTracingPropertiesKHR { 266 VkStructureType sType; 267 void* pNext; 268 uint32_t shaderGroupHandleSize; 269 uint32_t maxRecursionDepth; 270 uint32_t maxShaderGroupStride; 271 uint32_t shaderGroupBaseAlignment; 272 uint64_t maxGeometryCount; 273 uint64_t maxInstanceCount; 274 uint64_t maxPrimitiveCount; 275 uint32_t maxDescriptorSetAccelerationStructures; 276 uint32_t shaderGroupHandleCaptureReplaySize; 277 } VkPhysicalDeviceRayTracingPropertiesKHR; 278 279 typedef struct VkAccelerationStructureDeviceAddressInfoKHR { 280 VkStructureType sType; 281 const void* pNext; 282 VkAccelerationStructureKHR accelerationStructure; 283 } VkAccelerationStructureDeviceAddressInfoKHR; 284 285 typedef struct VkAccelerationStructureVersionKHR { 286 VkStructureType sType; 287 const void* pNext; 288 const uint8_t* versionData; 289 } VkAccelerationStructureVersionKHR; 290 291 typedef struct VkStridedBufferRegionKHR { 292 VkBuffer buffer; 293 VkDeviceSize offset; 294 VkDeviceSize stride; 295 VkDeviceSize size; 296 } VkStridedBufferRegionKHR; 297 298 typedef struct VkTraceRaysIndirectCommandKHR { 299 uint32_t width; 300 uint32_t height; 301 uint32_t depth; 302 } VkTraceRaysIndirectCommandKHR; 303 304 typedef struct VkCopyAccelerationStructureToMemoryInfoKHR { 305 VkStructureType sType; 306 const void* pNext; 307 VkAccelerationStructureKHR src; 308 VkDeviceOrHostAddressKHR dst; 309 VkCopyAccelerationStructureModeKHR mode; 310 } VkCopyAccelerationStructureToMemoryInfoKHR; 311 312 typedef struct VkCopyMemoryToAccelerationStructureInfoKHR { 313 VkStructureType sType; 314 const void* pNext; 315 VkDeviceOrHostAddressConstKHR src; 316 VkAccelerationStructureKHR dst; 317 VkCopyAccelerationStructureModeKHR mode; 318 } VkCopyMemoryToAccelerationStructureInfoKHR; 319 320 typedef struct VkCopyAccelerationStructureInfoKHR { 321 VkStructureType sType; 322 const void* pNext; 323 VkAccelerationStructureKHR src; 324 VkAccelerationStructureKHR dst; 325 VkCopyAccelerationStructureModeKHR mode; 326 } VkCopyAccelerationStructureInfoKHR; 327 328 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureKHR)(VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure); 329 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsKHR)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoKHR* pInfo, VkMemoryRequirements2* pMemoryRequirements); 330 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructureKHR)(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildOffsetInfoKHR* const* ppOffsetInfos); 331 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructureIndirectKHR)(VkCommandBuffer commandBuffer, const VkAccelerationStructureBuildGeometryInfoKHR* pInfo, VkBuffer indirectBuffer, VkDeviceSize indirectOffset, uint32_t indirectStride); 332 typedef VkResult (VKAPI_PTR *PFN_vkBuildAccelerationStructureKHR)(VkDevice device, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildOffsetInfoKHR* const* ppOffsetInfos); 333 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureKHR)(VkDevice device, const VkCopyAccelerationStructureInfoKHR* pInfo); 334 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureToMemoryKHR)(VkDevice device, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); 335 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToAccelerationStructureKHR)(VkDevice device, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); 336 typedef VkResult (VKAPI_PTR *PFN_vkWriteAccelerationStructuresPropertiesKHR)(VkDevice device, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, size_t dataSize, void* pData, size_t stride); 337 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo); 338 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureToMemoryKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); 339 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); 340 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysKHR)(VkCommandBuffer commandBuffer, const VkStridedBufferRegionKHR* pRaygenShaderBindingTable, const VkStridedBufferRegionKHR* pMissShaderBindingTable, const VkStridedBufferRegionKHR* pHitShaderBindingTable, const VkStridedBufferRegionKHR* pCallableShaderBindingTable, uint32_t width, uint32_t height, uint32_t depth); 341 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesKHR)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 342 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetAccelerationStructureDeviceAddressKHR)(VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo); 343 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData); 344 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirectKHR)(VkCommandBuffer commandBuffer, const VkStridedBufferRegionKHR* pRaygenShaderBindingTable, const VkStridedBufferRegionKHR* pMissShaderBindingTable, const VkStridedBufferRegionKHR* pHitShaderBindingTable, const VkStridedBufferRegionKHR* pCallableShaderBindingTable, VkBuffer buffer, VkDeviceSize offset); 345 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)(VkDevice device, const VkAccelerationStructureVersionKHR* version); 346 347 #ifndef VK_NO_PROTOTYPES 348 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureKHR( 349 VkDevice device, 350 const VkAccelerationStructureCreateInfoKHR* pCreateInfo, 351 const VkAllocationCallbacks* pAllocator, 352 VkAccelerationStructureKHR* pAccelerationStructure); 353 354 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsKHR( 355 VkDevice device, 356 const VkAccelerationStructureMemoryRequirementsInfoKHR* pInfo, 357 VkMemoryRequirements2* pMemoryRequirements); 358 359 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureKHR( 360 VkCommandBuffer commandBuffer, 361 uint32_t infoCount, 362 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, 363 const VkAccelerationStructureBuildOffsetInfoKHR* const* ppOffsetInfos); 364 365 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureIndirectKHR( 366 VkCommandBuffer commandBuffer, 367 const VkAccelerationStructureBuildGeometryInfoKHR* pInfo, 368 VkBuffer indirectBuffer, 369 VkDeviceSize indirectOffset, 370 uint32_t indirectStride); 371 372 VKAPI_ATTR VkResult VKAPI_CALL vkBuildAccelerationStructureKHR( 373 VkDevice device, 374 uint32_t infoCount, 375 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, 376 const VkAccelerationStructureBuildOffsetInfoKHR* const* ppOffsetInfos); 377 378 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureKHR( 379 VkDevice device, 380 const VkCopyAccelerationStructureInfoKHR* pInfo); 381 382 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureToMemoryKHR( 383 VkDevice device, 384 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); 385 386 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToAccelerationStructureKHR( 387 VkDevice device, 388 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); 389 390 VKAPI_ATTR VkResult VKAPI_CALL vkWriteAccelerationStructuresPropertiesKHR( 391 VkDevice device, 392 uint32_t accelerationStructureCount, 393 const VkAccelerationStructureKHR* pAccelerationStructures, 394 VkQueryType queryType, 395 size_t dataSize, 396 void* pData, 397 size_t stride); 398 399 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureKHR( 400 VkCommandBuffer commandBuffer, 401 const VkCopyAccelerationStructureInfoKHR* pInfo); 402 403 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureToMemoryKHR( 404 VkCommandBuffer commandBuffer, 405 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); 406 407 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToAccelerationStructureKHR( 408 VkCommandBuffer commandBuffer, 409 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); 410 411 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysKHR( 412 VkCommandBuffer commandBuffer, 413 const VkStridedBufferRegionKHR* pRaygenShaderBindingTable, 414 const VkStridedBufferRegionKHR* pMissShaderBindingTable, 415 const VkStridedBufferRegionKHR* pHitShaderBindingTable, 416 const VkStridedBufferRegionKHR* pCallableShaderBindingTable, 417 uint32_t width, 418 uint32_t height, 419 uint32_t depth); 420 421 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesKHR( 422 VkDevice device, 423 VkPipelineCache pipelineCache, 424 uint32_t createInfoCount, 425 const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, 426 const VkAllocationCallbacks* pAllocator, 427 VkPipeline* pPipelines); 428 429 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetAccelerationStructureDeviceAddressKHR( 430 VkDevice device, 431 const VkAccelerationStructureDeviceAddressInfoKHR* pInfo); 432 433 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( 434 VkDevice device, 435 VkPipeline pipeline, 436 uint32_t firstGroup, 437 uint32_t groupCount, 438 size_t dataSize, 439 void* pData); 440 441 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirectKHR( 442 VkCommandBuffer commandBuffer, 443 const VkStridedBufferRegionKHR* pRaygenShaderBindingTable, 444 const VkStridedBufferRegionKHR* pMissShaderBindingTable, 445 const VkStridedBufferRegionKHR* pHitShaderBindingTable, 446 const VkStridedBufferRegionKHR* pCallableShaderBindingTable, 447 VkBuffer buffer, 448 VkDeviceSize offset); 449 450 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceAccelerationStructureCompatibilityKHR( 451 VkDevice device, 452 const VkAccelerationStructureVersionKHR* version); 453 #endif 454 455 #ifdef __cplusplus 456 } 457 #endif 458 459 #endif 460