|
@@ -0,0 +1,459 @@
|
|
|
+#ifndef VULKAN_BETA_H_
|
|
|
+#define VULKAN_BETA_H_ 1
|
|
|
+
|
|
|
+/*
|
|
|
+** Copyright (c) 2015-2020 The Khronos Group Inc.
|
|
|
+**
|
|
|
+** SPDX-License-Identifier: Apache-2.0
|
|
|
+*/
|
|
|
+
|
|
|
+/*
|
|
|
+** This header is generated from the Khronos Vulkan XML API Registry.
|
|
|
+**
|
|
|
+*/
|
|
|
+
|
|
|
+
|
|
|
+#ifdef __cplusplus
|
|
|
+extern "C" {
|
|
|
+#endif
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+#define VK_KHR_portability_subset 1
|
|
|
+#define VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION 1
|
|
|
+#define VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME "VK_KHR_portability_subset"
|
|
|
+typedef struct VkPhysicalDevicePortabilitySubsetFeaturesKHR {
|
|
|
+ VkStructureType sType;
|
|
|
+ void* pNext;
|
|
|
+ VkBool32 constantAlphaColorBlendFactors;
|
|
|
+ VkBool32 events;
|
|
|
+ VkBool32 imageViewFormatReinterpretation;
|
|
|
+ VkBool32 imageViewFormatSwizzle;
|
|
|
+ VkBool32 imageView2DOn3DImage;
|
|
|
+ VkBool32 multisampleArrayImage;
|
|
|
+ VkBool32 mutableComparisonSamplers;
|
|
|
+ VkBool32 pointPolygons;
|
|
|
+ VkBool32 samplerMipLodBias;
|
|
|
+ VkBool32 separateStencilMaskRef;
|
|
|
+ VkBool32 shaderSampleRateInterpolationFunctions;
|
|
|
+ VkBool32 tessellationIsolines;
|
|
|
+ VkBool32 tessellationPointMode;
|
|
|
+ VkBool32 triangleFans;
|
|
|
+ VkBool32 vertexAttributeAccessBeyondStride;
|
|
|
+} VkPhysicalDevicePortabilitySubsetFeaturesKHR;
|
|
|
+
|
|
|
+typedef struct VkPhysicalDevicePortabilitySubsetPropertiesKHR {
|
|
|
+ VkStructureType sType;
|
|
|
+ void* pNext;
|
|
|
+ uint32_t minVertexInputBindingStrideAlignment;
|
|
|
+} VkPhysicalDevicePortabilitySubsetPropertiesKHR;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+#define VK_KHR_deferred_host_operations 1
|
|
|
+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR)
|
|
|
+#define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 3
|
|
|
+#define VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME "VK_KHR_deferred_host_operations"
|
|
|
+typedef struct VkDeferredOperationInfoKHR {
|
|
|
+ VkStructureType sType;
|
|
|
+ const void* pNext;
|
|
|
+ VkDeferredOperationKHR operationHandle;
|
|
|
+} VkDeferredOperationInfoKHR;
|
|
|
+
|
|
|
+typedef VkResult (VKAPI_PTR *PFN_vkCreateDeferredOperationKHR)(VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation);
|
|
|
+typedef void (VKAPI_PTR *PFN_vkDestroyDeferredOperationKHR)(VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator);
|
|
|
+typedef uint32_t (VKAPI_PTR *PFN_vkGetDeferredOperationMaxConcurrencyKHR)(VkDevice device, VkDeferredOperationKHR operation);
|
|
|
+typedef VkResult (VKAPI_PTR *PFN_vkGetDeferredOperationResultKHR)(VkDevice device, VkDeferredOperationKHR operation);
|
|
|
+typedef VkResult (VKAPI_PTR *PFN_vkDeferredOperationJoinKHR)(VkDevice device, VkDeferredOperationKHR operation);
|
|
|
+
|
|
|
+#ifndef VK_NO_PROTOTYPES
|
|
|
+VKAPI_ATTR VkResult VKAPI_CALL vkCreateDeferredOperationKHR(
|
|
|
+ VkDevice device,
|
|
|
+ const VkAllocationCallbacks* pAllocator,
|
|
|
+ VkDeferredOperationKHR* pDeferredOperation);
|
|
|
+
|
|
|
+VKAPI_ATTR void VKAPI_CALL vkDestroyDeferredOperationKHR(
|
|
|
+ VkDevice device,
|
|
|
+ VkDeferredOperationKHR operation,
|
|
|
+ const VkAllocationCallbacks* pAllocator);
|
|
|
+
|
|
|
+VKAPI_ATTR uint32_t VKAPI_CALL vkGetDeferredOperationMaxConcurrencyKHR(
|
|
|
+ VkDevice device,
|
|
|
+ VkDeferredOperationKHR operation);
|
|
|
+
|
|
|
+VKAPI_ATTR VkResult VKAPI_CALL vkGetDeferredOperationResultKHR(
|
|
|
+ VkDevice device,
|
|
|
+ VkDeferredOperationKHR operation);
|
|
|
+
|
|
|
+VKAPI_ATTR VkResult VKAPI_CALL vkDeferredOperationJoinKHR(
|
|
|
+ VkDevice device,
|
|
|
+ VkDeferredOperationKHR operation);
|
|
|
+#endif
|
|
|
+
|
|
|
+
|
|
|
+#define VK_KHR_pipeline_library 1
|
|
|
+#define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1
|
|
|
+#define VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME "VK_KHR_pipeline_library"
|
|
|
+typedef struct VkPipelineLibraryCreateInfoKHR {
|
|
|
+ VkStructureType sType;
|
|
|
+ const void* pNext;
|
|
|
+ uint32_t libraryCount;
|
|
|
+ const VkPipeline* pLibraries;
|
|
|
+} VkPipelineLibraryCreateInfoKHR;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+#define VK_KHR_ray_tracing 1
|
|
|
+#define VK_KHR_RAY_TRACING_SPEC_VERSION 8
|
|
|
+#define VK_KHR_RAY_TRACING_EXTENSION_NAME "VK_KHR_ray_tracing"
|
|
|
+
|
|
|
+typedef enum VkAccelerationStructureBuildTypeKHR {
|
|
|
+ VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0,
|
|
|
+ VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1,
|
|
|
+ VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR = 2,
|
|
|
+ VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
|
|
|
+} VkAccelerationStructureBuildTypeKHR;
|
|
|
+typedef union VkDeviceOrHostAddressKHR {
|
|
|
+ VkDeviceAddress deviceAddress;
|
|
|
+ void* hostAddress;
|
|
|
+} VkDeviceOrHostAddressKHR;
|
|
|
+
|
|
|
+typedef union VkDeviceOrHostAddressConstKHR {
|
|
|
+ VkDeviceAddress deviceAddress;
|
|
|
+ const void* hostAddress;
|
|
|
+} VkDeviceOrHostAddressConstKHR;
|
|
|
+
|
|
|
+typedef struct VkAccelerationStructureBuildOffsetInfoKHR {
|
|
|
+ uint32_t primitiveCount;
|
|
|
+ uint32_t primitiveOffset;
|
|
|
+ uint32_t firstVertex;
|
|
|
+ uint32_t transformOffset;
|
|
|
+} VkAccelerationStructureBuildOffsetInfoKHR;
|
|
|
+
|
|
|
+typedef struct VkRayTracingShaderGroupCreateInfoKHR {
|
|
|
+ VkStructureType sType;
|
|
|
+ const void* pNext;
|
|
|
+ VkRayTracingShaderGroupTypeKHR type;
|
|
|
+ uint32_t generalShader;
|
|
|
+ uint32_t closestHitShader;
|
|
|
+ uint32_t anyHitShader;
|
|
|
+ uint32_t intersectionShader;
|
|
|
+ const void* pShaderGroupCaptureReplayHandle;
|
|
|
+} VkRayTracingShaderGroupCreateInfoKHR;
|
|
|
+
|
|
|
+typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR {
|
|
|
+ VkStructureType sType;
|
|
|
+ const void* pNext;
|
|
|
+ uint32_t maxPayloadSize;
|
|
|
+ uint32_t maxAttributeSize;
|
|
|
+ uint32_t maxCallableSize;
|
|
|
+} VkRayTracingPipelineInterfaceCreateInfoKHR;
|
|
|
+
|
|
|
+typedef struct VkRayTracingPipelineCreateInfoKHR {
|
|
|
+ VkStructureType sType;
|
|
|
+ const void* pNext;
|
|
|
+ VkPipelineCreateFlags flags;
|
|
|
+ uint32_t stageCount;
|
|
|
+ const VkPipelineShaderStageCreateInfo* pStages;
|
|
|
+ uint32_t groupCount;
|
|
|
+ const VkRayTracingShaderGroupCreateInfoKHR* pGroups;
|
|
|
+ uint32_t maxRecursionDepth;
|
|
|
+ VkPipelineLibraryCreateInfoKHR libraries;
|
|
|
+ const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface;
|
|
|
+ VkPipelineLayout layout;
|
|
|
+ VkPipeline basePipelineHandle;
|
|
|
+ int32_t basePipelineIndex;
|
|
|
+} VkRayTracingPipelineCreateInfoKHR;
|
|
|
+
|
|
|
+typedef struct VkAccelerationStructureGeometryTrianglesDataKHR {
|
|
|
+ VkStructureType sType;
|
|
|
+ const void* pNext;
|
|
|
+ VkFormat vertexFormat;
|
|
|
+ VkDeviceOrHostAddressConstKHR vertexData;
|
|
|
+ VkDeviceSize vertexStride;
|
|
|
+ VkIndexType indexType;
|
|
|
+ VkDeviceOrHostAddressConstKHR indexData;
|
|
|
+ VkDeviceOrHostAddressConstKHR transformData;
|
|
|
+} VkAccelerationStructureGeometryTrianglesDataKHR;
|
|
|
+
|
|
|
+typedef struct VkAccelerationStructureGeometryAabbsDataKHR {
|
|
|
+ VkStructureType sType;
|
|
|
+ const void* pNext;
|
|
|
+ VkDeviceOrHostAddressConstKHR data;
|
|
|
+ VkDeviceSize stride;
|
|
|
+} VkAccelerationStructureGeometryAabbsDataKHR;
|
|
|
+
|
|
|
+typedef struct VkAccelerationStructureGeometryInstancesDataKHR {
|
|
|
+ VkStructureType sType;
|
|
|
+ const void* pNext;
|
|
|
+ VkBool32 arrayOfPointers;
|
|
|
+ VkDeviceOrHostAddressConstKHR data;
|
|
|
+} VkAccelerationStructureGeometryInstancesDataKHR;
|
|
|
+
|
|
|
+typedef union VkAccelerationStructureGeometryDataKHR {
|
|
|
+ VkAccelerationStructureGeometryTrianglesDataKHR triangles;
|
|
|
+ VkAccelerationStructureGeometryAabbsDataKHR aabbs;
|
|
|
+ VkAccelerationStructureGeometryInstancesDataKHR instances;
|
|
|
+} VkAccelerationStructureGeometryDataKHR;
|
|
|
+
|
|
|
+typedef struct VkAccelerationStructureGeometryKHR {
|
|
|
+ VkStructureType sType;
|
|
|
+ const void* pNext;
|
|
|
+ VkGeometryTypeKHR geometryType;
|
|
|
+ VkAccelerationStructureGeometryDataKHR geometry;
|
|
|
+ VkGeometryFlagsKHR flags;
|
|
|
+} VkAccelerationStructureGeometryKHR;
|
|
|
+
|
|
|
+typedef struct VkAccelerationStructureBuildGeometryInfoKHR {
|
|
|
+ VkStructureType sType;
|
|
|
+ const void* pNext;
|
|
|
+ VkAccelerationStructureTypeKHR type;
|
|
|
+ VkBuildAccelerationStructureFlagsKHR flags;
|
|
|
+ VkBool32 update;
|
|
|
+ VkAccelerationStructureKHR srcAccelerationStructure;
|
|
|
+ VkAccelerationStructureKHR dstAccelerationStructure;
|
|
|
+ VkBool32 geometryArrayOfPointers;
|
|
|
+ uint32_t geometryCount;
|
|
|
+ const VkAccelerationStructureGeometryKHR* const* ppGeometries;
|
|
|
+ VkDeviceOrHostAddressKHR scratchData;
|
|
|
+} VkAccelerationStructureBuildGeometryInfoKHR;
|
|
|
+
|
|
|
+typedef struct VkAccelerationStructureCreateGeometryTypeInfoKHR {
|
|
|
+ VkStructureType sType;
|
|
|
+ const void* pNext;
|
|
|
+ VkGeometryTypeKHR geometryType;
|
|
|
+ uint32_t maxPrimitiveCount;
|
|
|
+ VkIndexType indexType;
|
|
|
+ uint32_t maxVertexCount;
|
|
|
+ VkFormat vertexFormat;
|
|
|
+ VkBool32 allowsTransforms;
|
|
|
+} VkAccelerationStructureCreateGeometryTypeInfoKHR;
|
|
|
+
|
|
|
+typedef struct VkAccelerationStructureCreateInfoKHR {
|
|
|
+ VkStructureType sType;
|
|
|
+ const void* pNext;
|
|
|
+ VkDeviceSize compactedSize;
|
|
|
+ VkAccelerationStructureTypeKHR type;
|
|
|
+ VkBuildAccelerationStructureFlagsKHR flags;
|
|
|
+ uint32_t maxGeometryCount;
|
|
|
+ const VkAccelerationStructureCreateGeometryTypeInfoKHR* pGeometryInfos;
|
|
|
+ VkDeviceAddress deviceAddress;
|
|
|
+} VkAccelerationStructureCreateInfoKHR;
|
|
|
+
|
|
|
+typedef struct VkAccelerationStructureMemoryRequirementsInfoKHR {
|
|
|
+ VkStructureType sType;
|
|
|
+ const void* pNext;
|
|
|
+ VkAccelerationStructureMemoryRequirementsTypeKHR type;
|
|
|
+ VkAccelerationStructureBuildTypeKHR buildType;
|
|
|
+ VkAccelerationStructureKHR accelerationStructure;
|
|
|
+} VkAccelerationStructureMemoryRequirementsInfoKHR;
|
|
|
+
|
|
|
+typedef struct VkPhysicalDeviceRayTracingFeaturesKHR {
|
|
|
+ VkStructureType sType;
|
|
|
+ void* pNext;
|
|
|
+ VkBool32 rayTracing;
|
|
|
+ VkBool32 rayTracingShaderGroupHandleCaptureReplay;
|
|
|
+ VkBool32 rayTracingShaderGroupHandleCaptureReplayMixed;
|
|
|
+ VkBool32 rayTracingAccelerationStructureCaptureReplay;
|
|
|
+ VkBool32 rayTracingIndirectTraceRays;
|
|
|
+ VkBool32 rayTracingIndirectAccelerationStructureBuild;
|
|
|
+ VkBool32 rayTracingHostAccelerationStructureCommands;
|
|
|
+ VkBool32 rayQuery;
|
|
|
+ VkBool32 rayTracingPrimitiveCulling;
|
|
|
+} VkPhysicalDeviceRayTracingFeaturesKHR;
|
|
|
+
|
|
|
+typedef struct VkPhysicalDeviceRayTracingPropertiesKHR {
|
|
|
+ VkStructureType sType;
|
|
|
+ void* pNext;
|
|
|
+ uint32_t shaderGroupHandleSize;
|
|
|
+ uint32_t maxRecursionDepth;
|
|
|
+ uint32_t maxShaderGroupStride;
|
|
|
+ uint32_t shaderGroupBaseAlignment;
|
|
|
+ uint64_t maxGeometryCount;
|
|
|
+ uint64_t maxInstanceCount;
|
|
|
+ uint64_t maxPrimitiveCount;
|
|
|
+ uint32_t maxDescriptorSetAccelerationStructures;
|
|
|
+ uint32_t shaderGroupHandleCaptureReplaySize;
|
|
|
+} VkPhysicalDeviceRayTracingPropertiesKHR;
|
|
|
+
|
|
|
+typedef struct VkAccelerationStructureDeviceAddressInfoKHR {
|
|
|
+ VkStructureType sType;
|
|
|
+ const void* pNext;
|
|
|
+ VkAccelerationStructureKHR accelerationStructure;
|
|
|
+} VkAccelerationStructureDeviceAddressInfoKHR;
|
|
|
+
|
|
|
+typedef struct VkAccelerationStructureVersionKHR {
|
|
|
+ VkStructureType sType;
|
|
|
+ const void* pNext;
|
|
|
+ const uint8_t* versionData;
|
|
|
+} VkAccelerationStructureVersionKHR;
|
|
|
+
|
|
|
+typedef struct VkStridedBufferRegionKHR {
|
|
|
+ VkBuffer buffer;
|
|
|
+ VkDeviceSize offset;
|
|
|
+ VkDeviceSize stride;
|
|
|
+ VkDeviceSize size;
|
|
|
+} VkStridedBufferRegionKHR;
|
|
|
+
|
|
|
+typedef struct VkTraceRaysIndirectCommandKHR {
|
|
|
+ uint32_t width;
|
|
|
+ uint32_t height;
|
|
|
+ uint32_t depth;
|
|
|
+} VkTraceRaysIndirectCommandKHR;
|
|
|
+
|
|
|
+typedef struct VkCopyAccelerationStructureToMemoryInfoKHR {
|
|
|
+ VkStructureType sType;
|
|
|
+ const void* pNext;
|
|
|
+ VkAccelerationStructureKHR src;
|
|
|
+ VkDeviceOrHostAddressKHR dst;
|
|
|
+ VkCopyAccelerationStructureModeKHR mode;
|
|
|
+} VkCopyAccelerationStructureToMemoryInfoKHR;
|
|
|
+
|
|
|
+typedef struct VkCopyMemoryToAccelerationStructureInfoKHR {
|
|
|
+ VkStructureType sType;
|
|
|
+ const void* pNext;
|
|
|
+ VkDeviceOrHostAddressConstKHR src;
|
|
|
+ VkAccelerationStructureKHR dst;
|
|
|
+ VkCopyAccelerationStructureModeKHR mode;
|
|
|
+} VkCopyMemoryToAccelerationStructureInfoKHR;
|
|
|
+
|
|
|
+typedef struct VkCopyAccelerationStructureInfoKHR {
|
|
|
+ VkStructureType sType;
|
|
|
+ const void* pNext;
|
|
|
+ VkAccelerationStructureKHR src;
|
|
|
+ VkAccelerationStructureKHR dst;
|
|
|
+ VkCopyAccelerationStructureModeKHR mode;
|
|
|
+} VkCopyAccelerationStructureInfoKHR;
|
|
|
+
|
|
|
+typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureKHR)(VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure);
|
|
|
+typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsKHR)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoKHR* pInfo, VkMemoryRequirements2* pMemoryRequirements);
|
|
|
+typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructureKHR)(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildOffsetInfoKHR* const* ppOffsetInfos);
|
|
|
+typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructureIndirectKHR)(VkCommandBuffer commandBuffer, const VkAccelerationStructureBuildGeometryInfoKHR* pInfo, VkBuffer indirectBuffer, VkDeviceSize indirectOffset, uint32_t indirectStride);
|
|
|
+typedef VkResult (VKAPI_PTR *PFN_vkBuildAccelerationStructureKHR)(VkDevice device, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildOffsetInfoKHR* const* ppOffsetInfos);
|
|
|
+typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureKHR)(VkDevice device, const VkCopyAccelerationStructureInfoKHR* pInfo);
|
|
|
+typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureToMemoryKHR)(VkDevice device, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
|
|
|
+typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToAccelerationStructureKHR)(VkDevice device, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
|
|
|
+typedef VkResult (VKAPI_PTR *PFN_vkWriteAccelerationStructuresPropertiesKHR)(VkDevice device, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, size_t dataSize, void* pData, size_t stride);
|
|
|
+typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo);
|
|
|
+typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureToMemoryKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
|
|
|
+typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
|
|
|
+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);
|
|
|
+typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesKHR)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
|
|
|
+typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetAccelerationStructureDeviceAddressKHR)(VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
|
|
|
+typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData);
|
|
|
+typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirectKHR)(VkCommandBuffer commandBuffer, const VkStridedBufferRegionKHR* pRaygenShaderBindingTable, const VkStridedBufferRegionKHR* pMissShaderBindingTable, const VkStridedBufferRegionKHR* pHitShaderBindingTable, const VkStridedBufferRegionKHR* pCallableShaderBindingTable, VkBuffer buffer, VkDeviceSize offset);
|
|
|
+typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)(VkDevice device, const VkAccelerationStructureVersionKHR* version);
|
|
|
+
|
|
|
+#ifndef VK_NO_PROTOTYPES
|
|
|
+VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureKHR(
|
|
|
+ VkDevice device,
|
|
|
+ const VkAccelerationStructureCreateInfoKHR* pCreateInfo,
|
|
|
+ const VkAllocationCallbacks* pAllocator,
|
|
|
+ VkAccelerationStructureKHR* pAccelerationStructure);
|
|
|
+
|
|
|
+VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsKHR(
|
|
|
+ VkDevice device,
|
|
|
+ const VkAccelerationStructureMemoryRequirementsInfoKHR* pInfo,
|
|
|
+ VkMemoryRequirements2* pMemoryRequirements);
|
|
|
+
|
|
|
+VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureKHR(
|
|
|
+ VkCommandBuffer commandBuffer,
|
|
|
+ uint32_t infoCount,
|
|
|
+ const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
|
|
|
+ const VkAccelerationStructureBuildOffsetInfoKHR* const* ppOffsetInfos);
|
|
|
+
|
|
|
+VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureIndirectKHR(
|
|
|
+ VkCommandBuffer commandBuffer,
|
|
|
+ const VkAccelerationStructureBuildGeometryInfoKHR* pInfo,
|
|
|
+ VkBuffer indirectBuffer,
|
|
|
+ VkDeviceSize indirectOffset,
|
|
|
+ uint32_t indirectStride);
|
|
|
+
|
|
|
+VKAPI_ATTR VkResult VKAPI_CALL vkBuildAccelerationStructureKHR(
|
|
|
+ VkDevice device,
|
|
|
+ uint32_t infoCount,
|
|
|
+ const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
|
|
|
+ const VkAccelerationStructureBuildOffsetInfoKHR* const* ppOffsetInfos);
|
|
|
+
|
|
|
+VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureKHR(
|
|
|
+ VkDevice device,
|
|
|
+ const VkCopyAccelerationStructureInfoKHR* pInfo);
|
|
|
+
|
|
|
+VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureToMemoryKHR(
|
|
|
+ VkDevice device,
|
|
|
+ const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
|
|
|
+
|
|
|
+VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToAccelerationStructureKHR(
|
|
|
+ VkDevice device,
|
|
|
+ const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
|
|
|
+
|
|
|
+VKAPI_ATTR VkResult VKAPI_CALL vkWriteAccelerationStructuresPropertiesKHR(
|
|
|
+ VkDevice device,
|
|
|
+ uint32_t accelerationStructureCount,
|
|
|
+ const VkAccelerationStructureKHR* pAccelerationStructures,
|
|
|
+ VkQueryType queryType,
|
|
|
+ size_t dataSize,
|
|
|
+ void* pData,
|
|
|
+ size_t stride);
|
|
|
+
|
|
|
+VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureKHR(
|
|
|
+ VkCommandBuffer commandBuffer,
|
|
|
+ const VkCopyAccelerationStructureInfoKHR* pInfo);
|
|
|
+
|
|
|
+VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureToMemoryKHR(
|
|
|
+ VkCommandBuffer commandBuffer,
|
|
|
+ const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
|
|
|
+
|
|
|
+VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToAccelerationStructureKHR(
|
|
|
+ VkCommandBuffer commandBuffer,
|
|
|
+ const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
|
|
|
+
|
|
|
+VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysKHR(
|
|
|
+ VkCommandBuffer commandBuffer,
|
|
|
+ const VkStridedBufferRegionKHR* pRaygenShaderBindingTable,
|
|
|
+ const VkStridedBufferRegionKHR* pMissShaderBindingTable,
|
|
|
+ const VkStridedBufferRegionKHR* pHitShaderBindingTable,
|
|
|
+ const VkStridedBufferRegionKHR* pCallableShaderBindingTable,
|
|
|
+ uint32_t width,
|
|
|
+ uint32_t height,
|
|
|
+ uint32_t depth);
|
|
|
+
|
|
|
+VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesKHR(
|
|
|
+ VkDevice device,
|
|
|
+ VkPipelineCache pipelineCache,
|
|
|
+ uint32_t createInfoCount,
|
|
|
+ const VkRayTracingPipelineCreateInfoKHR* pCreateInfos,
|
|
|
+ const VkAllocationCallbacks* pAllocator,
|
|
|
+ VkPipeline* pPipelines);
|
|
|
+
|
|
|
+VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetAccelerationStructureDeviceAddressKHR(
|
|
|
+ VkDevice device,
|
|
|
+ const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
|
|
|
+
|
|
|
+VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
|
|
|
+ VkDevice device,
|
|
|
+ VkPipeline pipeline,
|
|
|
+ uint32_t firstGroup,
|
|
|
+ uint32_t groupCount,
|
|
|
+ size_t dataSize,
|
|
|
+ void* pData);
|
|
|
+
|
|
|
+VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirectKHR(
|
|
|
+ VkCommandBuffer commandBuffer,
|
|
|
+ const VkStridedBufferRegionKHR* pRaygenShaderBindingTable,
|
|
|
+ const VkStridedBufferRegionKHR* pMissShaderBindingTable,
|
|
|
+ const VkStridedBufferRegionKHR* pHitShaderBindingTable,
|
|
|
+ const VkStridedBufferRegionKHR* pCallableShaderBindingTable,
|
|
|
+ VkBuffer buffer,
|
|
|
+ VkDeviceSize offset);
|
|
|
+
|
|
|
+VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceAccelerationStructureCompatibilityKHR(
|
|
|
+ VkDevice device,
|
|
|
+ const VkAccelerationStructureVersionKHR* version);
|
|
|
+#endif
|
|
|
+
|
|
|
+#ifdef __cplusplus
|
|
|
+}
|
|
|
+#endif
|
|
|
+
|
|
|
+#endif
|