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