1*61046927SAndroid Build Coastguard Worker #ifndef VULKAN_BETA_H_ 2*61046927SAndroid Build Coastguard Worker #define VULKAN_BETA_H_ 1 3*61046927SAndroid Build Coastguard Worker 4*61046927SAndroid Build Coastguard Worker /* 5*61046927SAndroid Build Coastguard Worker ** Copyright 2015-2024 The Khronos Group Inc. 6*61046927SAndroid Build Coastguard Worker ** 7*61046927SAndroid Build Coastguard Worker ** SPDX-License-Identifier: Apache-2.0 8*61046927SAndroid Build Coastguard Worker */ 9*61046927SAndroid Build Coastguard Worker 10*61046927SAndroid Build Coastguard Worker /* 11*61046927SAndroid Build Coastguard Worker ** This header is generated from the Khronos Vulkan XML API Registry. 12*61046927SAndroid Build Coastguard Worker ** 13*61046927SAndroid Build Coastguard Worker */ 14*61046927SAndroid Build Coastguard Worker 15*61046927SAndroid Build Coastguard Worker 16*61046927SAndroid Build Coastguard Worker #ifdef __cplusplus 17*61046927SAndroid Build Coastguard Worker extern "C" { 18*61046927SAndroid Build Coastguard Worker #endif 19*61046927SAndroid Build Coastguard Worker 20*61046927SAndroid Build Coastguard Worker 21*61046927SAndroid Build Coastguard Worker 22*61046927SAndroid Build Coastguard Worker // VK_KHR_portability_subset is a preprocessor guard. Do not pass it to API calls. 23*61046927SAndroid Build Coastguard Worker #define VK_KHR_portability_subset 1 24*61046927SAndroid Build Coastguard Worker #define VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION 1 25*61046927SAndroid Build Coastguard Worker #define VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME "VK_KHR_portability_subset" 26*61046927SAndroid Build Coastguard Worker typedef struct VkPhysicalDevicePortabilitySubsetFeaturesKHR { 27*61046927SAndroid Build Coastguard Worker VkStructureType sType; 28*61046927SAndroid Build Coastguard Worker void* pNext; 29*61046927SAndroid Build Coastguard Worker VkBool32 constantAlphaColorBlendFactors; 30*61046927SAndroid Build Coastguard Worker VkBool32 events; 31*61046927SAndroid Build Coastguard Worker VkBool32 imageViewFormatReinterpretation; 32*61046927SAndroid Build Coastguard Worker VkBool32 imageViewFormatSwizzle; 33*61046927SAndroid Build Coastguard Worker VkBool32 imageView2DOn3DImage; 34*61046927SAndroid Build Coastguard Worker VkBool32 multisampleArrayImage; 35*61046927SAndroid Build Coastguard Worker VkBool32 mutableComparisonSamplers; 36*61046927SAndroid Build Coastguard Worker VkBool32 pointPolygons; 37*61046927SAndroid Build Coastguard Worker VkBool32 samplerMipLodBias; 38*61046927SAndroid Build Coastguard Worker VkBool32 separateStencilMaskRef; 39*61046927SAndroid Build Coastguard Worker VkBool32 shaderSampleRateInterpolationFunctions; 40*61046927SAndroid Build Coastguard Worker VkBool32 tessellationIsolines; 41*61046927SAndroid Build Coastguard Worker VkBool32 tessellationPointMode; 42*61046927SAndroid Build Coastguard Worker VkBool32 triangleFans; 43*61046927SAndroid Build Coastguard Worker VkBool32 vertexAttributeAccessBeyondStride; 44*61046927SAndroid Build Coastguard Worker } VkPhysicalDevicePortabilitySubsetFeaturesKHR; 45*61046927SAndroid Build Coastguard Worker 46*61046927SAndroid Build Coastguard Worker typedef struct VkPhysicalDevicePortabilitySubsetPropertiesKHR { 47*61046927SAndroid Build Coastguard Worker VkStructureType sType; 48*61046927SAndroid Build Coastguard Worker void* pNext; 49*61046927SAndroid Build Coastguard Worker uint32_t minVertexInputBindingStrideAlignment; 50*61046927SAndroid Build Coastguard Worker } VkPhysicalDevicePortabilitySubsetPropertiesKHR; 51*61046927SAndroid Build Coastguard Worker 52*61046927SAndroid Build Coastguard Worker 53*61046927SAndroid Build Coastguard Worker 54*61046927SAndroid Build Coastguard Worker // VK_AMDX_shader_enqueue is a preprocessor guard. Do not pass it to API calls. 55*61046927SAndroid Build Coastguard Worker #define VK_AMDX_shader_enqueue 1 56*61046927SAndroid Build Coastguard Worker #define VK_AMDX_SHADER_ENQUEUE_SPEC_VERSION 1 57*61046927SAndroid Build Coastguard Worker #define VK_AMDX_SHADER_ENQUEUE_EXTENSION_NAME "VK_AMDX_shader_enqueue" 58*61046927SAndroid Build Coastguard Worker #define VK_SHADER_INDEX_UNUSED_AMDX (~0U) 59*61046927SAndroid Build Coastguard Worker typedef struct VkPhysicalDeviceShaderEnqueueFeaturesAMDX { 60*61046927SAndroid Build Coastguard Worker VkStructureType sType; 61*61046927SAndroid Build Coastguard Worker void* pNext; 62*61046927SAndroid Build Coastguard Worker VkBool32 shaderEnqueue; 63*61046927SAndroid Build Coastguard Worker } VkPhysicalDeviceShaderEnqueueFeaturesAMDX; 64*61046927SAndroid Build Coastguard Worker 65*61046927SAndroid Build Coastguard Worker typedef struct VkPhysicalDeviceShaderEnqueuePropertiesAMDX { 66*61046927SAndroid Build Coastguard Worker VkStructureType sType; 67*61046927SAndroid Build Coastguard Worker void* pNext; 68*61046927SAndroid Build Coastguard Worker uint32_t maxExecutionGraphDepth; 69*61046927SAndroid Build Coastguard Worker uint32_t maxExecutionGraphShaderOutputNodes; 70*61046927SAndroid Build Coastguard Worker uint32_t maxExecutionGraphShaderPayloadSize; 71*61046927SAndroid Build Coastguard Worker uint32_t maxExecutionGraphShaderPayloadCount; 72*61046927SAndroid Build Coastguard Worker uint32_t executionGraphDispatchAddressAlignment; 73*61046927SAndroid Build Coastguard Worker } VkPhysicalDeviceShaderEnqueuePropertiesAMDX; 74*61046927SAndroid Build Coastguard Worker 75*61046927SAndroid Build Coastguard Worker typedef struct VkExecutionGraphPipelineScratchSizeAMDX { 76*61046927SAndroid Build Coastguard Worker VkStructureType sType; 77*61046927SAndroid Build Coastguard Worker void* pNext; 78*61046927SAndroid Build Coastguard Worker VkDeviceSize size; 79*61046927SAndroid Build Coastguard Worker } VkExecutionGraphPipelineScratchSizeAMDX; 80*61046927SAndroid Build Coastguard Worker 81*61046927SAndroid Build Coastguard Worker typedef struct VkExecutionGraphPipelineCreateInfoAMDX { 82*61046927SAndroid Build Coastguard Worker VkStructureType sType; 83*61046927SAndroid Build Coastguard Worker const void* pNext; 84*61046927SAndroid Build Coastguard Worker VkPipelineCreateFlags flags; 85*61046927SAndroid Build Coastguard Worker uint32_t stageCount; 86*61046927SAndroid Build Coastguard Worker const VkPipelineShaderStageCreateInfo* pStages; 87*61046927SAndroid Build Coastguard Worker const VkPipelineLibraryCreateInfoKHR* pLibraryInfo; 88*61046927SAndroid Build Coastguard Worker VkPipelineLayout layout; 89*61046927SAndroid Build Coastguard Worker VkPipeline basePipelineHandle; 90*61046927SAndroid Build Coastguard Worker int32_t basePipelineIndex; 91*61046927SAndroid Build Coastguard Worker } VkExecutionGraphPipelineCreateInfoAMDX; 92*61046927SAndroid Build Coastguard Worker 93*61046927SAndroid Build Coastguard Worker typedef union VkDeviceOrHostAddressConstAMDX { 94*61046927SAndroid Build Coastguard Worker VkDeviceAddress deviceAddress; 95*61046927SAndroid Build Coastguard Worker const void* hostAddress; 96*61046927SAndroid Build Coastguard Worker } VkDeviceOrHostAddressConstAMDX; 97*61046927SAndroid Build Coastguard Worker 98*61046927SAndroid Build Coastguard Worker typedef struct VkDispatchGraphInfoAMDX { 99*61046927SAndroid Build Coastguard Worker uint32_t nodeIndex; 100*61046927SAndroid Build Coastguard Worker uint32_t payloadCount; 101*61046927SAndroid Build Coastguard Worker VkDeviceOrHostAddressConstAMDX payloads; 102*61046927SAndroid Build Coastguard Worker uint64_t payloadStride; 103*61046927SAndroid Build Coastguard Worker } VkDispatchGraphInfoAMDX; 104*61046927SAndroid Build Coastguard Worker 105*61046927SAndroid Build Coastguard Worker typedef struct VkDispatchGraphCountInfoAMDX { 106*61046927SAndroid Build Coastguard Worker uint32_t count; 107*61046927SAndroid Build Coastguard Worker VkDeviceOrHostAddressConstAMDX infos; 108*61046927SAndroid Build Coastguard Worker uint64_t stride; 109*61046927SAndroid Build Coastguard Worker } VkDispatchGraphCountInfoAMDX; 110*61046927SAndroid Build Coastguard Worker 111*61046927SAndroid Build Coastguard Worker typedef struct VkPipelineShaderStageNodeCreateInfoAMDX { 112*61046927SAndroid Build Coastguard Worker VkStructureType sType; 113*61046927SAndroid Build Coastguard Worker const void* pNext; 114*61046927SAndroid Build Coastguard Worker const char* pName; 115*61046927SAndroid Build Coastguard Worker uint32_t index; 116*61046927SAndroid Build Coastguard Worker } VkPipelineShaderStageNodeCreateInfoAMDX; 117*61046927SAndroid Build Coastguard Worker 118*61046927SAndroid Build Coastguard Worker typedef VkResult (VKAPI_PTR *PFN_vkCreateExecutionGraphPipelinesAMDX)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkExecutionGraphPipelineCreateInfoAMDX* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 119*61046927SAndroid Build Coastguard Worker typedef VkResult (VKAPI_PTR *PFN_vkGetExecutionGraphPipelineScratchSizeAMDX)(VkDevice device, VkPipeline executionGraph, VkExecutionGraphPipelineScratchSizeAMDX* pSizeInfo); 120*61046927SAndroid Build Coastguard Worker typedef VkResult (VKAPI_PTR *PFN_vkGetExecutionGraphPipelineNodeIndexAMDX)(VkDevice device, VkPipeline executionGraph, const VkPipelineShaderStageNodeCreateInfoAMDX* pNodeInfo, uint32_t* pNodeIndex); 121*61046927SAndroid Build Coastguard Worker typedef void (VKAPI_PTR *PFN_vkCmdInitializeGraphScratchMemoryAMDX)(VkCommandBuffer commandBuffer, VkDeviceAddress scratch); 122*61046927SAndroid Build Coastguard Worker typedef void (VKAPI_PTR *PFN_vkCmdDispatchGraphAMDX)(VkCommandBuffer commandBuffer, VkDeviceAddress scratch, const VkDispatchGraphCountInfoAMDX* pCountInfo); 123*61046927SAndroid Build Coastguard Worker typedef void (VKAPI_PTR *PFN_vkCmdDispatchGraphIndirectAMDX)(VkCommandBuffer commandBuffer, VkDeviceAddress scratch, const VkDispatchGraphCountInfoAMDX* pCountInfo); 124*61046927SAndroid Build Coastguard Worker typedef void (VKAPI_PTR *PFN_vkCmdDispatchGraphIndirectCountAMDX)(VkCommandBuffer commandBuffer, VkDeviceAddress scratch, VkDeviceAddress countInfo); 125*61046927SAndroid Build Coastguard Worker 126*61046927SAndroid Build Coastguard Worker #ifndef VK_NO_PROTOTYPES 127*61046927SAndroid Build Coastguard Worker VKAPI_ATTR VkResult VKAPI_CALL vkCreateExecutionGraphPipelinesAMDX( 128*61046927SAndroid Build Coastguard Worker VkDevice device, 129*61046927SAndroid Build Coastguard Worker VkPipelineCache pipelineCache, 130*61046927SAndroid Build Coastguard Worker uint32_t createInfoCount, 131*61046927SAndroid Build Coastguard Worker const VkExecutionGraphPipelineCreateInfoAMDX* pCreateInfos, 132*61046927SAndroid Build Coastguard Worker const VkAllocationCallbacks* pAllocator, 133*61046927SAndroid Build Coastguard Worker VkPipeline* pPipelines); 134*61046927SAndroid Build Coastguard Worker 135*61046927SAndroid Build Coastguard Worker VKAPI_ATTR VkResult VKAPI_CALL vkGetExecutionGraphPipelineScratchSizeAMDX( 136*61046927SAndroid Build Coastguard Worker VkDevice device, 137*61046927SAndroid Build Coastguard Worker VkPipeline executionGraph, 138*61046927SAndroid Build Coastguard Worker VkExecutionGraphPipelineScratchSizeAMDX* pSizeInfo); 139*61046927SAndroid Build Coastguard Worker 140*61046927SAndroid Build Coastguard Worker VKAPI_ATTR VkResult VKAPI_CALL vkGetExecutionGraphPipelineNodeIndexAMDX( 141*61046927SAndroid Build Coastguard Worker VkDevice device, 142*61046927SAndroid Build Coastguard Worker VkPipeline executionGraph, 143*61046927SAndroid Build Coastguard Worker const VkPipelineShaderStageNodeCreateInfoAMDX* pNodeInfo, 144*61046927SAndroid Build Coastguard Worker uint32_t* pNodeIndex); 145*61046927SAndroid Build Coastguard Worker 146*61046927SAndroid Build Coastguard Worker VKAPI_ATTR void VKAPI_CALL vkCmdInitializeGraphScratchMemoryAMDX( 147*61046927SAndroid Build Coastguard Worker VkCommandBuffer commandBuffer, 148*61046927SAndroid Build Coastguard Worker VkDeviceAddress scratch); 149*61046927SAndroid Build Coastguard Worker 150*61046927SAndroid Build Coastguard Worker VKAPI_ATTR void VKAPI_CALL vkCmdDispatchGraphAMDX( 151*61046927SAndroid Build Coastguard Worker VkCommandBuffer commandBuffer, 152*61046927SAndroid Build Coastguard Worker VkDeviceAddress scratch, 153*61046927SAndroid Build Coastguard Worker const VkDispatchGraphCountInfoAMDX* pCountInfo); 154*61046927SAndroid Build Coastguard Worker 155*61046927SAndroid Build Coastguard Worker VKAPI_ATTR void VKAPI_CALL vkCmdDispatchGraphIndirectAMDX( 156*61046927SAndroid Build Coastguard Worker VkCommandBuffer commandBuffer, 157*61046927SAndroid Build Coastguard Worker VkDeviceAddress scratch, 158*61046927SAndroid Build Coastguard Worker const VkDispatchGraphCountInfoAMDX* pCountInfo); 159*61046927SAndroid Build Coastguard Worker 160*61046927SAndroid Build Coastguard Worker VKAPI_ATTR void VKAPI_CALL vkCmdDispatchGraphIndirectCountAMDX( 161*61046927SAndroid Build Coastguard Worker VkCommandBuffer commandBuffer, 162*61046927SAndroid Build Coastguard Worker VkDeviceAddress scratch, 163*61046927SAndroid Build Coastguard Worker VkDeviceAddress countInfo); 164*61046927SAndroid Build Coastguard Worker #endif 165*61046927SAndroid Build Coastguard Worker 166*61046927SAndroid Build Coastguard Worker 167*61046927SAndroid Build Coastguard Worker // VK_NV_displacement_micromap is a preprocessor guard. Do not pass it to API calls. 168*61046927SAndroid Build Coastguard Worker #define VK_NV_displacement_micromap 1 169*61046927SAndroid Build Coastguard Worker #define VK_NV_DISPLACEMENT_MICROMAP_SPEC_VERSION 2 170*61046927SAndroid Build Coastguard Worker #define VK_NV_DISPLACEMENT_MICROMAP_EXTENSION_NAME "VK_NV_displacement_micromap" 171*61046927SAndroid Build Coastguard Worker 172*61046927SAndroid Build Coastguard Worker typedef enum VkDisplacementMicromapFormatNV { 173*61046927SAndroid Build Coastguard Worker VK_DISPLACEMENT_MICROMAP_FORMAT_64_TRIANGLES_64_BYTES_NV = 1, 174*61046927SAndroid Build Coastguard Worker VK_DISPLACEMENT_MICROMAP_FORMAT_256_TRIANGLES_128_BYTES_NV = 2, 175*61046927SAndroid Build Coastguard Worker VK_DISPLACEMENT_MICROMAP_FORMAT_1024_TRIANGLES_128_BYTES_NV = 3, 176*61046927SAndroid Build Coastguard Worker VK_DISPLACEMENT_MICROMAP_FORMAT_MAX_ENUM_NV = 0x7FFFFFFF 177*61046927SAndroid Build Coastguard Worker } VkDisplacementMicromapFormatNV; 178*61046927SAndroid Build Coastguard Worker typedef struct VkPhysicalDeviceDisplacementMicromapFeaturesNV { 179*61046927SAndroid Build Coastguard Worker VkStructureType sType; 180*61046927SAndroid Build Coastguard Worker void* pNext; 181*61046927SAndroid Build Coastguard Worker VkBool32 displacementMicromap; 182*61046927SAndroid Build Coastguard Worker } VkPhysicalDeviceDisplacementMicromapFeaturesNV; 183*61046927SAndroid Build Coastguard Worker 184*61046927SAndroid Build Coastguard Worker typedef struct VkPhysicalDeviceDisplacementMicromapPropertiesNV { 185*61046927SAndroid Build Coastguard Worker VkStructureType sType; 186*61046927SAndroid Build Coastguard Worker void* pNext; 187*61046927SAndroid Build Coastguard Worker uint32_t maxDisplacementMicromapSubdivisionLevel; 188*61046927SAndroid Build Coastguard Worker } VkPhysicalDeviceDisplacementMicromapPropertiesNV; 189*61046927SAndroid Build Coastguard Worker 190*61046927SAndroid Build Coastguard Worker typedef struct VkAccelerationStructureTrianglesDisplacementMicromapNV { 191*61046927SAndroid Build Coastguard Worker VkStructureType sType; 192*61046927SAndroid Build Coastguard Worker void* pNext; 193*61046927SAndroid Build Coastguard Worker VkFormat displacementBiasAndScaleFormat; 194*61046927SAndroid Build Coastguard Worker VkFormat displacementVectorFormat; 195*61046927SAndroid Build Coastguard Worker VkDeviceOrHostAddressConstKHR displacementBiasAndScaleBuffer; 196*61046927SAndroid Build Coastguard Worker VkDeviceSize displacementBiasAndScaleStride; 197*61046927SAndroid Build Coastguard Worker VkDeviceOrHostAddressConstKHR displacementVectorBuffer; 198*61046927SAndroid Build Coastguard Worker VkDeviceSize displacementVectorStride; 199*61046927SAndroid Build Coastguard Worker VkDeviceOrHostAddressConstKHR displacedMicromapPrimitiveFlags; 200*61046927SAndroid Build Coastguard Worker VkDeviceSize displacedMicromapPrimitiveFlagsStride; 201*61046927SAndroid Build Coastguard Worker VkIndexType indexType; 202*61046927SAndroid Build Coastguard Worker VkDeviceOrHostAddressConstKHR indexBuffer; 203*61046927SAndroid Build Coastguard Worker VkDeviceSize indexStride; 204*61046927SAndroid Build Coastguard Worker uint32_t baseTriangle; 205*61046927SAndroid Build Coastguard Worker uint32_t usageCountsCount; 206*61046927SAndroid Build Coastguard Worker const VkMicromapUsageEXT* pUsageCounts; 207*61046927SAndroid Build Coastguard Worker const VkMicromapUsageEXT* const* ppUsageCounts; 208*61046927SAndroid Build Coastguard Worker VkMicromapEXT micromap; 209*61046927SAndroid Build Coastguard Worker } VkAccelerationStructureTrianglesDisplacementMicromapNV; 210*61046927SAndroid Build Coastguard Worker 211*61046927SAndroid Build Coastguard Worker 212*61046927SAndroid Build Coastguard Worker #ifdef __cplusplus 213*61046927SAndroid Build Coastguard Worker } 214*61046927SAndroid Build Coastguard Worker #endif 215*61046927SAndroid Build Coastguard Worker 216*61046927SAndroid Build Coastguard Worker #endif 217