| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375 |
- #ifndef VULKAN_BETA_H_
- #define VULKAN_BETA_H_ 1
- /*
- ** Copyright 2015-2025 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
- // VK_KHR_portability_subset is a preprocessor guard. Do not pass it to API calls.
- #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;
- // VK_AMDX_shader_enqueue is a preprocessor guard. Do not pass it to API calls.
- #define VK_AMDX_shader_enqueue 1
- #define VK_AMDX_SHADER_ENQUEUE_SPEC_VERSION 2
- #define VK_AMDX_SHADER_ENQUEUE_EXTENSION_NAME "VK_AMDX_shader_enqueue"
- #define VK_SHADER_INDEX_UNUSED_AMDX (~0U)
- typedef struct VkPhysicalDeviceShaderEnqueueFeaturesAMDX {
- VkStructureType sType;
- void* pNext;
- VkBool32 shaderEnqueue;
- VkBool32 shaderMeshEnqueue;
- } VkPhysicalDeviceShaderEnqueueFeaturesAMDX;
- typedef struct VkPhysicalDeviceShaderEnqueuePropertiesAMDX {
- VkStructureType sType;
- void* pNext;
- uint32_t maxExecutionGraphDepth;
- uint32_t maxExecutionGraphShaderOutputNodes;
- uint32_t maxExecutionGraphShaderPayloadSize;
- uint32_t maxExecutionGraphShaderPayloadCount;
- uint32_t executionGraphDispatchAddressAlignment;
- uint32_t maxExecutionGraphWorkgroupCount[3];
- uint32_t maxExecutionGraphWorkgroups;
- } VkPhysicalDeviceShaderEnqueuePropertiesAMDX;
- typedef struct VkExecutionGraphPipelineScratchSizeAMDX {
- VkStructureType sType;
- void* pNext;
- VkDeviceSize minSize;
- VkDeviceSize maxSize;
- VkDeviceSize sizeGranularity;
- } VkExecutionGraphPipelineScratchSizeAMDX;
- typedef struct VkExecutionGraphPipelineCreateInfoAMDX {
- VkStructureType sType;
- const void* pNext;
- VkPipelineCreateFlags flags;
- uint32_t stageCount;
- const VkPipelineShaderStageCreateInfo* pStages;
- const VkPipelineLibraryCreateInfoKHR* pLibraryInfo;
- VkPipelineLayout layout;
- VkPipeline basePipelineHandle;
- int32_t basePipelineIndex;
- } VkExecutionGraphPipelineCreateInfoAMDX;
- typedef union VkDeviceOrHostAddressConstAMDX {
- VkDeviceAddress deviceAddress;
- const void* hostAddress;
- } VkDeviceOrHostAddressConstAMDX;
- typedef struct VkDispatchGraphInfoAMDX {
- uint32_t nodeIndex;
- uint32_t payloadCount;
- VkDeviceOrHostAddressConstAMDX payloads;
- uint64_t payloadStride;
- } VkDispatchGraphInfoAMDX;
- typedef struct VkDispatchGraphCountInfoAMDX {
- uint32_t count;
- VkDeviceOrHostAddressConstAMDX infos;
- uint64_t stride;
- } VkDispatchGraphCountInfoAMDX;
- typedef struct VkPipelineShaderStageNodeCreateInfoAMDX {
- VkStructureType sType;
- const void* pNext;
- const char* pName;
- uint32_t index;
- } VkPipelineShaderStageNodeCreateInfoAMDX;
- typedef VkResult (VKAPI_PTR *PFN_vkCreateExecutionGraphPipelinesAMDX)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkExecutionGraphPipelineCreateInfoAMDX* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
- typedef VkResult (VKAPI_PTR *PFN_vkGetExecutionGraphPipelineScratchSizeAMDX)(VkDevice device, VkPipeline executionGraph, VkExecutionGraphPipelineScratchSizeAMDX* pSizeInfo);
- typedef VkResult (VKAPI_PTR *PFN_vkGetExecutionGraphPipelineNodeIndexAMDX)(VkDevice device, VkPipeline executionGraph, const VkPipelineShaderStageNodeCreateInfoAMDX* pNodeInfo, uint32_t* pNodeIndex);
- typedef void (VKAPI_PTR *PFN_vkCmdInitializeGraphScratchMemoryAMDX)(VkCommandBuffer commandBuffer, VkPipeline executionGraph, VkDeviceAddress scratch, VkDeviceSize scratchSize);
- typedef void (VKAPI_PTR *PFN_vkCmdDispatchGraphAMDX)(VkCommandBuffer commandBuffer, VkDeviceAddress scratch, VkDeviceSize scratchSize, const VkDispatchGraphCountInfoAMDX* pCountInfo);
- typedef void (VKAPI_PTR *PFN_vkCmdDispatchGraphIndirectAMDX)(VkCommandBuffer commandBuffer, VkDeviceAddress scratch, VkDeviceSize scratchSize, const VkDispatchGraphCountInfoAMDX* pCountInfo);
- typedef void (VKAPI_PTR *PFN_vkCmdDispatchGraphIndirectCountAMDX)(VkCommandBuffer commandBuffer, VkDeviceAddress scratch, VkDeviceSize scratchSize, VkDeviceAddress countInfo);
- #ifndef VK_NO_PROTOTYPES
- #ifndef VK_ONLY_EXPORTED_PROTOTYPES
- VKAPI_ATTR VkResult VKAPI_CALL vkCreateExecutionGraphPipelinesAMDX(
- VkDevice device,
- VkPipelineCache pipelineCache,
- uint32_t createInfoCount,
- const VkExecutionGraphPipelineCreateInfoAMDX* pCreateInfos,
- const VkAllocationCallbacks* pAllocator,
- VkPipeline* pPipelines);
- #endif
- #ifndef VK_ONLY_EXPORTED_PROTOTYPES
- VKAPI_ATTR VkResult VKAPI_CALL vkGetExecutionGraphPipelineScratchSizeAMDX(
- VkDevice device,
- VkPipeline executionGraph,
- VkExecutionGraphPipelineScratchSizeAMDX* pSizeInfo);
- #endif
- #ifndef VK_ONLY_EXPORTED_PROTOTYPES
- VKAPI_ATTR VkResult VKAPI_CALL vkGetExecutionGraphPipelineNodeIndexAMDX(
- VkDevice device,
- VkPipeline executionGraph,
- const VkPipelineShaderStageNodeCreateInfoAMDX* pNodeInfo,
- uint32_t* pNodeIndex);
- #endif
- #ifndef VK_ONLY_EXPORTED_PROTOTYPES
- VKAPI_ATTR void VKAPI_CALL vkCmdInitializeGraphScratchMemoryAMDX(
- VkCommandBuffer commandBuffer,
- VkPipeline executionGraph,
- VkDeviceAddress scratch,
- VkDeviceSize scratchSize);
- #endif
- #ifndef VK_ONLY_EXPORTED_PROTOTYPES
- VKAPI_ATTR void VKAPI_CALL vkCmdDispatchGraphAMDX(
- VkCommandBuffer commandBuffer,
- VkDeviceAddress scratch,
- VkDeviceSize scratchSize,
- const VkDispatchGraphCountInfoAMDX* pCountInfo);
- #endif
- #ifndef VK_ONLY_EXPORTED_PROTOTYPES
- VKAPI_ATTR void VKAPI_CALL vkCmdDispatchGraphIndirectAMDX(
- VkCommandBuffer commandBuffer,
- VkDeviceAddress scratch,
- VkDeviceSize scratchSize,
- const VkDispatchGraphCountInfoAMDX* pCountInfo);
- #endif
- #ifndef VK_ONLY_EXPORTED_PROTOTYPES
- VKAPI_ATTR void VKAPI_CALL vkCmdDispatchGraphIndirectCountAMDX(
- VkCommandBuffer commandBuffer,
- VkDeviceAddress scratch,
- VkDeviceSize scratchSize,
- VkDeviceAddress countInfo);
- #endif
- #endif
- // VK_NV_cuda_kernel_launch is a preprocessor guard. Do not pass it to API calls.
- #define VK_NV_cuda_kernel_launch 1
- VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCudaModuleNV)
- VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCudaFunctionNV)
- #define VK_NV_CUDA_KERNEL_LAUNCH_SPEC_VERSION 2
- #define VK_NV_CUDA_KERNEL_LAUNCH_EXTENSION_NAME "VK_NV_cuda_kernel_launch"
- typedef struct VkCudaModuleCreateInfoNV {
- VkStructureType sType;
- const void* pNext;
- size_t dataSize;
- const void* pData;
- } VkCudaModuleCreateInfoNV;
- typedef struct VkCudaFunctionCreateInfoNV {
- VkStructureType sType;
- const void* pNext;
- VkCudaModuleNV module;
- const char* pName;
- } VkCudaFunctionCreateInfoNV;
- typedef struct VkCudaLaunchInfoNV {
- VkStructureType sType;
- const void* pNext;
- VkCudaFunctionNV function;
- uint32_t gridDimX;
- uint32_t gridDimY;
- uint32_t gridDimZ;
- uint32_t blockDimX;
- uint32_t blockDimY;
- uint32_t blockDimZ;
- uint32_t sharedMemBytes;
- size_t paramCount;
- const void* const * pParams;
- size_t extraCount;
- const void* const * pExtras;
- } VkCudaLaunchInfoNV;
- typedef struct VkPhysicalDeviceCudaKernelLaunchFeaturesNV {
- VkStructureType sType;
- void* pNext;
- VkBool32 cudaKernelLaunchFeatures;
- } VkPhysicalDeviceCudaKernelLaunchFeaturesNV;
- typedef struct VkPhysicalDeviceCudaKernelLaunchPropertiesNV {
- VkStructureType sType;
- void* pNext;
- uint32_t computeCapabilityMinor;
- uint32_t computeCapabilityMajor;
- } VkPhysicalDeviceCudaKernelLaunchPropertiesNV;
- typedef VkResult (VKAPI_PTR *PFN_vkCreateCudaModuleNV)(VkDevice device, const VkCudaModuleCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCudaModuleNV* pModule);
- typedef VkResult (VKAPI_PTR *PFN_vkGetCudaModuleCacheNV)(VkDevice device, VkCudaModuleNV module, size_t* pCacheSize, void* pCacheData);
- typedef VkResult (VKAPI_PTR *PFN_vkCreateCudaFunctionNV)(VkDevice device, const VkCudaFunctionCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCudaFunctionNV* pFunction);
- typedef void (VKAPI_PTR *PFN_vkDestroyCudaModuleNV)(VkDevice device, VkCudaModuleNV module, const VkAllocationCallbacks* pAllocator);
- typedef void (VKAPI_PTR *PFN_vkDestroyCudaFunctionNV)(VkDevice device, VkCudaFunctionNV function, const VkAllocationCallbacks* pAllocator);
- typedef void (VKAPI_PTR *PFN_vkCmdCudaLaunchKernelNV)(VkCommandBuffer commandBuffer, const VkCudaLaunchInfoNV* pLaunchInfo);
- #ifndef VK_NO_PROTOTYPES
- #ifndef VK_ONLY_EXPORTED_PROTOTYPES
- VKAPI_ATTR VkResult VKAPI_CALL vkCreateCudaModuleNV(
- VkDevice device,
- const VkCudaModuleCreateInfoNV* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkCudaModuleNV* pModule);
- #endif
- #ifndef VK_ONLY_EXPORTED_PROTOTYPES
- VKAPI_ATTR VkResult VKAPI_CALL vkGetCudaModuleCacheNV(
- VkDevice device,
- VkCudaModuleNV module,
- size_t* pCacheSize,
- void* pCacheData);
- #endif
- #ifndef VK_ONLY_EXPORTED_PROTOTYPES
- VKAPI_ATTR VkResult VKAPI_CALL vkCreateCudaFunctionNV(
- VkDevice device,
- const VkCudaFunctionCreateInfoNV* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkCudaFunctionNV* pFunction);
- #endif
- #ifndef VK_ONLY_EXPORTED_PROTOTYPES
- VKAPI_ATTR void VKAPI_CALL vkDestroyCudaModuleNV(
- VkDevice device,
- VkCudaModuleNV module,
- const VkAllocationCallbacks* pAllocator);
- #endif
- #ifndef VK_ONLY_EXPORTED_PROTOTYPES
- VKAPI_ATTR void VKAPI_CALL vkDestroyCudaFunctionNV(
- VkDevice device,
- VkCudaFunctionNV function,
- const VkAllocationCallbacks* pAllocator);
- #endif
- #ifndef VK_ONLY_EXPORTED_PROTOTYPES
- VKAPI_ATTR void VKAPI_CALL vkCmdCudaLaunchKernelNV(
- VkCommandBuffer commandBuffer,
- const VkCudaLaunchInfoNV* pLaunchInfo);
- #endif
- #endif
- // VK_NV_displacement_micromap is a preprocessor guard. Do not pass it to API calls.
- #define VK_NV_displacement_micromap 1
- #define VK_NV_DISPLACEMENT_MICROMAP_SPEC_VERSION 2
- #define VK_NV_DISPLACEMENT_MICROMAP_EXTENSION_NAME "VK_NV_displacement_micromap"
- typedef enum VkDisplacementMicromapFormatNV {
- VK_DISPLACEMENT_MICROMAP_FORMAT_64_TRIANGLES_64_BYTES_NV = 1,
- VK_DISPLACEMENT_MICROMAP_FORMAT_256_TRIANGLES_128_BYTES_NV = 2,
- VK_DISPLACEMENT_MICROMAP_FORMAT_1024_TRIANGLES_128_BYTES_NV = 3,
- VK_DISPLACEMENT_MICROMAP_FORMAT_MAX_ENUM_NV = 0x7FFFFFFF
- } VkDisplacementMicromapFormatNV;
- typedef struct VkPhysicalDeviceDisplacementMicromapFeaturesNV {
- VkStructureType sType;
- void* pNext;
- VkBool32 displacementMicromap;
- } VkPhysicalDeviceDisplacementMicromapFeaturesNV;
- typedef struct VkPhysicalDeviceDisplacementMicromapPropertiesNV {
- VkStructureType sType;
- void* pNext;
- uint32_t maxDisplacementMicromapSubdivisionLevel;
- } VkPhysicalDeviceDisplacementMicromapPropertiesNV;
- typedef struct VkAccelerationStructureTrianglesDisplacementMicromapNV {
- VkStructureType sType;
- void* pNext;
- VkFormat displacementBiasAndScaleFormat;
- VkFormat displacementVectorFormat;
- VkDeviceOrHostAddressConstKHR displacementBiasAndScaleBuffer;
- VkDeviceSize displacementBiasAndScaleStride;
- VkDeviceOrHostAddressConstKHR displacementVectorBuffer;
- VkDeviceSize displacementVectorStride;
- VkDeviceOrHostAddressConstKHR displacedMicromapPrimitiveFlags;
- VkDeviceSize displacedMicromapPrimitiveFlagsStride;
- VkIndexType indexType;
- VkDeviceOrHostAddressConstKHR indexBuffer;
- VkDeviceSize indexStride;
- uint32_t baseTriangle;
- uint32_t usageCountsCount;
- const VkMicromapUsageEXT* pUsageCounts;
- const VkMicromapUsageEXT* const* ppUsageCounts;
- VkMicromapEXT micromap;
- } VkAccelerationStructureTrianglesDisplacementMicromapNV;
- // VK_AMDX_dense_geometry_format is a preprocessor guard. Do not pass it to API calls.
- #define VK_AMDX_dense_geometry_format 1
- #define VK_AMDX_DENSE_GEOMETRY_FORMAT_SPEC_VERSION 1
- #define VK_AMDX_DENSE_GEOMETRY_FORMAT_EXTENSION_NAME "VK_AMDX_dense_geometry_format"
- #define VK_COMPRESSED_TRIANGLE_FORMAT_DGF1_BYTE_ALIGNMENT_AMDX 128U
- #define VK_COMPRESSED_TRIANGLE_FORMAT_DGF1_BYTE_STRIDE_AMDX 128U
- typedef enum VkCompressedTriangleFormatAMDX {
- VK_COMPRESSED_TRIANGLE_FORMAT_DGF1_AMDX = 0,
- VK_COMPRESSED_TRIANGLE_FORMAT_MAX_ENUM_AMDX = 0x7FFFFFFF
- } VkCompressedTriangleFormatAMDX;
- typedef struct VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX {
- VkStructureType sType;
- void* pNext;
- VkBool32 denseGeometryFormat;
- } VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX;
- typedef struct VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX {
- VkStructureType sType;
- const void* pNext;
- VkDeviceOrHostAddressConstKHR compressedData;
- VkDeviceSize dataSize;
- uint32_t numTriangles;
- uint32_t numVertices;
- uint32_t maxPrimitiveIndex;
- uint32_t maxGeometryIndex;
- VkCompressedTriangleFormatAMDX format;
- } VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX;
- #ifdef __cplusplus
- }
- #endif
- #endif
|