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