7380e39fe13810ddf25a3959c58a11070d129507
[mesa.git] / include / vulkan / vulkan_beta.h
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