xref: /aosp_15_r20/external/mesa3d/include/vulkan/vulkan_beta.h (revision 6104692788411f58d303aa86923a9ff6ecaded22)
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