mirror of
https://github.com/RetroDECK/Duckstation.git
synced 2024-12-11 06:55:38 +00:00
439 lines
23 KiB
C
439 lines
23 KiB
C
|
#ifndef VULKAN_BETA_H_
|
||
|
#define VULKAN_BETA_H_ 1
|
||
|
|
||
|
/*
|
||
|
** Copyright (c) 2015-2020 The Khronos Group Inc.
|
||
|
**
|
||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||
|
** you may not use this file except in compliance with the License.
|
||
|
** You may obtain a copy of the License at
|
||
|
**
|
||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||
|
**
|
||
|
** Unless required by applicable law or agreed to in writing, software
|
||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
|
** See the License for the specific language governing permissions and
|
||
|
** limitations under the License.
|
||
|
*/
|
||
|
|
||
|
/*
|
||
|
** This header is generated from the Khronos Vulkan XML API Registry.
|
||
|
**
|
||
|
*/
|
||
|
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
|
||
|
|
||
|
#define VK_KHR_deferred_host_operations 1
|
||
|
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR)
|
||
|
#define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 2
|
||
|
#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
|