1 #ifndef VULKAN_CORE_H_ 2 #define VULKAN_CORE_H_ 1 3 4 /* 5 ** Copyright 2015-2025 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_VERSION_1_0 is a preprocessor guard. Do not pass it to API calls. 23 #define VK_VERSION_1_0 1 24 #include "vk_platform.h" 25 26 #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object; 27 28 29 #ifndef VK_USE_64_BIT_PTR_DEFINES 30 #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__) || (defined(__riscv) && __riscv_xlen == 64) 31 #define VK_USE_64_BIT_PTR_DEFINES 1 32 #else 33 #define VK_USE_64_BIT_PTR_DEFINES 0 34 #endif 35 #endif 36 37 38 #ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE 39 #if (VK_USE_64_BIT_PTR_DEFINES==1) 40 #if (defined(__cplusplus) && (__cplusplus >= 201103L)) || (defined(_MSVC_LANG) && (_MSVC_LANG >= 201103L)) 41 #define VK_NULL_HANDLE nullptr 42 #else 43 #define VK_NULL_HANDLE ((void*)0) 44 #endif 45 #else 46 #define VK_NULL_HANDLE 0ULL 47 #endif 48 #endif 49 #ifndef VK_NULL_HANDLE 50 #define VK_NULL_HANDLE 0 51 #endif 52 53 54 #ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE 55 #if (VK_USE_64_BIT_PTR_DEFINES==1) 56 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object; 57 #else 58 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object; 59 #endif 60 #endif 61 62 #define VK_MAKE_API_VERSION(variant, major, minor, patch) \ 63 ((((uint32_t)(variant)) << 29U) | (((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch))) 64 65 // DEPRECATED: This define has been removed. Specific version defines (e.g. VK_API_VERSION_1_0), or the VK_MAKE_VERSION macro, should be used instead. 66 //#define VK_API_VERSION VK_MAKE_API_VERSION(0, 1, 0, 0) // Patch version should always be set to 0 67 68 // Vulkan 1.0 version number 69 #define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0 70 71 // Version of this file 72 #define VK_HEADER_VERSION 309 73 74 // Complete version of this file 75 #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 4, VK_HEADER_VERSION) 76 77 // VK_MAKE_VERSION is deprecated, but no reason was given in the API XML 78 // DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead. 79 #define VK_MAKE_VERSION(major, minor, patch) \ 80 ((((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch))) 81 82 // VK_VERSION_MAJOR is deprecated, but no reason was given in the API XML 83 // DEPRECATED: This define is deprecated. VK_API_VERSION_MAJOR should be used instead. 84 #define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22U) 85 86 // VK_VERSION_MINOR is deprecated, but no reason was given in the API XML 87 // DEPRECATED: This define is deprecated. VK_API_VERSION_MINOR should be used instead. 88 #define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12U) & 0x3FFU) 89 90 // VK_VERSION_PATCH is deprecated, but no reason was given in the API XML 91 // DEPRECATED: This define is deprecated. VK_API_VERSION_PATCH should be used instead. 92 #define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU) 93 94 #define VK_API_VERSION_VARIANT(version) ((uint32_t)(version) >> 29U) 95 #define VK_API_VERSION_MAJOR(version) (((uint32_t)(version) >> 22U) & 0x7FU) 96 #define VK_API_VERSION_MINOR(version) (((uint32_t)(version) >> 12U) & 0x3FFU) 97 #define VK_API_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU) 98 typedef uint32_t VkBool32; 99 typedef uint64_t VkDeviceAddress; 100 typedef uint64_t VkDeviceSize; 101 typedef uint32_t VkFlags; 102 typedef uint32_t VkSampleMask; 103 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer) 104 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage) 105 VK_DEFINE_HANDLE(VkInstance) 106 VK_DEFINE_HANDLE(VkPhysicalDevice) 107 VK_DEFINE_HANDLE(VkDevice) 108 VK_DEFINE_HANDLE(VkQueue) 109 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore) 110 VK_DEFINE_HANDLE(VkCommandBuffer) 111 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence) 112 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory) 113 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent) 114 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool) 115 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView) 116 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView) 117 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule) 118 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache) 119 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout) 120 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline) 121 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass) 122 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout) 123 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler) 124 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet) 125 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool) 126 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer) 127 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool) 128 #define VK_ATTACHMENT_UNUSED (~0U) 129 #define VK_FALSE 0U 130 #define VK_LOD_CLAMP_NONE 1000.0F 131 #define VK_QUEUE_FAMILY_IGNORED (~0U) 132 #define VK_REMAINING_ARRAY_LAYERS (~0U) 133 #define VK_REMAINING_MIP_LEVELS (~0U) 134 #define VK_SUBPASS_EXTERNAL (~0U) 135 #define VK_TRUE 1U 136 #define VK_WHOLE_SIZE (~0ULL) 137 #define VK_MAX_MEMORY_TYPES 32U 138 #define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256U 139 #define VK_UUID_SIZE 16U 140 #define VK_MAX_EXTENSION_NAME_SIZE 256U 141 #define VK_MAX_DESCRIPTION_SIZE 256U 142 #define VK_MAX_MEMORY_HEAPS 16U 143 144 typedef enum VkResult { 145 VK_SUCCESS = 0, 146 VK_NOT_READY = 1, 147 VK_TIMEOUT = 2, 148 VK_EVENT_SET = 3, 149 VK_EVENT_RESET = 4, 150 VK_INCOMPLETE = 5, 151 VK_ERROR_OUT_OF_HOST_MEMORY = -1, 152 VK_ERROR_OUT_OF_DEVICE_MEMORY = -2, 153 VK_ERROR_INITIALIZATION_FAILED = -3, 154 VK_ERROR_DEVICE_LOST = -4, 155 VK_ERROR_MEMORY_MAP_FAILED = -5, 156 VK_ERROR_LAYER_NOT_PRESENT = -6, 157 VK_ERROR_EXTENSION_NOT_PRESENT = -7, 158 VK_ERROR_FEATURE_NOT_PRESENT = -8, 159 VK_ERROR_INCOMPATIBLE_DRIVER = -9, 160 VK_ERROR_TOO_MANY_OBJECTS = -10, 161 VK_ERROR_FORMAT_NOT_SUPPORTED = -11, 162 VK_ERROR_FRAGMENTED_POOL = -12, 163 VK_ERROR_UNKNOWN = -13, 164 VK_ERROR_OUT_OF_POOL_MEMORY = -1000069000, 165 VK_ERROR_INVALID_EXTERNAL_HANDLE = -1000072003, 166 VK_ERROR_FRAGMENTATION = -1000161000, 167 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS = -1000257000, 168 VK_PIPELINE_COMPILE_REQUIRED = 1000297000, 169 VK_ERROR_NOT_PERMITTED = -1000174001, 170 VK_ERROR_SURFACE_LOST_KHR = -1000000000, 171 VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001, 172 VK_SUBOPTIMAL_KHR = 1000001003, 173 VK_ERROR_OUT_OF_DATE_KHR = -1000001004, 174 VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001, 175 VK_ERROR_VALIDATION_FAILED_EXT = -1000011001, 176 VK_ERROR_INVALID_SHADER_NV = -1000012000, 177 VK_ERROR_IMAGE_USAGE_NOT_SUPPORTED_KHR = -1000023000, 178 VK_ERROR_VIDEO_PICTURE_LAYOUT_NOT_SUPPORTED_KHR = -1000023001, 179 VK_ERROR_VIDEO_PROFILE_OPERATION_NOT_SUPPORTED_KHR = -1000023002, 180 VK_ERROR_VIDEO_PROFILE_FORMAT_NOT_SUPPORTED_KHR = -1000023003, 181 VK_ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR = -1000023004, 182 VK_ERROR_VIDEO_STD_VERSION_NOT_SUPPORTED_KHR = -1000023005, 183 VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000, 184 VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT = -1000255000, 185 VK_THREAD_IDLE_KHR = 1000268000, 186 VK_THREAD_DONE_KHR = 1000268001, 187 VK_OPERATION_DEFERRED_KHR = 1000268002, 188 VK_OPERATION_NOT_DEFERRED_KHR = 1000268003, 189 VK_ERROR_INVALID_VIDEO_STD_PARAMETERS_KHR = -1000299000, 190 VK_ERROR_COMPRESSION_EXHAUSTED_EXT = -1000338000, 191 VK_INCOMPATIBLE_SHADER_BINARY_EXT = 1000482000, 192 VK_PIPELINE_BINARY_MISSING_KHR = 1000483000, 193 VK_ERROR_NOT_ENOUGH_SPACE_KHR = -1000483000, 194 VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY, 195 VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE, 196 VK_ERROR_FRAGMENTATION_EXT = VK_ERROR_FRAGMENTATION, 197 VK_ERROR_NOT_PERMITTED_EXT = VK_ERROR_NOT_PERMITTED, 198 VK_ERROR_NOT_PERMITTED_KHR = VK_ERROR_NOT_PERMITTED, 199 VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS, 200 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS, 201 VK_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED, 202 VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED, 203 // VK_ERROR_INCOMPATIBLE_SHADER_BINARY_EXT is a deprecated alias 204 VK_ERROR_INCOMPATIBLE_SHADER_BINARY_EXT = VK_INCOMPATIBLE_SHADER_BINARY_EXT, 205 VK_RESULT_MAX_ENUM = 0x7FFFFFFF 206 } VkResult; 207 208 typedef enum VkStructureType { 209 VK_STRUCTURE_TYPE_APPLICATION_INFO = 0, 210 VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1, 211 VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2, 212 VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3, 213 VK_STRUCTURE_TYPE_SUBMIT_INFO = 4, 214 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5, 215 VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6, 216 VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7, 217 VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8, 218 VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9, 219 VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10, 220 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11, 221 VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12, 222 VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13, 223 VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14, 224 VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15, 225 VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16, 226 VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17, 227 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18, 228 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19, 229 VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20, 230 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21, 231 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22, 232 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23, 233 VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24, 234 VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25, 235 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26, 236 VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27, 237 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28, 238 VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29, 239 VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30, 240 VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31, 241 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32, 242 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33, 243 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34, 244 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35, 245 VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36, 246 VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37, 247 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38, 248 VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39, 249 VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40, 250 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41, 251 VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42, 252 VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43, 253 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44, 254 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45, 255 VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46, 256 VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47, 257 VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48, 258 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000, 259 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO = 1000157000, 260 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO = 1000157001, 261 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000, 262 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000, 263 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001, 264 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000, 265 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003, 266 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004, 267 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO = 1000060005, 268 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO = 1000060006, 269 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013, 270 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014, 271 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000, 272 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001, 273 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000, 274 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001, 275 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 = 1000146002, 276 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 = 1000146003, 277 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = 1000146004, 278 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000, 279 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001, 280 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002, 281 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 = 1000059003, 282 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004, 283 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 = 1000059005, 284 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006, 285 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 = 1000059007, 286 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = 1000059008, 287 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000, 288 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001, 289 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002, 290 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003, 291 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000, 292 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001, 293 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002, 294 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES = 1000120000, 295 VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO = 1000145000, 296 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001, 297 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002, 298 VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 = 1000145003, 299 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000, 300 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO = 1000156001, 301 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002, 302 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003, 303 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004, 304 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005, 305 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO = 1000085000, 306 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000, 307 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001, 308 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002, 309 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES = 1000071003, 310 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004, 311 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000, 312 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001, 313 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO = 1000072002, 314 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000, 315 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES = 1000112001, 316 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO = 1000113000, 317 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO = 1000077000, 318 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000, 319 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001, 320 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000, 321 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001, 322 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000, 323 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES = 49, 324 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES = 50, 325 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES = 51, 326 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES = 52, 327 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO = 1000147000, 328 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 = 1000109000, 329 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 = 1000109001, 330 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 = 1000109002, 331 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 = 1000109003, 332 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 = 1000109004, 333 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO = 1000109005, 334 VK_STRUCTURE_TYPE_SUBPASS_END_INFO = 1000109006, 335 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES = 1000177000, 336 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES = 1000196000, 337 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES = 1000180000, 338 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES = 1000082000, 339 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES = 1000197000, 340 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO = 1000161000, 341 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES = 1000161001, 342 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES = 1000161002, 343 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO = 1000161003, 344 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT = 1000161004, 345 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES = 1000199000, 346 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE = 1000199001, 347 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES = 1000221000, 348 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO = 1000246000, 349 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES = 1000130000, 350 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO = 1000130001, 351 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES = 1000211000, 352 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES = 1000108000, 353 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO = 1000108001, 354 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO = 1000108002, 355 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO = 1000108003, 356 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES = 1000253000, 357 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES = 1000175000, 358 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES = 1000241000, 359 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT = 1000241001, 360 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT = 1000241002, 361 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES = 1000261000, 362 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES = 1000207000, 363 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES = 1000207001, 364 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO = 1000207002, 365 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO = 1000207003, 366 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO = 1000207004, 367 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO = 1000207005, 368 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES = 1000257000, 369 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO = 1000244001, 370 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO = 1000257002, 371 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO = 1000257003, 372 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO = 1000257004, 373 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES = 53, 374 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES = 54, 375 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO = 1000192000, 376 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES = 1000215000, 377 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES = 1000245000, 378 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES = 1000276000, 379 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES = 1000295000, 380 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO = 1000295001, 381 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO = 1000295002, 382 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES = 1000297000, 383 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2 = 1000314000, 384 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2 = 1000314001, 385 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2 = 1000314002, 386 VK_STRUCTURE_TYPE_DEPENDENCY_INFO = 1000314003, 387 VK_STRUCTURE_TYPE_SUBMIT_INFO_2 = 1000314004, 388 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO = 1000314005, 389 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO = 1000314006, 390 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES = 1000314007, 391 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES = 1000325000, 392 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES = 1000335000, 393 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2 = 1000337000, 394 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2 = 1000337001, 395 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2 = 1000337002, 396 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2 = 1000337003, 397 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2 = 1000337004, 398 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2 = 1000337005, 399 VK_STRUCTURE_TYPE_BUFFER_COPY_2 = 1000337006, 400 VK_STRUCTURE_TYPE_IMAGE_COPY_2 = 1000337007, 401 VK_STRUCTURE_TYPE_IMAGE_BLIT_2 = 1000337008, 402 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2 = 1000337009, 403 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2 = 1000337010, 404 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES = 1000225000, 405 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO = 1000225001, 406 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES = 1000225002, 407 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES = 1000138000, 408 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES = 1000138001, 409 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK = 1000138002, 410 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO = 1000138003, 411 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES = 1000066000, 412 VK_STRUCTURE_TYPE_RENDERING_INFO = 1000044000, 413 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO = 1000044001, 414 VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO = 1000044002, 415 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES = 1000044003, 416 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO = 1000044004, 417 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES = 1000280000, 418 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES = 1000280001, 419 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES = 1000281001, 420 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3 = 1000360000, 421 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES = 1000413000, 422 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES = 1000413001, 423 VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS = 1000413002, 424 VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS = 1000413003, 425 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_FEATURES = 55, 426 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_PROPERTIES = 56, 427 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO = 1000174000, 428 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES = 1000388000, 429 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES = 1000388001, 430 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES = 1000416000, 431 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES = 1000528000, 432 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES = 1000544000, 433 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES = 1000259000, 434 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO = 1000259001, 435 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES = 1000259002, 436 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES = 1000525000, 437 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO = 1000190001, 438 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES = 1000190002, 439 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES = 1000265000, 440 VK_STRUCTURE_TYPE_MEMORY_MAP_INFO = 1000271000, 441 VK_STRUCTURE_TYPE_MEMORY_UNMAP_INFO = 1000271001, 442 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES = 1000470000, 443 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES = 1000470001, 444 VK_STRUCTURE_TYPE_RENDERING_AREA_INFO = 1000470003, 445 VK_STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO = 1000470004, 446 VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2 = 1000338002, 447 VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2 = 1000338003, 448 VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO = 1000470005, 449 VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO = 1000470006, 450 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES = 1000080000, 451 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES = 1000232000, 452 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO = 1000232001, 453 VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO = 1000232002, 454 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES = 1000545000, 455 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES = 1000545001, 456 VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS = 1000545002, 457 VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO = 1000545003, 458 VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO = 1000545004, 459 VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO = 1000545005, 460 VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO = 1000545006, 461 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES = 1000466000, 462 VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO = 1000068000, 463 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES = 1000068001, 464 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES = 1000068002, 465 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES = 1000270000, 466 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES = 1000270001, 467 VK_STRUCTURE_TYPE_MEMORY_TO_IMAGE_COPY = 1000270002, 468 VK_STRUCTURE_TYPE_IMAGE_TO_MEMORY_COPY = 1000270003, 469 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_MEMORY_INFO = 1000270004, 470 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INFO = 1000270005, 471 VK_STRUCTURE_TYPE_HOST_IMAGE_LAYOUT_TRANSITION_INFO = 1000270006, 472 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_IMAGE_INFO = 1000270007, 473 VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE = 1000270008, 474 VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY = 1000270009, 475 VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000, 476 VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001, 477 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007, 478 VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008, 479 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009, 480 VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010, 481 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011, 482 VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012, 483 VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000, 484 VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001, 485 VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000, 486 VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000, 487 VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000, 488 VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000, 489 VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000, 490 VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000, 491 VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000, 492 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000, 493 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000, 494 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001, 495 VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002, 496 VK_STRUCTURE_TYPE_VIDEO_PROFILE_INFO_KHR = 1000023000, 497 VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR = 1000023001, 498 VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_INFO_KHR = 1000023002, 499 VK_STRUCTURE_TYPE_VIDEO_SESSION_MEMORY_REQUIREMENTS_KHR = 1000023003, 500 VK_STRUCTURE_TYPE_BIND_VIDEO_SESSION_MEMORY_INFO_KHR = 1000023004, 501 VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR = 1000023005, 502 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000023006, 503 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR = 1000023007, 504 VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR = 1000023008, 505 VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR = 1000023009, 506 VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR = 1000023010, 507 VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_INFO_KHR = 1000023011, 508 VK_STRUCTURE_TYPE_QUEUE_FAMILY_VIDEO_PROPERTIES_KHR = 1000023012, 509 VK_STRUCTURE_TYPE_VIDEO_PROFILE_LIST_INFO_KHR = 1000023013, 510 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR = 1000023014, 511 VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR = 1000023015, 512 VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR = 1000023016, 513 VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR = 1000024000, 514 VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR = 1000024001, 515 VK_STRUCTURE_TYPE_VIDEO_DECODE_USAGE_INFO_KHR = 1000024002, 516 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000, 517 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001, 518 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002, 519 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT = 1000028000, 520 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT = 1000028001, 521 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT = 1000028002, 522 VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX = 1000029000, 523 VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX = 1000029001, 524 VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX = 1000029002, 525 VK_STRUCTURE_TYPE_CU_MODULE_TEXTURING_MODE_CREATE_INFO_NVX = 1000029004, 526 VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX = 1000030000, 527 VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX = 1000030001, 528 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_KHR = 1000038000, 529 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000038001, 530 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR = 1000038002, 531 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PICTURE_INFO_KHR = 1000038003, 532 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_KHR = 1000038004, 533 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_INFO_KHR = 1000038005, 534 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_GOP_REMAINING_FRAME_INFO_KHR = 1000038006, 535 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_INFO_KHR = 1000038007, 536 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_KHR = 1000038008, 537 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_KHR = 1000038009, 538 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_KHR = 1000038010, 539 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_QUALITY_LEVEL_PROPERTIES_KHR = 1000038011, 540 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_GET_INFO_KHR = 1000038012, 541 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_FEEDBACK_INFO_KHR = 1000038013, 542 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_KHR = 1000039000, 543 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000039001, 544 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR = 1000039002, 545 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PICTURE_INFO_KHR = 1000039003, 546 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_KHR = 1000039004, 547 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_KHR = 1000039005, 548 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_GOP_REMAINING_FRAME_INFO_KHR = 1000039006, 549 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_INFO_KHR = 1000039007, 550 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_KHR = 1000039009, 551 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_KHR = 1000039010, 552 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_KHR = 1000039011, 553 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_QUALITY_LEVEL_PROPERTIES_KHR = 1000039012, 554 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_GET_INFO_KHR = 1000039013, 555 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_FEEDBACK_INFO_KHR = 1000039014, 556 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_KHR = 1000040000, 557 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_KHR = 1000040001, 558 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_INFO_KHR = 1000040003, 559 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000040004, 560 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR = 1000040005, 561 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_KHR = 1000040006, 562 VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000, 563 VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000, 564 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000, 565 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000, 566 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001, 567 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000, 568 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001, 569 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000, 570 VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000, 571 VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000, 572 VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000, 573 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001, 574 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000, 575 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001, 576 VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002, 577 VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR = 1000073003, 578 VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR = 1000074000, 579 VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR = 1000074001, 580 VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR = 1000074002, 581 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = 1000075000, 582 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078000, 583 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078001, 584 VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR = 1000078002, 585 VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = 1000078003, 586 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000, 587 VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001, 588 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT = 1000081000, 589 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT = 1000081001, 590 VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT = 1000081002, 591 VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000, 592 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000, 593 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT = 1000090000, 594 VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000, 595 VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001, 596 VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002, 597 VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003, 598 VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000, 599 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000, 600 VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX = 1000044009, 601 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000, 602 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000, 603 VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001, 604 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000, 605 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001, 606 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT = 1000102000, 607 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT = 1000102001, 608 VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000, 609 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RELAXED_LINE_RASTERIZATION_FEATURES_IMG = 1000110000, 610 VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000, 611 VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000, 612 VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001, 613 VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR = 1000114002, 614 VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = 1000115000, 615 VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = 1000115001, 616 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR = 1000116000, 617 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR = 1000116001, 618 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR = 1000116002, 619 VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR = 1000116003, 620 VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR = 1000116004, 621 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR = 1000116005, 622 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR = 1000116006, 623 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000, 624 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001, 625 VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002, 626 VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR = 1000121000, 627 VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR = 1000121001, 628 VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR = 1000121002, 629 VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR = 1000121003, 630 VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004, 631 VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000, 632 VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000, 633 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000, 634 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT = 1000128001, 635 VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT = 1000128002, 636 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000128003, 637 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004, 638 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129000, 639 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129001, 640 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID = 1000129002, 641 VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003, 642 VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004, 643 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005, 644 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID = 1000129006, 645 #ifdef VK_ENABLE_BETA_EXTENSIONS 646 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX = 1000134000, 647 #endif 648 #ifdef VK_ENABLE_BETA_EXTENSIONS 649 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX = 1000134001, 650 #endif 651 #ifdef VK_ENABLE_BETA_EXTENSIONS 652 VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_SCRATCH_SIZE_AMDX = 1000134002, 653 #endif 654 #ifdef VK_ENABLE_BETA_EXTENSIONS 655 VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_CREATE_INFO_AMDX = 1000134003, 656 #endif 657 #ifdef VK_ENABLE_BETA_EXTENSIONS 658 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX = 1000134004, 659 #endif 660 VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD = 1000044008, 661 VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000, 662 VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001, 663 VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002, 664 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003, 665 VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = 1000143004, 666 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000, 667 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001, 668 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002, 669 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000, 670 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR = 1000150007, 671 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR = 1000150000, 672 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR = 1000150002, 673 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR = 1000150003, 674 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR = 1000150004, 675 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR = 1000150005, 676 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR = 1000150006, 677 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR = 1000150009, 678 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR = 1000150010, 679 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR = 1000150011, 680 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR = 1000150012, 681 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR = 1000150013, 682 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR = 1000150014, 683 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR = 1000150017, 684 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR = 1000150020, 685 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR = 1000347000, 686 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR = 1000347001, 687 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR = 1000150015, 688 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR = 1000150016, 689 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR = 1000150018, 690 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR = 1000348013, 691 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000, 692 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV = 1000154000, 693 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV = 1000154001, 694 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT = 1000158000, 695 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT = 1000158002, 696 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT = 1000158003, 697 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT = 1000158004, 698 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158005, 699 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT = 1000158006, 700 VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000, 701 VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001, 702 #ifdef VK_ENABLE_BETA_EXTENSIONS 703 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR = 1000163000, 704 #endif 705 #ifdef VK_ENABLE_BETA_EXTENSIONS 706 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR = 1000163001, 707 #endif 708 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000, 709 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV = 1000164001, 710 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV = 1000164002, 711 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV = 1000164005, 712 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV = 1000165000, 713 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV = 1000165001, 714 VK_STRUCTURE_TYPE_GEOMETRY_NV = 1000165003, 715 VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV = 1000165004, 716 VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV = 1000165005, 717 VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV = 1000165006, 718 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV = 1000165007, 719 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV = 1000165008, 720 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV = 1000165009, 721 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV = 1000165011, 722 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV = 1000165012, 723 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV = 1000166000, 724 VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV = 1000166001, 725 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000, 726 VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001, 727 VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000, 728 VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001, 729 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002, 730 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR = 1000181000, 731 VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD = 1000183000, 732 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000, 733 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_KHR = 1000187000, 734 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000187001, 735 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR = 1000187002, 736 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_INFO_KHR = 1000187003, 737 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_KHR = 1000187004, 738 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_KHR = 1000187005, 739 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD = 1000189000, 740 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000, 741 VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP = 1000191000, 742 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000, 743 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001, 744 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV = 1000204000, 745 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV = 1000205000, 746 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002, 747 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV = 1000206000, 748 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001, 749 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008, 750 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009, 751 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL = 1000209000, 752 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL = 1000210000, 753 VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL = 1000210001, 754 VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL = 1000210002, 755 VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL = 1000210003, 756 VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL = 1000210004, 757 VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL = 1000210005, 758 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT = 1000212000, 759 VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD = 1000213000, 760 VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD = 1000213001, 761 VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA = 1000214000, 762 VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT = 1000217000, 763 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT = 1000218000, 764 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT = 1000218001, 765 VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT = 1000218002, 766 VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT = 1000044007, 767 VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000226000, 768 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR = 1000226001, 769 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR = 1000226002, 770 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR = 1000226003, 771 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR = 1000226004, 772 VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000044006, 773 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD = 1000227000, 774 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = 1000229000, 775 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT = 1000234000, 776 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR = 1000235000, 777 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000, 778 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT = 1000238000, 779 VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT = 1000238001, 780 VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR = 1000239000, 781 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV = 1000240000, 782 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT = 1000244000, 783 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002, 784 VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT = 1000247000, 785 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR = 1000248000, 786 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV = 1000249000, 787 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249001, 788 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249002, 789 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV = 1000250000, 790 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV = 1000250001, 791 VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV = 1000250002, 792 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT = 1000251000, 793 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000, 794 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT = 1000254000, 795 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT = 1000254001, 796 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT = 1000254002, 797 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT = 1000255000, 798 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT = 1000255002, 799 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT = 1000255001, 800 VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000, 801 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT = 1000260000, 802 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT = 1000267000, 803 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000, 804 VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR = 1000269001, 805 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR = 1000269002, 806 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR = 1000269003, 807 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR = 1000269004, 808 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR = 1000269005, 809 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_FEATURES_EXT = 1000272000, 810 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_PROPERTIES_EXT = 1000272001, 811 VK_STRUCTURE_TYPE_MEMORY_MAP_PLACED_INFO_EXT = 1000272002, 812 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT = 1000273000, 813 VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT = 1000274000, 814 VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT = 1000274001, 815 VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT = 1000274002, 816 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT = 1000275000, 817 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT = 1000275001, 818 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT = 1000275002, 819 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT = 1000275003, 820 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT = 1000275004, 821 VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_EXT = 1000275005, 822 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV = 1000277000, 823 VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV = 1000277001, 824 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV = 1000277002, 825 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV = 1000277003, 826 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV = 1000277004, 827 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV = 1000277005, 828 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV = 1000277006, 829 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV = 1000277007, 830 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV = 1000278000, 831 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV = 1000278001, 832 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000, 833 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM = 1000282000, 834 VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM = 1000282001, 835 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_BIAS_CONTROL_FEATURES_EXT = 1000283000, 836 VK_STRUCTURE_TYPE_DEPTH_BIAS_INFO_EXT = 1000283001, 837 VK_STRUCTURE_TYPE_DEPTH_BIAS_REPRESENTATION_INFO_EXT = 1000283002, 838 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT = 1000284000, 839 VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT = 1000284001, 840 VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT = 1000284002, 841 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT = 1000286000, 842 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT = 1000286001, 843 VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT = 1000287000, 844 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT = 1000287001, 845 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT = 1000287002, 846 VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR = 1000290000, 847 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV = 1000292000, 848 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV = 1000292001, 849 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV = 1000292002, 850 VK_STRUCTURE_TYPE_PRESENT_ID_KHR = 1000294000, 851 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR = 1000294001, 852 VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR = 1000299000, 853 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR = 1000299001, 854 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR = 1000299002, 855 VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR = 1000299003, 856 VK_STRUCTURE_TYPE_VIDEO_ENCODE_USAGE_INFO_KHR = 1000299004, 857 VK_STRUCTURE_TYPE_QUERY_POOL_VIDEO_ENCODE_FEEDBACK_CREATE_INFO_KHR = 1000299005, 858 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR = 1000299006, 859 VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_PROPERTIES_KHR = 1000299007, 860 VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR = 1000299008, 861 VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_GET_INFO_KHR = 1000299009, 862 VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_FEEDBACK_INFO_KHR = 1000299010, 863 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000, 864 VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001, 865 VK_STRUCTURE_TYPE_CUDA_MODULE_CREATE_INFO_NV = 1000307000, 866 VK_STRUCTURE_TYPE_CUDA_FUNCTION_CREATE_INFO_NV = 1000307001, 867 VK_STRUCTURE_TYPE_CUDA_LAUNCH_INFO_NV = 1000307002, 868 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_FEATURES_NV = 1000307003, 869 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_PROPERTIES_NV = 1000307004, 870 VK_STRUCTURE_TYPE_QUERY_LOW_LATENCY_SUPPORT_NV = 1000310000, 871 VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECT_CREATE_INFO_EXT = 1000311000, 872 VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECTS_INFO_EXT = 1000311001, 873 VK_STRUCTURE_TYPE_EXPORT_METAL_DEVICE_INFO_EXT = 1000311002, 874 VK_STRUCTURE_TYPE_EXPORT_METAL_COMMAND_QUEUE_INFO_EXT = 1000311003, 875 VK_STRUCTURE_TYPE_EXPORT_METAL_BUFFER_INFO_EXT = 1000311004, 876 VK_STRUCTURE_TYPE_IMPORT_METAL_BUFFER_INFO_EXT = 1000311005, 877 VK_STRUCTURE_TYPE_EXPORT_METAL_TEXTURE_INFO_EXT = 1000311006, 878 VK_STRUCTURE_TYPE_IMPORT_METAL_TEXTURE_INFO_EXT = 1000311007, 879 VK_STRUCTURE_TYPE_EXPORT_METAL_IO_SURFACE_INFO_EXT = 1000311008, 880 VK_STRUCTURE_TYPE_IMPORT_METAL_IO_SURFACE_INFO_EXT = 1000311009, 881 VK_STRUCTURE_TYPE_EXPORT_METAL_SHARED_EVENT_INFO_EXT = 1000311010, 882 VK_STRUCTURE_TYPE_IMPORT_METAL_SHARED_EVENT_INFO_EXT = 1000311011, 883 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT = 1000316000, 884 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT = 1000316001, 885 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT = 1000316002, 886 VK_STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT = 1000316003, 887 VK_STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT = 1000316004, 888 VK_STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316005, 889 VK_STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316006, 890 VK_STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316007, 891 VK_STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316008, 892 VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT = 1000316010, 893 VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT = 1000316011, 894 VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT = 1000316012, 895 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316009, 896 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT = 1000320000, 897 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT = 1000320001, 898 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT = 1000320002, 899 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD = 1000321000, 900 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR = 1000203000, 901 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR = 1000322000, 902 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000, 903 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV = 1000326000, 904 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV = 1000326001, 905 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV = 1000326002, 906 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV = 1000327000, 907 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV = 1000327001, 908 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV = 1000327002, 909 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT = 1000328000, 910 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT = 1000328001, 911 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT = 1000330000, 912 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT = 1000332000, 913 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001, 914 VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM = 1000333000, 915 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR = 1000336000, 916 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT = 1000338000, 917 VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT = 1000338001, 918 VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT = 1000338004, 919 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT = 1000339000, 920 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000, 921 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT = 1000341000, 922 VK_STRUCTURE_TYPE_DEVICE_FAULT_COUNTS_EXT = 1000341001, 923 VK_STRUCTURE_TYPE_DEVICE_FAULT_INFO_EXT = 1000341002, 924 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT = 1000344000, 925 VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000, 926 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000, 927 VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001, 928 VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002, 929 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT = 1000353000, 930 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT = 1000354000, 931 VK_STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT = 1000354001, 932 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT = 1000355000, 933 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT = 1000355001, 934 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT = 1000356000, 935 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_EXT = 1000361000, 936 VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364000, 937 VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA = 1000364001, 938 VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364002, 939 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365000, 940 VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365001, 941 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA = 1000366000, 942 VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA = 1000366001, 943 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA = 1000366002, 944 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA = 1000366003, 945 VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA = 1000366004, 946 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA = 1000366005, 947 VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA = 1000366006, 948 VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA = 1000366007, 949 VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA = 1000366008, 950 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA = 1000366009, 951 VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI = 1000369000, 952 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI = 1000369001, 953 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI = 1000369002, 954 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI = 1000370000, 955 VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV = 1000371000, 956 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV = 1000371001, 957 VK_STRUCTURE_TYPE_PIPELINE_PROPERTIES_IDENTIFIER_EXT = 1000372000, 958 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT = 1000372001, 959 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAME_BOUNDARY_FEATURES_EXT = 1000375000, 960 VK_STRUCTURE_TYPE_FRAME_BOUNDARY_EXT = 1000375001, 961 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT = 1000376000, 962 VK_STRUCTURE_TYPE_SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT = 1000376001, 963 VK_STRUCTURE_TYPE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT = 1000376002, 964 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT = 1000377000, 965 VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX = 1000378000, 966 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000, 967 VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001, 968 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT = 1000382000, 969 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR = 1000386000, 970 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT = 1000391000, 971 VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT = 1000391001, 972 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT = 1000392000, 973 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT = 1000392001, 974 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT = 1000393000, 975 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT = 1000395000, 976 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_PROPERTIES_EXT = 1000395001, 977 VK_STRUCTURE_TYPE_MICROMAP_BUILD_INFO_EXT = 1000396000, 978 VK_STRUCTURE_TYPE_MICROMAP_VERSION_INFO_EXT = 1000396001, 979 VK_STRUCTURE_TYPE_COPY_MICROMAP_INFO_EXT = 1000396002, 980 VK_STRUCTURE_TYPE_COPY_MICROMAP_TO_MEMORY_INFO_EXT = 1000396003, 981 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_MICROMAP_INFO_EXT = 1000396004, 982 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT = 1000396005, 983 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT = 1000396006, 984 VK_STRUCTURE_TYPE_MICROMAP_CREATE_INFO_EXT = 1000396007, 985 VK_STRUCTURE_TYPE_MICROMAP_BUILD_SIZES_INFO_EXT = 1000396008, 986 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT = 1000396009, 987 #ifdef VK_ENABLE_BETA_EXTENSIONS 988 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV = 1000397000, 989 #endif 990 #ifdef VK_ENABLE_BETA_EXTENSIONS 991 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV = 1000397001, 992 #endif 993 #ifdef VK_ENABLE_BETA_EXTENSIONS 994 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV = 1000397002, 995 #endif 996 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI = 1000404000, 997 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI = 1000404001, 998 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_VRS_FEATURES_HUAWEI = 1000404002, 999 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT = 1000411000, 1000 VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT = 1000411001, 1001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT = 1000412000, 1002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM = 1000415000, 1003 VK_STRUCTURE_TYPE_DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM = 1000417000, 1004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM = 1000417001, 1005 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM = 1000417002, 1006 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT = 1000418000, 1007 VK_STRUCTURE_TYPE_IMAGE_VIEW_SLICED_CREATE_INFO_EXT = 1000418001, 1008 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE = 1000420000, 1009 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE = 1000420001, 1010 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE = 1000420002, 1011 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT = 1000422000, 1012 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_FEATURES_ARM = 1000424000, 1013 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_PROPERTIES_ARM = 1000424001, 1014 VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_BEGIN_INFO_ARM = 1000424002, 1015 VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_INFO_ARM = 1000424003, 1016 VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_SUBMIT_INFO_ARM = 1000424004, 1017 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM = 1000425000, 1018 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001, 1019 VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002, 1020 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV = 1000426000, 1021 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV = 1000426001, 1022 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV = 1000427000, 1023 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV = 1000427001, 1024 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV = 1000428000, 1025 VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV = 1000428001, 1026 VK_STRUCTURE_TYPE_PIPELINE_INDIRECT_DEVICE_ADDRESS_INFO_NV = 1000428002, 1027 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_LINEAR_SWEPT_SPHERES_FEATURES_NV = 1000429008, 1028 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_LINEAR_SWEPT_SPHERES_DATA_NV = 1000429009, 1029 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_SPHERES_DATA_NV = 1000429010, 1030 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000, 1031 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR = 1000434000, 1032 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT = 1000437000, 1033 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM = 1000440000, 1034 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM = 1000440001, 1035 VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM = 1000440002, 1036 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_FEATURES_EXT = 1000451000, 1037 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_PROPERTIES_EXT = 1000451001, 1038 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXT = 1000453000, 1039 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT = 1000455000, 1040 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT = 1000455001, 1041 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT = 1000458000, 1042 VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT = 1000458001, 1043 VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000458002, 1044 VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT = 1000458003, 1045 VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_INFO_LUNARG = 1000459000, 1046 VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG = 1000459001, 1047 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT = 1000462000, 1048 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT = 1000462001, 1049 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT = 1000462002, 1050 VK_STRUCTURE_TYPE_SHADER_MODULE_IDENTIFIER_EXT = 1000462003, 1051 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT = 1000342000, 1052 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV = 1000464000, 1053 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV = 1000464001, 1054 VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV = 1000464002, 1055 VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV = 1000464003, 1056 VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_INFO_NV = 1000464004, 1057 VK_STRUCTURE_TYPE_OPTICAL_FLOW_EXECUTE_INFO_NV = 1000464005, 1058 VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV = 1000464010, 1059 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT = 1000465000, 1060 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_FEATURES_ANDROID = 1000468000, 1061 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_PROPERTIES_ANDROID = 1000468001, 1062 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_RESOLVE_PROPERTIES_ANDROID = 1000468002, 1063 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ANTI_LAG_FEATURES_AMD = 1000476000, 1064 VK_STRUCTURE_TYPE_ANTI_LAG_DATA_AMD = 1000476001, 1065 VK_STRUCTURE_TYPE_ANTI_LAG_PRESENTATION_INFO_AMD = 1000476002, 1066 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR = 1000481000, 1067 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT = 1000482000, 1068 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT = 1000482001, 1069 VK_STRUCTURE_TYPE_SHADER_CREATE_INFO_EXT = 1000482002, 1070 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_BINARY_FEATURES_KHR = 1000483000, 1071 VK_STRUCTURE_TYPE_PIPELINE_BINARY_CREATE_INFO_KHR = 1000483001, 1072 VK_STRUCTURE_TYPE_PIPELINE_BINARY_INFO_KHR = 1000483002, 1073 VK_STRUCTURE_TYPE_PIPELINE_BINARY_KEY_KHR = 1000483003, 1074 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_BINARY_PROPERTIES_KHR = 1000483004, 1075 VK_STRUCTURE_TYPE_RELEASE_CAPTURED_PIPELINE_DATA_INFO_KHR = 1000483005, 1076 VK_STRUCTURE_TYPE_PIPELINE_BINARY_DATA_INFO_KHR = 1000483006, 1077 VK_STRUCTURE_TYPE_PIPELINE_CREATE_INFO_KHR = 1000483007, 1078 VK_STRUCTURE_TYPE_DEVICE_PIPELINE_BINARY_INTERNAL_CACHE_CONTROL_KHR = 1000483008, 1079 VK_STRUCTURE_TYPE_PIPELINE_BINARY_HANDLES_INFO_KHR = 1000483009, 1080 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM = 1000484000, 1081 VK_STRUCTURE_TYPE_TILE_PROPERTIES_QCOM = 1000484001, 1082 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC = 1000485000, 1083 VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC = 1000485001, 1084 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM = 1000488000, 1085 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV = 1000490000, 1086 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV = 1000490001, 1087 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_FEATURES_NV = 1000491000, 1088 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_PROPERTIES_NV = 1000491001, 1089 VK_STRUCTURE_TYPE_COOPERATIVE_VECTOR_PROPERTIES_NV = 1000491002, 1090 VK_STRUCTURE_TYPE_CONVERT_COOPERATIVE_VECTOR_MATRIX_INFO_NV = 1000491004, 1091 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_FEATURES_NV = 1000492000, 1092 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_PROPERTIES_NV = 1000492001, 1093 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT = 1000351000, 1094 VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT = 1000351002, 1095 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_FEATURES_EXT = 1000495000, 1096 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_PROPERTIES_EXT = 1000495001, 1097 VK_STRUCTURE_TYPE_LAYER_SETTINGS_CREATE_INFO_EXT = 1000496000, 1098 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM = 1000497000, 1099 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM = 1000497001, 1100 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT = 1000498000, 1101 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT = 1000499000, 1102 VK_STRUCTURE_TYPE_LATENCY_SLEEP_MODE_INFO_NV = 1000505000, 1103 VK_STRUCTURE_TYPE_LATENCY_SLEEP_INFO_NV = 1000505001, 1104 VK_STRUCTURE_TYPE_SET_LATENCY_MARKER_INFO_NV = 1000505002, 1105 VK_STRUCTURE_TYPE_GET_LATENCY_MARKER_INFO_NV = 1000505003, 1106 VK_STRUCTURE_TYPE_LATENCY_TIMINGS_FRAME_REPORT_NV = 1000505004, 1107 VK_STRUCTURE_TYPE_LATENCY_SUBMISSION_PRESENT_ID_NV = 1000505005, 1108 VK_STRUCTURE_TYPE_OUT_OF_BAND_QUEUE_TYPE_INFO_NV = 1000505006, 1109 VK_STRUCTURE_TYPE_SWAPCHAIN_LATENCY_CREATE_INFO_NV = 1000505007, 1110 VK_STRUCTURE_TYPE_LATENCY_SURFACE_CAPABILITIES_NV = 1000505008, 1111 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR = 1000506000, 1112 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_KHR = 1000506001, 1113 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR = 1000506002, 1114 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM = 1000510000, 1115 VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM = 1000510001, 1116 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_KHR = 1000201000, 1117 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_PROPERTIES_KHR = 1000511000, 1118 VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_CAPABILITIES_KHR = 1000512000, 1119 VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PICTURE_INFO_KHR = 1000512001, 1120 VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PROFILE_INFO_KHR = 1000512003, 1121 VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000512004, 1122 VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_DPB_SLOT_INFO_KHR = 1000512005, 1123 VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_CAPABILITIES_KHR = 1000513000, 1124 VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000513001, 1125 VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_PICTURE_INFO_KHR = 1000513002, 1126 VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_DPB_SLOT_INFO_KHR = 1000513003, 1127 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_AV1_FEATURES_KHR = 1000513004, 1128 VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_PROFILE_INFO_KHR = 1000513005, 1129 VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_RATE_CONTROL_INFO_KHR = 1000513006, 1130 VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_RATE_CONTROL_LAYER_INFO_KHR = 1000513007, 1131 VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_QUALITY_LEVEL_PROPERTIES_KHR = 1000513008, 1132 VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_SESSION_CREATE_INFO_KHR = 1000513009, 1133 VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_GOP_REMAINING_FRAME_INFO_KHR = 1000513010, 1134 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_1_FEATURES_KHR = 1000515000, 1135 VK_STRUCTURE_TYPE_VIDEO_INLINE_QUERY_INFO_KHR = 1000515001, 1136 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV = 1000516000, 1137 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM = 1000518000, 1138 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_PROPERTIES_QCOM = 1000518001, 1139 VK_STRUCTURE_TYPE_SAMPLER_BLOCK_MATCH_WINDOW_CREATE_INFO_QCOM = 1000518002, 1140 VK_STRUCTURE_TYPE_SAMPLER_CUBIC_WEIGHTS_CREATE_INFO_QCOM = 1000519000, 1141 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_WEIGHTS_FEATURES_QCOM = 1000519001, 1142 VK_STRUCTURE_TYPE_BLIT_IMAGE_CUBIC_WEIGHTS_INFO_QCOM = 1000519002, 1143 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_DEGAMMA_FEATURES_QCOM = 1000520000, 1144 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_YCBCR_DEGAMMA_CREATE_INFO_QCOM = 1000520001, 1145 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_CLAMP_FEATURES_QCOM = 1000521000, 1146 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_FEATURES_EXT = 1000524000, 1147 VK_STRUCTURE_TYPE_SCREEN_BUFFER_PROPERTIES_QNX = 1000529000, 1148 VK_STRUCTURE_TYPE_SCREEN_BUFFER_FORMAT_PROPERTIES_QNX = 1000529001, 1149 VK_STRUCTURE_TYPE_IMPORT_SCREEN_BUFFER_INFO_QNX = 1000529002, 1150 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_QNX = 1000529003, 1151 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCREEN_BUFFER_FEATURES_QNX = 1000529004, 1152 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT = 1000530000, 1153 VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_KHR = 1000184000, 1154 VK_STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT = 1000545007, 1155 VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT = 1000545008, 1156 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV = 1000546000, 1157 VK_STRUCTURE_TYPE_DISPLAY_SURFACE_STEREO_CREATE_INFO_NV = 1000551000, 1158 VK_STRUCTURE_TYPE_DISPLAY_MODE_STEREO_PROPERTIES_NV = 1000551001, 1159 VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUANTIZATION_MAP_CAPABILITIES_KHR = 1000553000, 1160 VK_STRUCTURE_TYPE_VIDEO_FORMAT_QUANTIZATION_MAP_PROPERTIES_KHR = 1000553001, 1161 VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUANTIZATION_MAP_INFO_KHR = 1000553002, 1162 VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUANTIZATION_MAP_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000553005, 1163 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_QUANTIZATION_MAP_FEATURES_KHR = 1000553009, 1164 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_QUANTIZATION_MAP_CAPABILITIES_KHR = 1000553003, 1165 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_QUANTIZATION_MAP_CAPABILITIES_KHR = 1000553004, 1166 VK_STRUCTURE_TYPE_VIDEO_FORMAT_H265_QUANTIZATION_MAP_PROPERTIES_KHR = 1000553006, 1167 VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_QUANTIZATION_MAP_CAPABILITIES_KHR = 1000553007, 1168 VK_STRUCTURE_TYPE_VIDEO_FORMAT_AV1_QUANTIZATION_MAP_PROPERTIES_KHR = 1000553008, 1169 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAW_ACCESS_CHAINS_FEATURES_NV = 1000555000, 1170 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_RELAXED_EXTENDED_INSTRUCTION_FEATURES_KHR = 1000558000, 1171 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMMAND_BUFFER_INHERITANCE_FEATURES_NV = 1000559000, 1172 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_7_FEATURES_KHR = 1000562000, 1173 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_7_PROPERTIES_KHR = 1000562001, 1174 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_LIST_KHR = 1000562002, 1175 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_KHR = 1000562003, 1176 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_VULKAN_PROPERTIES_KHR = 1000562004, 1177 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV = 1000563000, 1178 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_REPLICATED_COMPOSITES_FEATURES_EXT = 1000564000, 1179 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV = 1000568000, 1180 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_FEATURES_NV = 1000569000, 1181 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_PROPERTIES_NV = 1000569001, 1182 VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_CLUSTERS_BOTTOM_LEVEL_INPUT_NV = 1000569002, 1183 VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_TRIANGLE_CLUSTER_INPUT_NV = 1000569003, 1184 VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_MOVE_OBJECTS_INPUT_NV = 1000569004, 1185 VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_INPUT_INFO_NV = 1000569005, 1186 VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_COMMANDS_INFO_NV = 1000569006, 1187 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CLUSTER_ACCELERATION_STRUCTURE_CREATE_INFO_NV = 1000569007, 1188 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_FEATURES_NV = 1000570000, 1189 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_PROPERTIES_NV = 1000570001, 1190 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_PARTITIONED_ACCELERATION_STRUCTURE_NV = 1000570002, 1191 VK_STRUCTURE_TYPE_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCES_INPUT_NV = 1000570003, 1192 VK_STRUCTURE_TYPE_BUILD_PARTITIONED_ACCELERATION_STRUCTURE_INFO_NV = 1000570004, 1193 VK_STRUCTURE_TYPE_PARTITIONED_ACCELERATION_STRUCTURE_FLAGS_NV = 1000570005, 1194 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_EXT = 1000572000, 1195 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_EXT = 1000572001, 1196 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_EXT = 1000572002, 1197 VK_STRUCTURE_TYPE_INDIRECT_EXECUTION_SET_CREATE_INFO_EXT = 1000572003, 1198 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_EXT = 1000572004, 1199 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_EXT = 1000572006, 1200 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_EXT = 1000572007, 1201 VK_STRUCTURE_TYPE_WRITE_INDIRECT_EXECUTION_SET_PIPELINE_EXT = 1000572008, 1202 VK_STRUCTURE_TYPE_WRITE_INDIRECT_EXECUTION_SET_SHADER_EXT = 1000572009, 1203 VK_STRUCTURE_TYPE_INDIRECT_EXECUTION_SET_PIPELINE_INFO_EXT = 1000572010, 1204 VK_STRUCTURE_TYPE_INDIRECT_EXECUTION_SET_SHADER_INFO_EXT = 1000572011, 1205 VK_STRUCTURE_TYPE_INDIRECT_EXECUTION_SET_SHADER_LAYOUT_INFO_EXT = 1000572012, 1206 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_PIPELINE_INFO_EXT = 1000572013, 1207 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_SHADER_INFO_EXT = 1000572014, 1208 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_8_FEATURES_KHR = 1000574000, 1209 VK_STRUCTURE_TYPE_MEMORY_BARRIER_ACCESS_FLAGS_3_KHR = 1000574002, 1210 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_FEATURES_MESA = 1000575000, 1211 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_PROPERTIES_MESA = 1000575001, 1212 VK_STRUCTURE_TYPE_IMAGE_ALIGNMENT_CONTROL_CREATE_INFO_MESA = 1000575002, 1213 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_CONTROL_FEATURES_EXT = 1000582000, 1214 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLAMP_CONTROL_CREATE_INFO_EXT = 1000582001, 1215 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_2_FEATURES_KHR = 1000586000, 1216 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_INLINE_SESSION_PARAMETERS_INFO_KHR = 1000586001, 1217 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_INLINE_SESSION_PARAMETERS_INFO_KHR = 1000586002, 1218 VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_INLINE_SESSION_PARAMETERS_INFO_KHR = 1000586003, 1219 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HDR_VIVID_FEATURES_HUAWEI = 1000590000, 1220 VK_STRUCTURE_TYPE_HDR_VIVID_DYNAMIC_METADATA_HUAWEI = 1000590001, 1221 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_FEATURES_NV = 1000593000, 1222 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_FLEXIBLE_DIMENSIONS_PROPERTIES_NV = 1000593001, 1223 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_PROPERTIES_NV = 1000593002, 1224 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_OPACITY_MICROMAP_FEATURES_ARM = 1000596000, 1225 VK_STRUCTURE_TYPE_IMPORT_MEMORY_METAL_HANDLE_INFO_EXT = 1000602000, 1226 VK_STRUCTURE_TYPE_MEMORY_METAL_HANDLE_PROPERTIES_EXT = 1000602001, 1227 VK_STRUCTURE_TYPE_MEMORY_GET_METAL_HANDLE_INFO_EXT = 1000602002, 1228 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_KHR = 1000421000, 1229 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_ROBUSTNESS_FEATURES_EXT = 1000608000, 1230 #ifdef VK_ENABLE_BETA_EXTENSIONS 1231 VK_STRUCTURE_TYPE_SET_PRESENT_CONFIG_NV = 1000613000, 1232 #endif 1233 #ifdef VK_ENABLE_BETA_EXTENSIONS 1234 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_METERING_FEATURES_NV = 1000613001, 1235 #endif 1236 1237 // ---- OHOS Add---- 1238 VK_STRUCTURE_TYPE_SURFACE_CREATE_INFO_OHOS = 1000685000, 1239 VK_STRUCTURE_TYPE_NATIVE_BUFFER_OHOS = 1000453001, 1240 VK_STRUCTURE_TYPE_SWAPCHAIN_IMAGE_CREATE_INFO_OHOS = 1000453002, 1241 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENTATION_PROPERTIES_OHOS = 1000453003, 1242 VK_STRUCTURE_TYPE_NATIVE_BUFFER_USAGE_OHOS = 1000452000, 1243 VK_STRUCTURE_TYPE_NATIVE_BUFFER_PROPERTIES_OHOS = 1000452001, 1244 VK_STRUCTURE_TYPE_NATIVE_BUFFER_FORMAT_PROPERTIES_OHOS = 1000452002, 1245 VK_STRUCTURE_TYPE_IMPORT_NATIVE_BUFFER_INFO_OHOS = 1000452003, 1246 VK_STRUCTURE_TYPE_MEMORY_GET_NATIVE_BUFFER_INFO_OHOS = 1000452004, 1247 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_OHOS = 1000452005, 1248 // ---- OHOS Add---- 1249 1250 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, 1251 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, 1252 // VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT is a deprecated alias 1253 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT, 1254 VK_STRUCTURE_TYPE_RENDERING_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_INFO, 1255 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO, 1256 VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO, 1257 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES, 1258 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO, 1259 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO, 1260 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES, 1261 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES, 1262 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2, 1263 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2, 1264 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2, 1265 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2, 1266 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2, 1267 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2, 1268 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2, 1269 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2, 1270 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2, 1271 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO, 1272 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO, 1273 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO, 1274 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO, 1275 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO, 1276 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO, 1277 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO, 1278 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES, 1279 VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO, 1280 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES, 1281 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES, 1282 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES, 1283 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO, 1284 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO, 1285 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES, 1286 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO, 1287 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES, 1288 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES, 1289 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO, 1290 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO, 1291 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO, 1292 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO, 1293 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES, 1294 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO, 1295 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES, 1296 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES, 1297 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES, 1298 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES, 1299 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO, 1300 // VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT is a deprecated alias 1301 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT, 1302 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES, 1303 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO, 1304 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO, 1305 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO, 1306 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2, 1307 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, 1308 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2, 1309 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2, 1310 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2, 1311 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO, 1312 VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO, 1313 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO, 1314 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES, 1315 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO, 1316 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES, 1317 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO, 1318 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO, 1319 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO, 1320 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, 1321 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR, 1322 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS, 1323 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO, 1324 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES, 1325 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO, 1326 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES, 1327 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES, 1328 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK, 1329 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO, 1330 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2, 1331 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2, 1332 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2, 1333 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2, 1334 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2, 1335 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO, 1336 VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_NV = VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD, 1337 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO, 1338 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO, 1339 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO, 1340 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO, 1341 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES, 1342 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES, 1343 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO, 1344 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO, 1345 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO, 1346 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES, 1347 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES, 1348 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO, 1349 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT, 1350 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES, 1351 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT, 1352 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO, 1353 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES, 1354 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES, 1355 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES, 1356 VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_KHR, 1357 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO, 1358 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES, 1359 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES, 1360 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO, 1361 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES, 1362 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO, 1363 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES, 1364 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES, 1365 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES, 1366 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE, 1367 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_KHR, 1368 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR, 1369 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES, 1370 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES, 1371 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO, 1372 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO, 1373 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO, 1374 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO, 1375 // VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL is a deprecated alias 1376 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL, 1377 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES, 1378 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES, 1379 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES, 1380 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES, 1381 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO, 1382 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES, 1383 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES, 1384 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO, 1385 VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO, 1386 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES, 1387 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT, 1388 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT, 1389 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT, 1390 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO, 1391 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES, 1392 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO, 1393 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES, 1394 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES, 1395 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO, 1396 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO, 1397 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO, 1398 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO, 1399 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES, 1400 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO, 1401 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES, 1402 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES, 1403 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES, 1404 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES, 1405 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES, 1406 VK_STRUCTURE_TYPE_MEMORY_TO_IMAGE_COPY_EXT = VK_STRUCTURE_TYPE_MEMORY_TO_IMAGE_COPY, 1407 VK_STRUCTURE_TYPE_IMAGE_TO_MEMORY_COPY_EXT = VK_STRUCTURE_TYPE_IMAGE_TO_MEMORY_COPY, 1408 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_MEMORY_INFO_EXT = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_MEMORY_INFO, 1409 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INFO_EXT = VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INFO, 1410 VK_STRUCTURE_TYPE_HOST_IMAGE_LAYOUT_TRANSITION_INFO_EXT = VK_STRUCTURE_TYPE_HOST_IMAGE_LAYOUT_TRANSITION_INFO, 1411 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_IMAGE_INFO_EXT = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_IMAGE_INFO, 1412 VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE_EXT = VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE, 1413 VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY_EXT = VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY, 1414 VK_STRUCTURE_TYPE_MEMORY_MAP_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_MAP_INFO, 1415 VK_STRUCTURE_TYPE_MEMORY_UNMAP_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_UNMAP_INFO, 1416 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES, 1417 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES, 1418 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES, 1419 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES, 1420 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES, 1421 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO, 1422 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO, 1423 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES, 1424 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_MEMORY_BARRIER_2, 1425 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2, 1426 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2, 1427 VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR = VK_STRUCTURE_TYPE_DEPENDENCY_INFO, 1428 VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR = VK_STRUCTURE_TYPE_SUBMIT_INFO_2, 1429 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO, 1430 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO, 1431 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES, 1432 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES, 1433 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES, 1434 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2, 1435 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2, 1436 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2, 1437 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2, 1438 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2, 1439 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2, 1440 VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_COPY_2, 1441 VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_IMAGE_COPY_2, 1442 VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR = VK_STRUCTURE_TYPE_IMAGE_BLIT_2, 1443 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2, 1444 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2, 1445 VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT = VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2, 1446 VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT = VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2, 1447 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT, 1448 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT, 1449 VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT, 1450 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3, 1451 VK_STRUCTURE_TYPE_PIPELINE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR, 1452 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES, 1453 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES, 1454 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES, 1455 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES, 1456 VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS, 1457 VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS, 1458 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES, 1459 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_KHR, 1460 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES, 1461 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES, 1462 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES, 1463 VK_STRUCTURE_TYPE_RENDERING_AREA_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_AREA_INFO, 1464 VK_STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO, 1465 VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_KHR = VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2, 1466 VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2, 1467 VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO, 1468 VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO, 1469 VK_STRUCTURE_TYPE_SHADER_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO, 1470 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES, 1471 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO, 1472 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES, 1473 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES, 1474 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES, 1475 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES, 1476 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO, 1477 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES, 1478 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES, 1479 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES, 1480 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES, 1481 VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR = VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS, 1482 VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO_KHR = VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO, 1483 VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO_KHR = VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO, 1484 VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO_KHR = VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO, 1485 VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO_KHR = VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO, 1486 VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF 1487 } VkStructureType; 1488 1489 typedef enum VkPipelineCacheHeaderVersion { 1490 VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1, 1491 VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF 1492 } VkPipelineCacheHeaderVersion; 1493 1494 typedef enum VkImageLayout { 1495 VK_IMAGE_LAYOUT_UNDEFINED = 0, 1496 VK_IMAGE_LAYOUT_GENERAL = 1, 1497 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2, 1498 VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3, 1499 VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4, 1500 VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5, 1501 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6, 1502 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7, 1503 VK_IMAGE_LAYOUT_PREINITIALIZED = 8, 1504 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000, 1505 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001, 1506 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000, 1507 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001, 1508 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002, 1509 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003, 1510 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL = 1000314000, 1511 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL = 1000314001, 1512 VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ = 1000232000, 1513 VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002, 1514 VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR = 1000024000, 1515 VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR = 1000024001, 1516 VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR = 1000024002, 1517 VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000, 1518 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000, 1519 VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003, 1520 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR = 1000299000, 1521 VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR = 1000299001, 1522 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR = 1000299002, 1523 VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT = 1000339000, 1524 VK_IMAGE_LAYOUT_VIDEO_ENCODE_QUANTIZATION_MAP_KHR = 1000553000, 1525 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL, 1526 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, 1527 VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR, 1528 VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR = VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ, 1529 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, 1530 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, 1531 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, 1532 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL, 1533 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL, 1534 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL, 1535 VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF 1536 } VkImageLayout; 1537 1538 typedef enum VkObjectType { 1539 VK_OBJECT_TYPE_UNKNOWN = 0, 1540 VK_OBJECT_TYPE_INSTANCE = 1, 1541 VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2, 1542 VK_OBJECT_TYPE_DEVICE = 3, 1543 VK_OBJECT_TYPE_QUEUE = 4, 1544 VK_OBJECT_TYPE_SEMAPHORE = 5, 1545 VK_OBJECT_TYPE_COMMAND_BUFFER = 6, 1546 VK_OBJECT_TYPE_FENCE = 7, 1547 VK_OBJECT_TYPE_DEVICE_MEMORY = 8, 1548 VK_OBJECT_TYPE_BUFFER = 9, 1549 VK_OBJECT_TYPE_IMAGE = 10, 1550 VK_OBJECT_TYPE_EVENT = 11, 1551 VK_OBJECT_TYPE_QUERY_POOL = 12, 1552 VK_OBJECT_TYPE_BUFFER_VIEW = 13, 1553 VK_OBJECT_TYPE_IMAGE_VIEW = 14, 1554 VK_OBJECT_TYPE_SHADER_MODULE = 15, 1555 VK_OBJECT_TYPE_PIPELINE_CACHE = 16, 1556 VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17, 1557 VK_OBJECT_TYPE_RENDER_PASS = 18, 1558 VK_OBJECT_TYPE_PIPELINE = 19, 1559 VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20, 1560 VK_OBJECT_TYPE_SAMPLER = 21, 1561 VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22, 1562 VK_OBJECT_TYPE_DESCRIPTOR_SET = 23, 1563 VK_OBJECT_TYPE_FRAMEBUFFER = 24, 1564 VK_OBJECT_TYPE_COMMAND_POOL = 25, 1565 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000, 1566 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000, 1567 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT = 1000295000, 1568 VK_OBJECT_TYPE_SURFACE_KHR = 1000000000, 1569 VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000, 1570 VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000, 1571 VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001, 1572 VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000, 1573 VK_OBJECT_TYPE_VIDEO_SESSION_KHR = 1000023000, 1574 VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR = 1000023001, 1575 VK_OBJECT_TYPE_CU_MODULE_NVX = 1000029000, 1576 VK_OBJECT_TYPE_CU_FUNCTION_NVX = 1000029001, 1577 VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000, 1578 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000, 1579 VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000, 1580 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000, 1581 VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000, 1582 VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000, 1583 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000, 1584 VK_OBJECT_TYPE_CUDA_MODULE_NV = 1000307000, 1585 VK_OBJECT_TYPE_CUDA_FUNCTION_NV = 1000307001, 1586 VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA = 1000366000, 1587 VK_OBJECT_TYPE_MICROMAP_EXT = 1000396000, 1588 VK_OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV = 1000464000, 1589 VK_OBJECT_TYPE_SHADER_EXT = 1000482000, 1590 VK_OBJECT_TYPE_PIPELINE_BINARY_KHR = 1000483000, 1591 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_EXT = 1000572000, 1592 VK_OBJECT_TYPE_INDIRECT_EXECUTION_SET_EXT = 1000572001, 1593 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE, 1594 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION, 1595 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = VK_OBJECT_TYPE_PRIVATE_DATA_SLOT, 1596 VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF 1597 } VkObjectType; 1598 1599 typedef enum VkVendorId { 1600 VK_VENDOR_ID_KHRONOS = 0x10000, 1601 VK_VENDOR_ID_VIV = 0x10001, 1602 VK_VENDOR_ID_VSI = 0x10002, 1603 VK_VENDOR_ID_KAZAN = 0x10003, 1604 VK_VENDOR_ID_CODEPLAY = 0x10004, 1605 VK_VENDOR_ID_MESA = 0x10005, 1606 VK_VENDOR_ID_POCL = 0x10006, 1607 VK_VENDOR_ID_MOBILEYE = 0x10007, 1608 VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF 1609 } VkVendorId; 1610 1611 typedef enum VkSystemAllocationScope { 1612 VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0, 1613 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1, 1614 VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2, 1615 VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3, 1616 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4, 1617 VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF 1618 } VkSystemAllocationScope; 1619 1620 typedef enum VkInternalAllocationType { 1621 VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0, 1622 VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF 1623 } VkInternalAllocationType; 1624 1625 typedef enum VkFormat { 1626 VK_FORMAT_UNDEFINED = 0, 1627 VK_FORMAT_R4G4_UNORM_PACK8 = 1, 1628 VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2, 1629 VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3, 1630 VK_FORMAT_R5G6B5_UNORM_PACK16 = 4, 1631 VK_FORMAT_B5G6R5_UNORM_PACK16 = 5, 1632 VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6, 1633 VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7, 1634 VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8, 1635 VK_FORMAT_R8_UNORM = 9, 1636 VK_FORMAT_R8_SNORM = 10, 1637 VK_FORMAT_R8_USCALED = 11, 1638 VK_FORMAT_R8_SSCALED = 12, 1639 VK_FORMAT_R8_UINT = 13, 1640 VK_FORMAT_R8_SINT = 14, 1641 VK_FORMAT_R8_SRGB = 15, 1642 VK_FORMAT_R8G8_UNORM = 16, 1643 VK_FORMAT_R8G8_SNORM = 17, 1644 VK_FORMAT_R8G8_USCALED = 18, 1645 VK_FORMAT_R8G8_SSCALED = 19, 1646 VK_FORMAT_R8G8_UINT = 20, 1647 VK_FORMAT_R8G8_SINT = 21, 1648 VK_FORMAT_R8G8_SRGB = 22, 1649 VK_FORMAT_R8G8B8_UNORM = 23, 1650 VK_FORMAT_R8G8B8_SNORM = 24, 1651 VK_FORMAT_R8G8B8_USCALED = 25, 1652 VK_FORMAT_R8G8B8_SSCALED = 26, 1653 VK_FORMAT_R8G8B8_UINT = 27, 1654 VK_FORMAT_R8G8B8_SINT = 28, 1655 VK_FORMAT_R8G8B8_SRGB = 29, 1656 VK_FORMAT_B8G8R8_UNORM = 30, 1657 VK_FORMAT_B8G8R8_SNORM = 31, 1658 VK_FORMAT_B8G8R8_USCALED = 32, 1659 VK_FORMAT_B8G8R8_SSCALED = 33, 1660 VK_FORMAT_B8G8R8_UINT = 34, 1661 VK_FORMAT_B8G8R8_SINT = 35, 1662 VK_FORMAT_B8G8R8_SRGB = 36, 1663 VK_FORMAT_R8G8B8A8_UNORM = 37, 1664 VK_FORMAT_R8G8B8A8_SNORM = 38, 1665 VK_FORMAT_R8G8B8A8_USCALED = 39, 1666 VK_FORMAT_R8G8B8A8_SSCALED = 40, 1667 VK_FORMAT_R8G8B8A8_UINT = 41, 1668 VK_FORMAT_R8G8B8A8_SINT = 42, 1669 VK_FORMAT_R8G8B8A8_SRGB = 43, 1670 VK_FORMAT_B8G8R8A8_UNORM = 44, 1671 VK_FORMAT_B8G8R8A8_SNORM = 45, 1672 VK_FORMAT_B8G8R8A8_USCALED = 46, 1673 VK_FORMAT_B8G8R8A8_SSCALED = 47, 1674 VK_FORMAT_B8G8R8A8_UINT = 48, 1675 VK_FORMAT_B8G8R8A8_SINT = 49, 1676 VK_FORMAT_B8G8R8A8_SRGB = 50, 1677 VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51, 1678 VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52, 1679 VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53, 1680 VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54, 1681 VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55, 1682 VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56, 1683 VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57, 1684 VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58, 1685 VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59, 1686 VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60, 1687 VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61, 1688 VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62, 1689 VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63, 1690 VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64, 1691 VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65, 1692 VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66, 1693 VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67, 1694 VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68, 1695 VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69, 1696 VK_FORMAT_R16_UNORM = 70, 1697 VK_FORMAT_R16_SNORM = 71, 1698 VK_FORMAT_R16_USCALED = 72, 1699 VK_FORMAT_R16_SSCALED = 73, 1700 VK_FORMAT_R16_UINT = 74, 1701 VK_FORMAT_R16_SINT = 75, 1702 VK_FORMAT_R16_SFLOAT = 76, 1703 VK_FORMAT_R16G16_UNORM = 77, 1704 VK_FORMAT_R16G16_SNORM = 78, 1705 VK_FORMAT_R16G16_USCALED = 79, 1706 VK_FORMAT_R16G16_SSCALED = 80, 1707 VK_FORMAT_R16G16_UINT = 81, 1708 VK_FORMAT_R16G16_SINT = 82, 1709 VK_FORMAT_R16G16_SFLOAT = 83, 1710 VK_FORMAT_R16G16B16_UNORM = 84, 1711 VK_FORMAT_R16G16B16_SNORM = 85, 1712 VK_FORMAT_R16G16B16_USCALED = 86, 1713 VK_FORMAT_R16G16B16_SSCALED = 87, 1714 VK_FORMAT_R16G16B16_UINT = 88, 1715 VK_FORMAT_R16G16B16_SINT = 89, 1716 VK_FORMAT_R16G16B16_SFLOAT = 90, 1717 VK_FORMAT_R16G16B16A16_UNORM = 91, 1718 VK_FORMAT_R16G16B16A16_SNORM = 92, 1719 VK_FORMAT_R16G16B16A16_USCALED = 93, 1720 VK_FORMAT_R16G16B16A16_SSCALED = 94, 1721 VK_FORMAT_R16G16B16A16_UINT = 95, 1722 VK_FORMAT_R16G16B16A16_SINT = 96, 1723 VK_FORMAT_R16G16B16A16_SFLOAT = 97, 1724 VK_FORMAT_R32_UINT = 98, 1725 VK_FORMAT_R32_SINT = 99, 1726 VK_FORMAT_R32_SFLOAT = 100, 1727 VK_FORMAT_R32G32_UINT = 101, 1728 VK_FORMAT_R32G32_SINT = 102, 1729 VK_FORMAT_R32G32_SFLOAT = 103, 1730 VK_FORMAT_R32G32B32_UINT = 104, 1731 VK_FORMAT_R32G32B32_SINT = 105, 1732 VK_FORMAT_R32G32B32_SFLOAT = 106, 1733 VK_FORMAT_R32G32B32A32_UINT = 107, 1734 VK_FORMAT_R32G32B32A32_SINT = 108, 1735 VK_FORMAT_R32G32B32A32_SFLOAT = 109, 1736 VK_FORMAT_R64_UINT = 110, 1737 VK_FORMAT_R64_SINT = 111, 1738 VK_FORMAT_R64_SFLOAT = 112, 1739 VK_FORMAT_R64G64_UINT = 113, 1740 VK_FORMAT_R64G64_SINT = 114, 1741 VK_FORMAT_R64G64_SFLOAT = 115, 1742 VK_FORMAT_R64G64B64_UINT = 116, 1743 VK_FORMAT_R64G64B64_SINT = 117, 1744 VK_FORMAT_R64G64B64_SFLOAT = 118, 1745 VK_FORMAT_R64G64B64A64_UINT = 119, 1746 VK_FORMAT_R64G64B64A64_SINT = 120, 1747 VK_FORMAT_R64G64B64A64_SFLOAT = 121, 1748 VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122, 1749 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123, 1750 VK_FORMAT_D16_UNORM = 124, 1751 VK_FORMAT_X8_D24_UNORM_PACK32 = 125, 1752 VK_FORMAT_D32_SFLOAT = 126, 1753 VK_FORMAT_S8_UINT = 127, 1754 VK_FORMAT_D16_UNORM_S8_UINT = 128, 1755 VK_FORMAT_D24_UNORM_S8_UINT = 129, 1756 VK_FORMAT_D32_SFLOAT_S8_UINT = 130, 1757 VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131, 1758 VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132, 1759 VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133, 1760 VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134, 1761 VK_FORMAT_BC2_UNORM_BLOCK = 135, 1762 VK_FORMAT_BC2_SRGB_BLOCK = 136, 1763 VK_FORMAT_BC3_UNORM_BLOCK = 137, 1764 VK_FORMAT_BC3_SRGB_BLOCK = 138, 1765 VK_FORMAT_BC4_UNORM_BLOCK = 139, 1766 VK_FORMAT_BC4_SNORM_BLOCK = 140, 1767 VK_FORMAT_BC5_UNORM_BLOCK = 141, 1768 VK_FORMAT_BC5_SNORM_BLOCK = 142, 1769 VK_FORMAT_BC6H_UFLOAT_BLOCK = 143, 1770 VK_FORMAT_BC6H_SFLOAT_BLOCK = 144, 1771 VK_FORMAT_BC7_UNORM_BLOCK = 145, 1772 VK_FORMAT_BC7_SRGB_BLOCK = 146, 1773 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147, 1774 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148, 1775 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149, 1776 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150, 1777 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151, 1778 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152, 1779 VK_FORMAT_EAC_R11_UNORM_BLOCK = 153, 1780 VK_FORMAT_EAC_R11_SNORM_BLOCK = 154, 1781 VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155, 1782 VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156, 1783 VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157, 1784 VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158, 1785 VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159, 1786 VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160, 1787 VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161, 1788 VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162, 1789 VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163, 1790 VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164, 1791 VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165, 1792 VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166, 1793 VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167, 1794 VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168, 1795 VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169, 1796 VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170, 1797 VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171, 1798 VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172, 1799 VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173, 1800 VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174, 1801 VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175, 1802 VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176, 1803 VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177, 1804 VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178, 1805 VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179, 1806 VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180, 1807 VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181, 1808 VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182, 1809 VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183, 1810 VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184, 1811 VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000, 1812 VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001, 1813 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002, 1814 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003, 1815 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004, 1816 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005, 1817 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006, 1818 VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007, 1819 VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008, 1820 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009, 1821 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010, 1822 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011, 1823 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012, 1824 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013, 1825 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014, 1826 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015, 1827 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016, 1828 VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017, 1829 VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018, 1830 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019, 1831 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020, 1832 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021, 1833 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022, 1834 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023, 1835 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024, 1836 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025, 1837 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026, 1838 VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027, 1839 VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028, 1840 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029, 1841 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030, 1842 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031, 1843 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032, 1844 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033, 1845 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM = 1000330000, 1846 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 = 1000330001, 1847 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 = 1000330002, 1848 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM = 1000330003, 1849 VK_FORMAT_A4R4G4B4_UNORM_PACK16 = 1000340000, 1850 VK_FORMAT_A4B4G4R4_UNORM_PACK16 = 1000340001, 1851 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK = 1000066000, 1852 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK = 1000066001, 1853 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK = 1000066002, 1854 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK = 1000066003, 1855 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK = 1000066004, 1856 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK = 1000066005, 1857 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK = 1000066006, 1858 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK = 1000066007, 1859 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK = 1000066008, 1860 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK = 1000066009, 1861 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK = 1000066010, 1862 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK = 1000066011, 1863 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK = 1000066012, 1864 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK = 1000066013, 1865 VK_FORMAT_A1B5G5R5_UNORM_PACK16 = 1000470000, 1866 VK_FORMAT_A8_UNORM = 1000470001, 1867 VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000, 1868 VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001, 1869 VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002, 1870 VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003, 1871 VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004, 1872 VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005, 1873 VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006, 1874 VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007, 1875 VK_FORMAT_R16G16_SFIXED5_NV = 1000464000, 1876 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK, 1877 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK, 1878 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK, 1879 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK, 1880 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK, 1881 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK, 1882 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK, 1883 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK, 1884 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK, 1885 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK, 1886 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK, 1887 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK, 1888 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK, 1889 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK, 1890 VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM, 1891 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM, 1892 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM, 1893 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM, 1894 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM, 1895 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM, 1896 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM, 1897 VK_FORMAT_R10X6_UNORM_PACK16_KHR = VK_FORMAT_R10X6_UNORM_PACK16, 1898 VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16, 1899 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16, 1900 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16, 1901 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16, 1902 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16, 1903 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16, 1904 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16, 1905 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16, 1906 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16, 1907 VK_FORMAT_R12X4_UNORM_PACK16_KHR = VK_FORMAT_R12X4_UNORM_PACK16, 1908 VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16, 1909 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16, 1910 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16, 1911 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16, 1912 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16, 1913 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16, 1914 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16, 1915 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16, 1916 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16, 1917 VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VK_FORMAT_G16B16G16R16_422_UNORM, 1918 VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VK_FORMAT_B16G16R16G16_422_UNORM, 1919 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM, 1920 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM, 1921 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM, 1922 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM, 1923 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM, 1924 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT = VK_FORMAT_G8_B8R8_2PLANE_444_UNORM, 1925 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16, 1926 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16, 1927 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT = VK_FORMAT_G16_B16R16_2PLANE_444_UNORM, 1928 VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT = VK_FORMAT_A4R4G4B4_UNORM_PACK16, 1929 VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT = VK_FORMAT_A4B4G4R4_UNORM_PACK16, 1930 // VK_FORMAT_R16G16_S10_5_NV is a deprecated alias 1931 VK_FORMAT_R16G16_S10_5_NV = VK_FORMAT_R16G16_SFIXED5_NV, 1932 VK_FORMAT_A1B5G5R5_UNORM_PACK16_KHR = VK_FORMAT_A1B5G5R5_UNORM_PACK16, 1933 VK_FORMAT_A8_UNORM_KHR = VK_FORMAT_A8_UNORM, 1934 VK_FORMAT_MAX_ENUM = 0x7FFFFFFF 1935 } VkFormat; 1936 1937 typedef enum VkImageTiling { 1938 VK_IMAGE_TILING_OPTIMAL = 0, 1939 VK_IMAGE_TILING_LINEAR = 1, 1940 VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000, 1941 VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF 1942 } VkImageTiling; 1943 1944 typedef enum VkImageType { 1945 VK_IMAGE_TYPE_1D = 0, 1946 VK_IMAGE_TYPE_2D = 1, 1947 VK_IMAGE_TYPE_3D = 2, 1948 VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF 1949 } VkImageType; 1950 1951 typedef enum VkPhysicalDeviceType { 1952 VK_PHYSICAL_DEVICE_TYPE_OTHER = 0, 1953 VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1, 1954 VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2, 1955 VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3, 1956 VK_PHYSICAL_DEVICE_TYPE_CPU = 4, 1957 VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF 1958 } VkPhysicalDeviceType; 1959 1960 typedef enum VkQueryType { 1961 VK_QUERY_TYPE_OCCLUSION = 0, 1962 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1, 1963 VK_QUERY_TYPE_TIMESTAMP = 2, 1964 VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR = 1000023000, 1965 VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004, 1966 VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000, 1967 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000150000, 1968 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150001, 1969 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000, 1970 VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000, 1971 VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR = 1000299000, 1972 VK_QUERY_TYPE_MESH_PRIMITIVES_GENERATED_EXT = 1000328000, 1973 VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT = 1000382000, 1974 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR = 1000386000, 1975 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR = 1000386001, 1976 VK_QUERY_TYPE_MICROMAP_SERIALIZATION_SIZE_EXT = 1000396000, 1977 VK_QUERY_TYPE_MICROMAP_COMPACTED_SIZE_EXT = 1000396001, 1978 VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF 1979 } VkQueryType; 1980 1981 typedef enum VkSharingMode { 1982 VK_SHARING_MODE_EXCLUSIVE = 0, 1983 VK_SHARING_MODE_CONCURRENT = 1, 1984 VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF 1985 } VkSharingMode; 1986 1987 typedef enum VkComponentSwizzle { 1988 VK_COMPONENT_SWIZZLE_IDENTITY = 0, 1989 VK_COMPONENT_SWIZZLE_ZERO = 1, 1990 VK_COMPONENT_SWIZZLE_ONE = 2, 1991 VK_COMPONENT_SWIZZLE_R = 3, 1992 VK_COMPONENT_SWIZZLE_G = 4, 1993 VK_COMPONENT_SWIZZLE_B = 5, 1994 VK_COMPONENT_SWIZZLE_A = 6, 1995 VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF 1996 } VkComponentSwizzle; 1997 1998 typedef enum VkImageViewType { 1999 VK_IMAGE_VIEW_TYPE_1D = 0, 2000 VK_IMAGE_VIEW_TYPE_2D = 1, 2001 VK_IMAGE_VIEW_TYPE_3D = 2, 2002 VK_IMAGE_VIEW_TYPE_CUBE = 3, 2003 VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4, 2004 VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5, 2005 VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6, 2006 VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF 2007 } VkImageViewType; 2008 2009 typedef enum VkBlendFactor { 2010 VK_BLEND_FACTOR_ZERO = 0, 2011 VK_BLEND_FACTOR_ONE = 1, 2012 VK_BLEND_FACTOR_SRC_COLOR = 2, 2013 VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3, 2014 VK_BLEND_FACTOR_DST_COLOR = 4, 2015 VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5, 2016 VK_BLEND_FACTOR_SRC_ALPHA = 6, 2017 VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7, 2018 VK_BLEND_FACTOR_DST_ALPHA = 8, 2019 VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9, 2020 VK_BLEND_FACTOR_CONSTANT_COLOR = 10, 2021 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11, 2022 VK_BLEND_FACTOR_CONSTANT_ALPHA = 12, 2023 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13, 2024 VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14, 2025 VK_BLEND_FACTOR_SRC1_COLOR = 15, 2026 VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16, 2027 VK_BLEND_FACTOR_SRC1_ALPHA = 17, 2028 VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18, 2029 VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF 2030 } VkBlendFactor; 2031 2032 typedef enum VkBlendOp { 2033 VK_BLEND_OP_ADD = 0, 2034 VK_BLEND_OP_SUBTRACT = 1, 2035 VK_BLEND_OP_REVERSE_SUBTRACT = 2, 2036 VK_BLEND_OP_MIN = 3, 2037 VK_BLEND_OP_MAX = 4, 2038 VK_BLEND_OP_ZERO_EXT = 1000148000, 2039 VK_BLEND_OP_SRC_EXT = 1000148001, 2040 VK_BLEND_OP_DST_EXT = 1000148002, 2041 VK_BLEND_OP_SRC_OVER_EXT = 1000148003, 2042 VK_BLEND_OP_DST_OVER_EXT = 1000148004, 2043 VK_BLEND_OP_SRC_IN_EXT = 1000148005, 2044 VK_BLEND_OP_DST_IN_EXT = 1000148006, 2045 VK_BLEND_OP_SRC_OUT_EXT = 1000148007, 2046 VK_BLEND_OP_DST_OUT_EXT = 1000148008, 2047 VK_BLEND_OP_SRC_ATOP_EXT = 1000148009, 2048 VK_BLEND_OP_DST_ATOP_EXT = 1000148010, 2049 VK_BLEND_OP_XOR_EXT = 1000148011, 2050 VK_BLEND_OP_MULTIPLY_EXT = 1000148012, 2051 VK_BLEND_OP_SCREEN_EXT = 1000148013, 2052 VK_BLEND_OP_OVERLAY_EXT = 1000148014, 2053 VK_BLEND_OP_DARKEN_EXT = 1000148015, 2054 VK_BLEND_OP_LIGHTEN_EXT = 1000148016, 2055 VK_BLEND_OP_COLORDODGE_EXT = 1000148017, 2056 VK_BLEND_OP_COLORBURN_EXT = 1000148018, 2057 VK_BLEND_OP_HARDLIGHT_EXT = 1000148019, 2058 VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020, 2059 VK_BLEND_OP_DIFFERENCE_EXT = 1000148021, 2060 VK_BLEND_OP_EXCLUSION_EXT = 1000148022, 2061 VK_BLEND_OP_INVERT_EXT = 1000148023, 2062 VK_BLEND_OP_INVERT_RGB_EXT = 1000148024, 2063 VK_BLEND_OP_LINEARDODGE_EXT = 1000148025, 2064 VK_BLEND_OP_LINEARBURN_EXT = 1000148026, 2065 VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027, 2066 VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028, 2067 VK_BLEND_OP_PINLIGHT_EXT = 1000148029, 2068 VK_BLEND_OP_HARDMIX_EXT = 1000148030, 2069 VK_BLEND_OP_HSL_HUE_EXT = 1000148031, 2070 VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032, 2071 VK_BLEND_OP_HSL_COLOR_EXT = 1000148033, 2072 VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034, 2073 VK_BLEND_OP_PLUS_EXT = 1000148035, 2074 VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036, 2075 VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037, 2076 VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038, 2077 VK_BLEND_OP_MINUS_EXT = 1000148039, 2078 VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040, 2079 VK_BLEND_OP_CONTRAST_EXT = 1000148041, 2080 VK_BLEND_OP_INVERT_OVG_EXT = 1000148042, 2081 VK_BLEND_OP_RED_EXT = 1000148043, 2082 VK_BLEND_OP_GREEN_EXT = 1000148044, 2083 VK_BLEND_OP_BLUE_EXT = 1000148045, 2084 VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF 2085 } VkBlendOp; 2086 2087 typedef enum VkCompareOp { 2088 VK_COMPARE_OP_NEVER = 0, 2089 VK_COMPARE_OP_LESS = 1, 2090 VK_COMPARE_OP_EQUAL = 2, 2091 VK_COMPARE_OP_LESS_OR_EQUAL = 3, 2092 VK_COMPARE_OP_GREATER = 4, 2093 VK_COMPARE_OP_NOT_EQUAL = 5, 2094 VK_COMPARE_OP_GREATER_OR_EQUAL = 6, 2095 VK_COMPARE_OP_ALWAYS = 7, 2096 VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF 2097 } VkCompareOp; 2098 2099 typedef enum VkDynamicState { 2100 VK_DYNAMIC_STATE_VIEWPORT = 0, 2101 VK_DYNAMIC_STATE_SCISSOR = 1, 2102 VK_DYNAMIC_STATE_LINE_WIDTH = 2, 2103 VK_DYNAMIC_STATE_DEPTH_BIAS = 3, 2104 VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4, 2105 VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5, 2106 VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6, 2107 VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7, 2108 VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8, 2109 VK_DYNAMIC_STATE_CULL_MODE = 1000267000, 2110 VK_DYNAMIC_STATE_FRONT_FACE = 1000267001, 2111 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY = 1000267002, 2112 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT = 1000267003, 2113 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT = 1000267004, 2114 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE = 1000267005, 2115 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE = 1000267006, 2116 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE = 1000267007, 2117 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP = 1000267008, 2118 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE = 1000267009, 2119 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE = 1000267010, 2120 VK_DYNAMIC_STATE_STENCIL_OP = 1000267011, 2121 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE = 1000377001, 2122 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE = 1000377002, 2123 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE = 1000377004, 2124 VK_DYNAMIC_STATE_LINE_STIPPLE = 1000259000, 2125 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000, 2126 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000, 2127 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT = 1000099001, 2128 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT = 1000099002, 2129 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000, 2130 VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000, 2131 VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004, 2132 VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006, 2133 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV = 1000205000, 2134 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001, 2135 VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000, 2136 VK_DYNAMIC_STATE_VERTEX_INPUT_EXT = 1000352000, 2137 VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000, 2138 VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003, 2139 VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000, 2140 VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT = 1000455003, 2141 VK_DYNAMIC_STATE_POLYGON_MODE_EXT = 1000455004, 2142 VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT = 1000455005, 2143 VK_DYNAMIC_STATE_SAMPLE_MASK_EXT = 1000455006, 2144 VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT = 1000455007, 2145 VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT = 1000455008, 2146 VK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT = 1000455009, 2147 VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT = 1000455010, 2148 VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT = 1000455011, 2149 VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT = 1000455012, 2150 VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT = 1000455002, 2151 VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT = 1000455013, 2152 VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT = 1000455014, 2153 VK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT = 1000455015, 2154 VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT = 1000455016, 2155 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT = 1000455017, 2156 VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT = 1000455018, 2157 VK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT = 1000455019, 2158 VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT = 1000455020, 2159 VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT = 1000455021, 2160 VK_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT = 1000455022, 2161 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV = 1000455023, 2162 VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV = 1000455024, 2163 VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV = 1000455025, 2164 VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV = 1000455026, 2165 VK_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV = 1000455027, 2166 VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV = 1000455028, 2167 VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV = 1000455029, 2168 VK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV = 1000455030, 2169 VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV = 1000455031, 2170 VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV = 1000455032, 2171 VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT = 1000524000, 2172 VK_DYNAMIC_STATE_DEPTH_CLAMP_RANGE_EXT = 1000582000, 2173 VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = VK_DYNAMIC_STATE_LINE_STIPPLE, 2174 VK_DYNAMIC_STATE_CULL_MODE_EXT = VK_DYNAMIC_STATE_CULL_MODE, 2175 VK_DYNAMIC_STATE_FRONT_FACE_EXT = VK_DYNAMIC_STATE_FRONT_FACE, 2176 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY, 2177 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT = VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT, 2178 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT = VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT, 2179 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT = VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE, 2180 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE, 2181 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE, 2182 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT = VK_DYNAMIC_STATE_DEPTH_COMPARE_OP, 2183 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE, 2184 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE, 2185 VK_DYNAMIC_STATE_STENCIL_OP_EXT = VK_DYNAMIC_STATE_STENCIL_OP, 2186 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT = VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE, 2187 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE, 2188 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT = VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE, 2189 VK_DYNAMIC_STATE_LINE_STIPPLE_KHR = VK_DYNAMIC_STATE_LINE_STIPPLE, 2190 VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF 2191 } VkDynamicState; 2192 2193 typedef enum VkFrontFace { 2194 VK_FRONT_FACE_COUNTER_CLOCKWISE = 0, 2195 VK_FRONT_FACE_CLOCKWISE = 1, 2196 VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF 2197 } VkFrontFace; 2198 2199 typedef enum VkVertexInputRate { 2200 VK_VERTEX_INPUT_RATE_VERTEX = 0, 2201 VK_VERTEX_INPUT_RATE_INSTANCE = 1, 2202 VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF 2203 } VkVertexInputRate; 2204 2205 typedef enum VkPrimitiveTopology { 2206 VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0, 2207 VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1, 2208 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2, 2209 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3, 2210 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4, 2211 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5, 2212 VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6, 2213 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7, 2214 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8, 2215 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9, 2216 VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10, 2217 VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF 2218 } VkPrimitiveTopology; 2219 2220 typedef enum VkPolygonMode { 2221 VK_POLYGON_MODE_FILL = 0, 2222 VK_POLYGON_MODE_LINE = 1, 2223 VK_POLYGON_MODE_POINT = 2, 2224 VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000, 2225 VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF 2226 } VkPolygonMode; 2227 2228 typedef enum VkStencilOp { 2229 VK_STENCIL_OP_KEEP = 0, 2230 VK_STENCIL_OP_ZERO = 1, 2231 VK_STENCIL_OP_REPLACE = 2, 2232 VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3, 2233 VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4, 2234 VK_STENCIL_OP_INVERT = 5, 2235 VK_STENCIL_OP_INCREMENT_AND_WRAP = 6, 2236 VK_STENCIL_OP_DECREMENT_AND_WRAP = 7, 2237 VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF 2238 } VkStencilOp; 2239 2240 typedef enum VkLogicOp { 2241 VK_LOGIC_OP_CLEAR = 0, 2242 VK_LOGIC_OP_AND = 1, 2243 VK_LOGIC_OP_AND_REVERSE = 2, 2244 VK_LOGIC_OP_COPY = 3, 2245 VK_LOGIC_OP_AND_INVERTED = 4, 2246 VK_LOGIC_OP_NO_OP = 5, 2247 VK_LOGIC_OP_XOR = 6, 2248 VK_LOGIC_OP_OR = 7, 2249 VK_LOGIC_OP_NOR = 8, 2250 VK_LOGIC_OP_EQUIVALENT = 9, 2251 VK_LOGIC_OP_INVERT = 10, 2252 VK_LOGIC_OP_OR_REVERSE = 11, 2253 VK_LOGIC_OP_COPY_INVERTED = 12, 2254 VK_LOGIC_OP_OR_INVERTED = 13, 2255 VK_LOGIC_OP_NAND = 14, 2256 VK_LOGIC_OP_SET = 15, 2257 VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF 2258 } VkLogicOp; 2259 2260 typedef enum VkBorderColor { 2261 VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0, 2262 VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1, 2263 VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2, 2264 VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3, 2265 VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4, 2266 VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5, 2267 VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003, 2268 VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004, 2269 VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF 2270 } VkBorderColor; 2271 2272 typedef enum VkFilter { 2273 VK_FILTER_NEAREST = 0, 2274 VK_FILTER_LINEAR = 1, 2275 VK_FILTER_CUBIC_EXT = 1000015000, 2276 VK_FILTER_CUBIC_IMG = VK_FILTER_CUBIC_EXT, 2277 VK_FILTER_MAX_ENUM = 0x7FFFFFFF 2278 } VkFilter; 2279 2280 typedef enum VkSamplerAddressMode { 2281 VK_SAMPLER_ADDRESS_MODE_REPEAT = 0, 2282 VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1, 2283 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2, 2284 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3, 2285 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4, 2286 // VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR is a deprecated alias 2287 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE, 2288 VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF 2289 } VkSamplerAddressMode; 2290 2291 typedef enum VkSamplerMipmapMode { 2292 VK_SAMPLER_MIPMAP_MODE_NEAREST = 0, 2293 VK_SAMPLER_MIPMAP_MODE_LINEAR = 1, 2294 VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF 2295 } VkSamplerMipmapMode; 2296 2297 typedef enum VkDescriptorType { 2298 VK_DESCRIPTOR_TYPE_SAMPLER = 0, 2299 VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1, 2300 VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2, 2301 VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3, 2302 VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4, 2303 VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5, 2304 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6, 2305 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7, 2306 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8, 2307 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9, 2308 VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10, 2309 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK = 1000138000, 2310 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000, 2311 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000, 2312 VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM = 1000440000, 2313 VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM = 1000440001, 2314 VK_DESCRIPTOR_TYPE_MUTABLE_EXT = 1000351000, 2315 VK_DESCRIPTOR_TYPE_PARTITIONED_ACCELERATION_STRUCTURE_NV = 1000570000, 2316 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK, 2317 VK_DESCRIPTOR_TYPE_MUTABLE_VALVE = VK_DESCRIPTOR_TYPE_MUTABLE_EXT, 2318 VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF 2319 } VkDescriptorType; 2320 2321 typedef enum VkAttachmentLoadOp { 2322 VK_ATTACHMENT_LOAD_OP_LOAD = 0, 2323 VK_ATTACHMENT_LOAD_OP_CLEAR = 1, 2324 VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2, 2325 VK_ATTACHMENT_LOAD_OP_NONE = 1000400000, 2326 VK_ATTACHMENT_LOAD_OP_NONE_EXT = VK_ATTACHMENT_LOAD_OP_NONE, 2327 VK_ATTACHMENT_LOAD_OP_NONE_KHR = VK_ATTACHMENT_LOAD_OP_NONE, 2328 VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF 2329 } VkAttachmentLoadOp; 2330 2331 typedef enum VkAttachmentStoreOp { 2332 VK_ATTACHMENT_STORE_OP_STORE = 0, 2333 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1, 2334 VK_ATTACHMENT_STORE_OP_NONE = 1000301000, 2335 VK_ATTACHMENT_STORE_OP_NONE_KHR = VK_ATTACHMENT_STORE_OP_NONE, 2336 VK_ATTACHMENT_STORE_OP_NONE_QCOM = VK_ATTACHMENT_STORE_OP_NONE, 2337 VK_ATTACHMENT_STORE_OP_NONE_EXT = VK_ATTACHMENT_STORE_OP_NONE, 2338 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF 2339 } VkAttachmentStoreOp; 2340 2341 typedef enum VkPipelineBindPoint { 2342 VK_PIPELINE_BIND_POINT_GRAPHICS = 0, 2343 VK_PIPELINE_BIND_POINT_COMPUTE = 1, 2344 #ifdef VK_ENABLE_BETA_EXTENSIONS 2345 VK_PIPELINE_BIND_POINT_EXECUTION_GRAPH_AMDX = 1000134000, 2346 #endif 2347 VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR = 1000165000, 2348 VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI = 1000369003, 2349 VK_PIPELINE_BIND_POINT_RAY_TRACING_NV = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR, 2350 VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF 2351 } VkPipelineBindPoint; 2352 2353 typedef enum VkCommandBufferLevel { 2354 VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0, 2355 VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1, 2356 VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF 2357 } VkCommandBufferLevel; 2358 2359 typedef enum VkIndexType { 2360 VK_INDEX_TYPE_UINT16 = 0, 2361 VK_INDEX_TYPE_UINT32 = 1, 2362 VK_INDEX_TYPE_UINT8 = 1000265000, 2363 VK_INDEX_TYPE_NONE_KHR = 1000165000, 2364 VK_INDEX_TYPE_NONE_NV = VK_INDEX_TYPE_NONE_KHR, 2365 VK_INDEX_TYPE_UINT8_EXT = VK_INDEX_TYPE_UINT8, 2366 VK_INDEX_TYPE_UINT8_KHR = VK_INDEX_TYPE_UINT8, 2367 VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF 2368 } VkIndexType; 2369 2370 typedef enum VkSubpassContents { 2371 VK_SUBPASS_CONTENTS_INLINE = 0, 2372 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1, 2373 VK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_KHR = 1000451000, 2374 VK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_EXT = VK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_KHR, 2375 VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF 2376 } VkSubpassContents; 2377 2378 typedef enum VkAccessFlagBits { 2379 VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001, 2380 VK_ACCESS_INDEX_READ_BIT = 0x00000002, 2381 VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004, 2382 VK_ACCESS_UNIFORM_READ_BIT = 0x00000008, 2383 VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010, 2384 VK_ACCESS_SHADER_READ_BIT = 0x00000020, 2385 VK_ACCESS_SHADER_WRITE_BIT = 0x00000040, 2386 VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080, 2387 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100, 2388 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200, 2389 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400, 2390 VK_ACCESS_TRANSFER_READ_BIT = 0x00000800, 2391 VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000, 2392 VK_ACCESS_HOST_READ_BIT = 0x00002000, 2393 VK_ACCESS_HOST_WRITE_BIT = 0x00004000, 2394 VK_ACCESS_MEMORY_READ_BIT = 0x00008000, 2395 VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000, 2396 VK_ACCESS_NONE = 0, 2397 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000, 2398 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000, 2399 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000, 2400 VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000, 2401 VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000, 2402 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000, 2403 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000, 2404 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000, 2405 VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000, 2406 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000, 2407 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000, 2408 VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR, 2409 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR, 2410 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR, 2411 VK_ACCESS_NONE_KHR = VK_ACCESS_NONE, 2412 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_EXT = VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV, 2413 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_EXT = VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV, 2414 VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2415 } VkAccessFlagBits; 2416 typedef VkFlags VkAccessFlags; 2417 2418 typedef enum VkImageAspectFlagBits { 2419 VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001, 2420 VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002, 2421 VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004, 2422 VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008, 2423 VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010, 2424 VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020, 2425 VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040, 2426 VK_IMAGE_ASPECT_NONE = 0, 2427 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080, 2428 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100, 2429 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200, 2430 VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400, 2431 VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT, 2432 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT, 2433 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT, 2434 VK_IMAGE_ASPECT_NONE_KHR = VK_IMAGE_ASPECT_NONE, 2435 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2436 } VkImageAspectFlagBits; 2437 typedef VkFlags VkImageAspectFlags; 2438 2439 typedef enum VkFormatFeatureFlagBits { 2440 VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001, 2441 VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002, 2442 VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004, 2443 VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008, 2444 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010, 2445 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020, 2446 VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040, 2447 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080, 2448 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100, 2449 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200, 2450 VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400, 2451 VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800, 2452 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000, 2453 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000, 2454 VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000, 2455 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000, 2456 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000, 2457 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000, 2458 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000, 2459 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000, 2460 VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000, 2461 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000, 2462 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000, 2463 VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000, 2464 VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000, 2465 VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000, 2466 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = 0x00002000, 2467 VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000, 2468 VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000, 2469 VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000, 2470 VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000, 2471 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT, 2472 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT, 2473 VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT, 2474 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT, 2475 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT, 2476 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT, 2477 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT, 2478 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT, 2479 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT, 2480 VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT, 2481 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT, 2482 VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2483 } VkFormatFeatureFlagBits; 2484 typedef VkFlags VkFormatFeatureFlags; 2485 2486 typedef enum VkImageCreateFlagBits { 2487 VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001, 2488 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002, 2489 VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004, 2490 VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008, 2491 VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010, 2492 VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400, 2493 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040, 2494 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020, 2495 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080, 2496 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100, 2497 VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800, 2498 VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200, 2499 VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000, 2500 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000, 2501 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000, 2502 VK_IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00010000, 2503 VK_IMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT = 0x00040000, 2504 VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT = 0x00020000, 2505 VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM = 0x00008000, 2506 VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR = 0x00100000, 2507 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT, 2508 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT, 2509 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT, 2510 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT, 2511 VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VK_IMAGE_CREATE_DISJOINT_BIT, 2512 VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT, 2513 VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2514 } VkImageCreateFlagBits; 2515 typedef VkFlags VkImageCreateFlags; 2516 2517 typedef enum VkSampleCountFlagBits { 2518 VK_SAMPLE_COUNT_1_BIT = 0x00000001, 2519 VK_SAMPLE_COUNT_2_BIT = 0x00000002, 2520 VK_SAMPLE_COUNT_4_BIT = 0x00000004, 2521 VK_SAMPLE_COUNT_8_BIT = 0x00000008, 2522 VK_SAMPLE_COUNT_16_BIT = 0x00000010, 2523 VK_SAMPLE_COUNT_32_BIT = 0x00000020, 2524 VK_SAMPLE_COUNT_64_BIT = 0x00000040, 2525 VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2526 } VkSampleCountFlagBits; 2527 typedef VkFlags VkSampleCountFlags; 2528 2529 typedef enum VkImageUsageFlagBits { 2530 VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001, 2531 VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002, 2532 VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004, 2533 VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008, 2534 VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010, 2535 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020, 2536 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040, 2537 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080, 2538 VK_IMAGE_USAGE_HOST_TRANSFER_BIT = 0x00400000, 2539 VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00000400, 2540 VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00000800, 2541 VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR = 0x00001000, 2542 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200, 2543 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00000100, 2544 VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00002000, 2545 VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00004000, 2546 VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR = 0x00008000, 2547 VK_IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x00080000, 2548 VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI = 0x00040000, 2549 VK_IMAGE_USAGE_SAMPLE_WEIGHT_BIT_QCOM = 0x00100000, 2550 VK_IMAGE_USAGE_SAMPLE_BLOCK_MATCH_BIT_QCOM = 0x00200000, 2551 VK_IMAGE_USAGE_VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR = 0x02000000, 2552 VK_IMAGE_USAGE_VIDEO_ENCODE_EMPHASIS_MAP_BIT_KHR = 0x04000000, 2553 VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, 2554 VK_IMAGE_USAGE_HOST_TRANSFER_BIT_EXT = VK_IMAGE_USAGE_HOST_TRANSFER_BIT, 2555 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2556 } VkImageUsageFlagBits; 2557 typedef VkFlags VkImageUsageFlags; 2558 2559 typedef enum VkInstanceCreateFlagBits { 2560 VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR = 0x00000001, 2561 VK_INSTANCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2562 } VkInstanceCreateFlagBits; 2563 typedef VkFlags VkInstanceCreateFlags; 2564 2565 typedef enum VkMemoryHeapFlagBits { 2566 VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001, 2567 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002, 2568 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT, 2569 VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2570 } VkMemoryHeapFlagBits; 2571 typedef VkFlags VkMemoryHeapFlags; 2572 2573 typedef enum VkMemoryPropertyFlagBits { 2574 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001, 2575 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002, 2576 VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004, 2577 VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008, 2578 VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010, 2579 VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020, 2580 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 0x00000040, 2581 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 0x00000080, 2582 VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV = 0x00000100, 2583 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2584 } VkMemoryPropertyFlagBits; 2585 typedef VkFlags VkMemoryPropertyFlags; 2586 2587 typedef enum VkQueueFlagBits { 2588 VK_QUEUE_GRAPHICS_BIT = 0x00000001, 2589 VK_QUEUE_COMPUTE_BIT = 0x00000002, 2590 VK_QUEUE_TRANSFER_BIT = 0x00000004, 2591 VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008, 2592 VK_QUEUE_PROTECTED_BIT = 0x00000010, 2593 VK_QUEUE_VIDEO_DECODE_BIT_KHR = 0x00000020, 2594 VK_QUEUE_VIDEO_ENCODE_BIT_KHR = 0x00000040, 2595 VK_QUEUE_OPTICAL_FLOW_BIT_NV = 0x00000100, 2596 VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2597 } VkQueueFlagBits; 2598 typedef VkFlags VkQueueFlags; 2599 typedef VkFlags VkDeviceCreateFlags; 2600 2601 typedef enum VkDeviceQueueCreateFlagBits { 2602 VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001, 2603 VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2604 } VkDeviceQueueCreateFlagBits; 2605 typedef VkFlags VkDeviceQueueCreateFlags; 2606 2607 typedef enum VkPipelineStageFlagBits { 2608 VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001, 2609 VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002, 2610 VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004, 2611 VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008, 2612 VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010, 2613 VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020, 2614 VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040, 2615 VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080, 2616 VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100, 2617 VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200, 2618 VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400, 2619 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800, 2620 VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000, 2621 VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000, 2622 VK_PIPELINE_STAGE_HOST_BIT = 0x00004000, 2623 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000, 2624 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000, 2625 VK_PIPELINE_STAGE_NONE = 0, 2626 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000, 2627 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000, 2628 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000, 2629 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 0x00200000, 2630 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000, 2631 VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000, 2632 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 0x00020000, 2633 VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT = 0x00080000, 2634 VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT = 0x00100000, 2635 VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, 2636 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR, 2637 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, 2638 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT, 2639 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT, 2640 VK_PIPELINE_STAGE_NONE_KHR = VK_PIPELINE_STAGE_NONE, 2641 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_EXT = VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV, 2642 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2643 } VkPipelineStageFlagBits; 2644 typedef VkFlags VkPipelineStageFlags; 2645 2646 typedef enum VkMemoryMapFlagBits { 2647 VK_MEMORY_MAP_PLACED_BIT_EXT = 0x00000001, 2648 VK_MEMORY_MAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2649 } VkMemoryMapFlagBits; 2650 typedef VkFlags VkMemoryMapFlags; 2651 2652 typedef enum VkSparseMemoryBindFlagBits { 2653 VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001, 2654 VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2655 } VkSparseMemoryBindFlagBits; 2656 typedef VkFlags VkSparseMemoryBindFlags; 2657 2658 typedef enum VkSparseImageFormatFlagBits { 2659 VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001, 2660 VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002, 2661 VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004, 2662 VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2663 } VkSparseImageFormatFlagBits; 2664 typedef VkFlags VkSparseImageFormatFlags; 2665 2666 typedef enum VkFenceCreateFlagBits { 2667 VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001, 2668 VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2669 } VkFenceCreateFlagBits; 2670 typedef VkFlags VkFenceCreateFlags; 2671 typedef VkFlags VkSemaphoreCreateFlags; 2672 2673 typedef enum VkEventCreateFlagBits { 2674 VK_EVENT_CREATE_DEVICE_ONLY_BIT = 0x00000001, 2675 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = VK_EVENT_CREATE_DEVICE_ONLY_BIT, 2676 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2677 } VkEventCreateFlagBits; 2678 typedef VkFlags VkEventCreateFlags; 2679 2680 typedef enum VkQueryPipelineStatisticFlagBits { 2681 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001, 2682 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002, 2683 VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004, 2684 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008, 2685 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010, 2686 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020, 2687 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040, 2688 VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080, 2689 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100, 2690 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200, 2691 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400, 2692 VK_QUERY_PIPELINE_STATISTIC_TASK_SHADER_INVOCATIONS_BIT_EXT = 0x00000800, 2693 VK_QUERY_PIPELINE_STATISTIC_MESH_SHADER_INVOCATIONS_BIT_EXT = 0x00001000, 2694 VK_QUERY_PIPELINE_STATISTIC_CLUSTER_CULLING_SHADER_INVOCATIONS_BIT_HUAWEI = 0x00002000, 2695 VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2696 } VkQueryPipelineStatisticFlagBits; 2697 typedef VkFlags VkQueryPipelineStatisticFlags; 2698 typedef VkFlags VkQueryPoolCreateFlags; 2699 2700 typedef enum VkQueryResultFlagBits { 2701 VK_QUERY_RESULT_64_BIT = 0x00000001, 2702 VK_QUERY_RESULT_WAIT_BIT = 0x00000002, 2703 VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004, 2704 VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008, 2705 VK_QUERY_RESULT_WITH_STATUS_BIT_KHR = 0x00000010, 2706 VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2707 } VkQueryResultFlagBits; 2708 typedef VkFlags VkQueryResultFlags; 2709 2710 typedef enum VkBufferCreateFlagBits { 2711 VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001, 2712 VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002, 2713 VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004, 2714 VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008, 2715 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010, 2716 VK_BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000020, 2717 VK_BUFFER_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR = 0x00000040, 2718 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, 2719 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, 2720 VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2721 } VkBufferCreateFlagBits; 2722 typedef VkFlags VkBufferCreateFlags; 2723 2724 typedef enum VkBufferUsageFlagBits { 2725 VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001, 2726 VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002, 2727 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004, 2728 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008, 2729 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010, 2730 VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020, 2731 VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040, 2732 VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080, 2733 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100, 2734 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0x00020000, 2735 VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000, 2736 VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00004000, 2737 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800, 2738 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000, 2739 VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200, 2740 #ifdef VK_ENABLE_BETA_EXTENSIONS 2741 VK_BUFFER_USAGE_EXECUTION_GRAPH_SCRATCH_BIT_AMDX = 0x02000000, 2742 #endif 2743 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000, 2744 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000, 2745 VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400, 2746 VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000, 2747 VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000, 2748 VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT = 0x00200000, 2749 VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT = 0x00400000, 2750 VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT = 0x04000000, 2751 VK_BUFFER_USAGE_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT = 0x00800000, 2752 VK_BUFFER_USAGE_MICROMAP_STORAGE_BIT_EXT = 0x01000000, 2753 VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR, 2754 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT, 2755 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT, 2756 VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2757 } VkBufferUsageFlagBits; 2758 typedef VkFlags VkBufferUsageFlags; 2759 typedef VkFlags VkBufferViewCreateFlags; 2760 2761 typedef enum VkImageViewCreateFlagBits { 2762 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001, 2763 VK_IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000004, 2764 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT = 0x00000002, 2765 VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2766 } VkImageViewCreateFlagBits; 2767 typedef VkFlags VkImageViewCreateFlags; 2768 typedef VkFlags VkShaderModuleCreateFlags; 2769 2770 typedef enum VkPipelineCacheCreateFlagBits { 2771 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT = 0x00000001, 2772 VK_PIPELINE_CACHE_CREATE_INTERNALLY_SYNCHRONIZED_MERGE_BIT_KHR = 0x00000008, 2773 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT, 2774 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2775 } VkPipelineCacheCreateFlagBits; 2776 typedef VkFlags VkPipelineCacheCreateFlags; 2777 2778 typedef enum VkColorComponentFlagBits { 2779 VK_COLOR_COMPONENT_R_BIT = 0x00000001, 2780 VK_COLOR_COMPONENT_G_BIT = 0x00000002, 2781 VK_COLOR_COMPONENT_B_BIT = 0x00000004, 2782 VK_COLOR_COMPONENT_A_BIT = 0x00000008, 2783 VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2784 } VkColorComponentFlagBits; 2785 typedef VkFlags VkColorComponentFlags; 2786 2787 typedef enum VkPipelineCreateFlagBits { 2788 VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001, 2789 VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002, 2790 VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004, 2791 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008, 2792 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0x00000010, 2793 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = 0x00000100, 2794 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT = 0x00000200, 2795 VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT = 0x08000000, 2796 VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT = 0x40000000, 2797 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000, 2798 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000, 2799 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000, 2800 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000, 2801 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000, 2802 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000, 2803 VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000, 2804 VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0x00000020, 2805 VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00400000, 2806 VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00200000, 2807 VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 0x00000040, 2808 VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080, 2809 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00040000, 2810 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 0x00000800, 2811 VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT = 0x20000000, 2812 VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT = 0x00800000, 2813 VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT = 0x00000400, 2814 VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000, 2815 VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x02000000, 2816 VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x04000000, 2817 VK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT = 0x01000000, 2818 #ifdef VK_ENABLE_BETA_EXTENSIONS 2819 VK_PIPELINE_CREATE_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV = 0x10000000, 2820 #endif 2821 VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT, 2822 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT, 2823 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE, 2824 // VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT is a deprecated alias 2825 VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT, 2826 // VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR is a deprecated alias 2827 VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, 2828 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT, 2829 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT, 2830 VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT_EXT = VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT, 2831 VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT_EXT = VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT, 2832 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2833 } VkPipelineCreateFlagBits; 2834 typedef VkFlags VkPipelineCreateFlags; 2835 2836 typedef enum VkPipelineShaderStageCreateFlagBits { 2837 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT = 0x00000001, 2838 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT = 0x00000002, 2839 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT, 2840 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT, 2841 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2842 } VkPipelineShaderStageCreateFlagBits; 2843 typedef VkFlags VkPipelineShaderStageCreateFlags; 2844 2845 typedef enum VkShaderStageFlagBits { 2846 VK_SHADER_STAGE_VERTEX_BIT = 0x00000001, 2847 VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002, 2848 VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004, 2849 VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008, 2850 VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010, 2851 VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020, 2852 VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F, 2853 VK_SHADER_STAGE_ALL = 0x7FFFFFFF, 2854 VK_SHADER_STAGE_RAYGEN_BIT_KHR = 0x00000100, 2855 VK_SHADER_STAGE_ANY_HIT_BIT_KHR = 0x00000200, 2856 VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR = 0x00000400, 2857 VK_SHADER_STAGE_MISS_BIT_KHR = 0x00000800, 2858 VK_SHADER_STAGE_INTERSECTION_BIT_KHR = 0x00001000, 2859 VK_SHADER_STAGE_CALLABLE_BIT_KHR = 0x00002000, 2860 VK_SHADER_STAGE_TASK_BIT_EXT = 0x00000040, 2861 VK_SHADER_STAGE_MESH_BIT_EXT = 0x00000080, 2862 VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 0x00004000, 2863 VK_SHADER_STAGE_CLUSTER_CULLING_BIT_HUAWEI = 0x00080000, 2864 VK_SHADER_STAGE_RAYGEN_BIT_NV = VK_SHADER_STAGE_RAYGEN_BIT_KHR, 2865 VK_SHADER_STAGE_ANY_HIT_BIT_NV = VK_SHADER_STAGE_ANY_HIT_BIT_KHR, 2866 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR, 2867 VK_SHADER_STAGE_MISS_BIT_NV = VK_SHADER_STAGE_MISS_BIT_KHR, 2868 VK_SHADER_STAGE_INTERSECTION_BIT_NV = VK_SHADER_STAGE_INTERSECTION_BIT_KHR, 2869 VK_SHADER_STAGE_CALLABLE_BIT_NV = VK_SHADER_STAGE_CALLABLE_BIT_KHR, 2870 VK_SHADER_STAGE_TASK_BIT_NV = VK_SHADER_STAGE_TASK_BIT_EXT, 2871 VK_SHADER_STAGE_MESH_BIT_NV = VK_SHADER_STAGE_MESH_BIT_EXT, 2872 VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2873 } VkShaderStageFlagBits; 2874 2875 typedef enum VkCullModeFlagBits { 2876 VK_CULL_MODE_NONE = 0, 2877 VK_CULL_MODE_FRONT_BIT = 0x00000001, 2878 VK_CULL_MODE_BACK_BIT = 0x00000002, 2879 VK_CULL_MODE_FRONT_AND_BACK = 0x00000003, 2880 VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2881 } VkCullModeFlagBits; 2882 typedef VkFlags VkCullModeFlags; 2883 typedef VkFlags VkPipelineVertexInputStateCreateFlags; 2884 typedef VkFlags VkPipelineInputAssemblyStateCreateFlags; 2885 typedef VkFlags VkPipelineTessellationStateCreateFlags; 2886 typedef VkFlags VkPipelineViewportStateCreateFlags; 2887 typedef VkFlags VkPipelineRasterizationStateCreateFlags; 2888 typedef VkFlags VkPipelineMultisampleStateCreateFlags; 2889 2890 typedef enum VkPipelineDepthStencilStateCreateFlagBits { 2891 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT = 0x00000001, 2892 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT = 0x00000002, 2893 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT, 2894 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT, 2895 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2896 } VkPipelineDepthStencilStateCreateFlagBits; 2897 typedef VkFlags VkPipelineDepthStencilStateCreateFlags; 2898 2899 typedef enum VkPipelineColorBlendStateCreateFlagBits { 2900 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT = 0x00000001, 2901 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM = VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT, 2902 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2903 } VkPipelineColorBlendStateCreateFlagBits; 2904 typedef VkFlags VkPipelineColorBlendStateCreateFlags; 2905 typedef VkFlags VkPipelineDynamicStateCreateFlags; 2906 2907 typedef enum VkPipelineLayoutCreateFlagBits { 2908 VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT = 0x00000002, 2909 VK_PIPELINE_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2910 } VkPipelineLayoutCreateFlagBits; 2911 typedef VkFlags VkPipelineLayoutCreateFlags; 2912 typedef VkFlags VkShaderStageFlags; 2913 2914 typedef enum VkSamplerCreateFlagBits { 2915 VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0x00000001, 2916 VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002, 2917 VK_SAMPLER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000008, 2918 VK_SAMPLER_CREATE_NON_SEAMLESS_CUBE_MAP_BIT_EXT = 0x00000004, 2919 VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM = 0x00000010, 2920 VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2921 } VkSamplerCreateFlagBits; 2922 typedef VkFlags VkSamplerCreateFlags; 2923 2924 typedef enum VkDescriptorPoolCreateFlagBits { 2925 VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001, 2926 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002, 2927 VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT = 0x00000004, 2928 VK_DESCRIPTOR_POOL_CREATE_ALLOW_OVERALLOCATION_SETS_BIT_NV = 0x00000008, 2929 VK_DESCRIPTOR_POOL_CREATE_ALLOW_OVERALLOCATION_POOLS_BIT_NV = 0x00000010, 2930 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT, 2931 VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE = VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT, 2932 VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2933 } VkDescriptorPoolCreateFlagBits; 2934 typedef VkFlags VkDescriptorPoolCreateFlags; 2935 typedef VkFlags VkDescriptorPoolResetFlags; 2936 2937 typedef enum VkDescriptorSetLayoutCreateFlagBits { 2938 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002, 2939 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT = 0x00000001, 2940 VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT = 0x00000010, 2941 VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT = 0x00000020, 2942 VK_DESCRIPTOR_SET_LAYOUT_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00000080, 2943 VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT = 0x00000004, 2944 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV = 0x00000040, 2945 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT, 2946 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT, 2947 VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE = VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT, 2948 VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2949 } VkDescriptorSetLayoutCreateFlagBits; 2950 typedef VkFlags VkDescriptorSetLayoutCreateFlags; 2951 2952 typedef enum VkAttachmentDescriptionFlagBits { 2953 VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001, 2954 VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2955 } VkAttachmentDescriptionFlagBits; 2956 typedef VkFlags VkAttachmentDescriptionFlags; 2957 2958 typedef enum VkDependencyFlagBits { 2959 VK_DEPENDENCY_BY_REGION_BIT = 0x00000001, 2960 VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004, 2961 VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002, 2962 VK_DEPENDENCY_FEEDBACK_LOOP_BIT_EXT = 0x00000008, 2963 VK_DEPENDENCY_QUEUE_FAMILY_OWNERSHIP_TRANSFER_USE_ALL_STAGES_BIT_KHR = 0x00000020, 2964 VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT, 2965 VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT, 2966 VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2967 } VkDependencyFlagBits; 2968 typedef VkFlags VkDependencyFlags; 2969 2970 typedef enum VkFramebufferCreateFlagBits { 2971 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0x00000001, 2972 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT, 2973 VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2974 } VkFramebufferCreateFlagBits; 2975 typedef VkFlags VkFramebufferCreateFlags; 2976 2977 typedef enum VkRenderPassCreateFlagBits { 2978 VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM = 0x00000002, 2979 VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2980 } VkRenderPassCreateFlagBits; 2981 typedef VkFlags VkRenderPassCreateFlags; 2982 2983 typedef enum VkSubpassDescriptionFlagBits { 2984 VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001, 2985 VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002, 2986 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 0x00000004, 2987 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 0x00000008, 2988 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT = 0x00000010, 2989 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT = 0x00000020, 2990 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT = 0x00000040, 2991 VK_SUBPASS_DESCRIPTION_ENABLE_LEGACY_DITHERING_BIT_EXT = 0x00000080, 2992 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT, 2993 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT, 2994 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT, 2995 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2996 } VkSubpassDescriptionFlagBits; 2997 typedef VkFlags VkSubpassDescriptionFlags; 2998 2999 typedef enum VkCommandPoolCreateFlagBits { 3000 VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001, 3001 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002, 3002 VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004, 3003 VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3004 } VkCommandPoolCreateFlagBits; 3005 typedef VkFlags VkCommandPoolCreateFlags; 3006 3007 typedef enum VkCommandPoolResetFlagBits { 3008 VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001, 3009 VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3010 } VkCommandPoolResetFlagBits; 3011 typedef VkFlags VkCommandPoolResetFlags; 3012 3013 typedef enum VkCommandBufferUsageFlagBits { 3014 VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001, 3015 VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002, 3016 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004, 3017 VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3018 } VkCommandBufferUsageFlagBits; 3019 typedef VkFlags VkCommandBufferUsageFlags; 3020 3021 typedef enum VkQueryControlFlagBits { 3022 VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001, 3023 VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3024 } VkQueryControlFlagBits; 3025 typedef VkFlags VkQueryControlFlags; 3026 3027 typedef enum VkCommandBufferResetFlagBits { 3028 VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001, 3029 VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3030 } VkCommandBufferResetFlagBits; 3031 typedef VkFlags VkCommandBufferResetFlags; 3032 3033 typedef enum VkStencilFaceFlagBits { 3034 VK_STENCIL_FACE_FRONT_BIT = 0x00000001, 3035 VK_STENCIL_FACE_BACK_BIT = 0x00000002, 3036 VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003, 3037 // VK_STENCIL_FRONT_AND_BACK is a deprecated alias 3038 VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK, 3039 VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3040 } VkStencilFaceFlagBits; 3041 typedef VkFlags VkStencilFaceFlags; 3042 typedef struct VkExtent2D { 3043 uint32_t width; 3044 uint32_t height; 3045 } VkExtent2D; 3046 3047 typedef struct VkExtent3D { 3048 uint32_t width; 3049 uint32_t height; 3050 uint32_t depth; 3051 } VkExtent3D; 3052 3053 typedef struct VkOffset2D { 3054 int32_t x; 3055 int32_t y; 3056 } VkOffset2D; 3057 3058 typedef struct VkOffset3D { 3059 int32_t x; 3060 int32_t y; 3061 int32_t z; 3062 } VkOffset3D; 3063 3064 typedef struct VkRect2D { 3065 VkOffset2D offset; 3066 VkExtent2D extent; 3067 } VkRect2D; 3068 3069 typedef struct VkBaseInStructure { 3070 VkStructureType sType; 3071 const struct VkBaseInStructure* pNext; 3072 } VkBaseInStructure; 3073 3074 typedef struct VkBaseOutStructure { 3075 VkStructureType sType; 3076 struct VkBaseOutStructure* pNext; 3077 } VkBaseOutStructure; 3078 3079 typedef struct VkBufferMemoryBarrier { 3080 VkStructureType sType; 3081 const void* pNext; 3082 VkAccessFlags srcAccessMask; 3083 VkAccessFlags dstAccessMask; 3084 uint32_t srcQueueFamilyIndex; 3085 uint32_t dstQueueFamilyIndex; 3086 VkBuffer buffer; 3087 VkDeviceSize offset; 3088 VkDeviceSize size; 3089 } VkBufferMemoryBarrier; 3090 3091 typedef struct VkDispatchIndirectCommand { 3092 uint32_t x; 3093 uint32_t y; 3094 uint32_t z; 3095 } VkDispatchIndirectCommand; 3096 3097 typedef struct VkDrawIndexedIndirectCommand { 3098 uint32_t indexCount; 3099 uint32_t instanceCount; 3100 uint32_t firstIndex; 3101 int32_t vertexOffset; 3102 uint32_t firstInstance; 3103 } VkDrawIndexedIndirectCommand; 3104 3105 typedef struct VkDrawIndirectCommand { 3106 uint32_t vertexCount; 3107 uint32_t instanceCount; 3108 uint32_t firstVertex; 3109 uint32_t firstInstance; 3110 } VkDrawIndirectCommand; 3111 3112 typedef struct VkImageSubresourceRange { 3113 VkImageAspectFlags aspectMask; 3114 uint32_t baseMipLevel; 3115 uint32_t levelCount; 3116 uint32_t baseArrayLayer; 3117 uint32_t layerCount; 3118 } VkImageSubresourceRange; 3119 3120 typedef struct VkImageMemoryBarrier { 3121 VkStructureType sType; 3122 const void* pNext; 3123 VkAccessFlags srcAccessMask; 3124 VkAccessFlags dstAccessMask; 3125 VkImageLayout oldLayout; 3126 VkImageLayout newLayout; 3127 uint32_t srcQueueFamilyIndex; 3128 uint32_t dstQueueFamilyIndex; 3129 VkImage image; 3130 VkImageSubresourceRange subresourceRange; 3131 } VkImageMemoryBarrier; 3132 3133 typedef struct VkMemoryBarrier { 3134 VkStructureType sType; 3135 const void* pNext; 3136 VkAccessFlags srcAccessMask; 3137 VkAccessFlags dstAccessMask; 3138 } VkMemoryBarrier; 3139 3140 typedef struct VkPipelineCacheHeaderVersionOne { 3141 uint32_t headerSize; 3142 VkPipelineCacheHeaderVersion headerVersion; 3143 uint32_t vendorID; 3144 uint32_t deviceID; 3145 uint8_t pipelineCacheUUID[VK_UUID_SIZE]; 3146 } VkPipelineCacheHeaderVersionOne; 3147 3148 typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)( 3149 void* pUserData, 3150 size_t size, 3151 size_t alignment, 3152 VkSystemAllocationScope allocationScope); 3153 3154 typedef void (VKAPI_PTR *PFN_vkFreeFunction)( 3155 void* pUserData, 3156 void* pMemory); 3157 3158 typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)( 3159 void* pUserData, 3160 size_t size, 3161 VkInternalAllocationType allocationType, 3162 VkSystemAllocationScope allocationScope); 3163 3164 typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)( 3165 void* pUserData, 3166 size_t size, 3167 VkInternalAllocationType allocationType, 3168 VkSystemAllocationScope allocationScope); 3169 3170 typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)( 3171 void* pUserData, 3172 void* pOriginal, 3173 size_t size, 3174 size_t alignment, 3175 VkSystemAllocationScope allocationScope); 3176 3177 typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void); 3178 typedef struct VkAllocationCallbacks { 3179 void* pUserData; 3180 PFN_vkAllocationFunction pfnAllocation; 3181 PFN_vkReallocationFunction pfnReallocation; 3182 PFN_vkFreeFunction pfnFree; 3183 PFN_vkInternalAllocationNotification pfnInternalAllocation; 3184 PFN_vkInternalFreeNotification pfnInternalFree; 3185 } VkAllocationCallbacks; 3186 3187 typedef struct VkApplicationInfo { 3188 VkStructureType sType; 3189 const void* pNext; 3190 const char* pApplicationName; 3191 uint32_t applicationVersion; 3192 const char* pEngineName; 3193 uint32_t engineVersion; 3194 uint32_t apiVersion; 3195 } VkApplicationInfo; 3196 3197 typedef struct VkFormatProperties { 3198 VkFormatFeatureFlags linearTilingFeatures; 3199 VkFormatFeatureFlags optimalTilingFeatures; 3200 VkFormatFeatureFlags bufferFeatures; 3201 } VkFormatProperties; 3202 3203 typedef struct VkImageFormatProperties { 3204 VkExtent3D maxExtent; 3205 uint32_t maxMipLevels; 3206 uint32_t maxArrayLayers; 3207 VkSampleCountFlags sampleCounts; 3208 VkDeviceSize maxResourceSize; 3209 } VkImageFormatProperties; 3210 3211 typedef struct VkInstanceCreateInfo { 3212 VkStructureType sType; 3213 const void* pNext; 3214 VkInstanceCreateFlags flags; 3215 const VkApplicationInfo* pApplicationInfo; 3216 uint32_t enabledLayerCount; 3217 const char* const* ppEnabledLayerNames; 3218 uint32_t enabledExtensionCount; 3219 const char* const* ppEnabledExtensionNames; 3220 } VkInstanceCreateInfo; 3221 3222 typedef struct VkMemoryHeap { 3223 VkDeviceSize size; 3224 VkMemoryHeapFlags flags; 3225 } VkMemoryHeap; 3226 3227 typedef struct VkMemoryType { 3228 VkMemoryPropertyFlags propertyFlags; 3229 uint32_t heapIndex; 3230 } VkMemoryType; 3231 3232 typedef struct VkPhysicalDeviceFeatures { 3233 VkBool32 robustBufferAccess; 3234 VkBool32 fullDrawIndexUint32; 3235 VkBool32 imageCubeArray; 3236 VkBool32 independentBlend; 3237 VkBool32 geometryShader; 3238 VkBool32 tessellationShader; 3239 VkBool32 sampleRateShading; 3240 VkBool32 dualSrcBlend; 3241 VkBool32 logicOp; 3242 VkBool32 multiDrawIndirect; 3243 VkBool32 drawIndirectFirstInstance; 3244 VkBool32 depthClamp; 3245 VkBool32 depthBiasClamp; 3246 VkBool32 fillModeNonSolid; 3247 VkBool32 depthBounds; 3248 VkBool32 wideLines; 3249 VkBool32 largePoints; 3250 VkBool32 alphaToOne; 3251 VkBool32 multiViewport; 3252 VkBool32 samplerAnisotropy; 3253 VkBool32 textureCompressionETC2; 3254 VkBool32 textureCompressionASTC_LDR; 3255 VkBool32 textureCompressionBC; 3256 VkBool32 occlusionQueryPrecise; 3257 VkBool32 pipelineStatisticsQuery; 3258 VkBool32 vertexPipelineStoresAndAtomics; 3259 VkBool32 fragmentStoresAndAtomics; 3260 VkBool32 shaderTessellationAndGeometryPointSize; 3261 VkBool32 shaderImageGatherExtended; 3262 VkBool32 shaderStorageImageExtendedFormats; 3263 VkBool32 shaderStorageImageMultisample; 3264 VkBool32 shaderStorageImageReadWithoutFormat; 3265 VkBool32 shaderStorageImageWriteWithoutFormat; 3266 VkBool32 shaderUniformBufferArrayDynamicIndexing; 3267 VkBool32 shaderSampledImageArrayDynamicIndexing; 3268 VkBool32 shaderStorageBufferArrayDynamicIndexing; 3269 VkBool32 shaderStorageImageArrayDynamicIndexing; 3270 VkBool32 shaderClipDistance; 3271 VkBool32 shaderCullDistance; 3272 VkBool32 shaderFloat64; 3273 VkBool32 shaderInt64; 3274 VkBool32 shaderInt16; 3275 VkBool32 shaderResourceResidency; 3276 VkBool32 shaderResourceMinLod; 3277 VkBool32 sparseBinding; 3278 VkBool32 sparseResidencyBuffer; 3279 VkBool32 sparseResidencyImage2D; 3280 VkBool32 sparseResidencyImage3D; 3281 VkBool32 sparseResidency2Samples; 3282 VkBool32 sparseResidency4Samples; 3283 VkBool32 sparseResidency8Samples; 3284 VkBool32 sparseResidency16Samples; 3285 VkBool32 sparseResidencyAliased; 3286 VkBool32 variableMultisampleRate; 3287 VkBool32 inheritedQueries; 3288 } VkPhysicalDeviceFeatures; 3289 3290 typedef struct VkPhysicalDeviceLimits { 3291 uint32_t maxImageDimension1D; 3292 uint32_t maxImageDimension2D; 3293 uint32_t maxImageDimension3D; 3294 uint32_t maxImageDimensionCube; 3295 uint32_t maxImageArrayLayers; 3296 uint32_t maxTexelBufferElements; 3297 uint32_t maxUniformBufferRange; 3298 uint32_t maxStorageBufferRange; 3299 uint32_t maxPushConstantsSize; 3300 uint32_t maxMemoryAllocationCount; 3301 uint32_t maxSamplerAllocationCount; 3302 VkDeviceSize bufferImageGranularity; 3303 VkDeviceSize sparseAddressSpaceSize; 3304 uint32_t maxBoundDescriptorSets; 3305 uint32_t maxPerStageDescriptorSamplers; 3306 uint32_t maxPerStageDescriptorUniformBuffers; 3307 uint32_t maxPerStageDescriptorStorageBuffers; 3308 uint32_t maxPerStageDescriptorSampledImages; 3309 uint32_t maxPerStageDescriptorStorageImages; 3310 uint32_t maxPerStageDescriptorInputAttachments; 3311 uint32_t maxPerStageResources; 3312 uint32_t maxDescriptorSetSamplers; 3313 uint32_t maxDescriptorSetUniformBuffers; 3314 uint32_t maxDescriptorSetUniformBuffersDynamic; 3315 uint32_t maxDescriptorSetStorageBuffers; 3316 uint32_t maxDescriptorSetStorageBuffersDynamic; 3317 uint32_t maxDescriptorSetSampledImages; 3318 uint32_t maxDescriptorSetStorageImages; 3319 uint32_t maxDescriptorSetInputAttachments; 3320 uint32_t maxVertexInputAttributes; 3321 uint32_t maxVertexInputBindings; 3322 uint32_t maxVertexInputAttributeOffset; 3323 uint32_t maxVertexInputBindingStride; 3324 uint32_t maxVertexOutputComponents; 3325 uint32_t maxTessellationGenerationLevel; 3326 uint32_t maxTessellationPatchSize; 3327 uint32_t maxTessellationControlPerVertexInputComponents; 3328 uint32_t maxTessellationControlPerVertexOutputComponents; 3329 uint32_t maxTessellationControlPerPatchOutputComponents; 3330 uint32_t maxTessellationControlTotalOutputComponents; 3331 uint32_t maxTessellationEvaluationInputComponents; 3332 uint32_t maxTessellationEvaluationOutputComponents; 3333 uint32_t maxGeometryShaderInvocations; 3334 uint32_t maxGeometryInputComponents; 3335 uint32_t maxGeometryOutputComponents; 3336 uint32_t maxGeometryOutputVertices; 3337 uint32_t maxGeometryTotalOutputComponents; 3338 uint32_t maxFragmentInputComponents; 3339 uint32_t maxFragmentOutputAttachments; 3340 uint32_t maxFragmentDualSrcAttachments; 3341 uint32_t maxFragmentCombinedOutputResources; 3342 uint32_t maxComputeSharedMemorySize; 3343 uint32_t maxComputeWorkGroupCount[3]; 3344 uint32_t maxComputeWorkGroupInvocations; 3345 uint32_t maxComputeWorkGroupSize[3]; 3346 uint32_t subPixelPrecisionBits; 3347 uint32_t subTexelPrecisionBits; 3348 uint32_t mipmapPrecisionBits; 3349 uint32_t maxDrawIndexedIndexValue; 3350 uint32_t maxDrawIndirectCount; 3351 float maxSamplerLodBias; 3352 float maxSamplerAnisotropy; 3353 uint32_t maxViewports; 3354 uint32_t maxViewportDimensions[2]; 3355 float viewportBoundsRange[2]; 3356 uint32_t viewportSubPixelBits; 3357 size_t minMemoryMapAlignment; 3358 VkDeviceSize minTexelBufferOffsetAlignment; 3359 VkDeviceSize minUniformBufferOffsetAlignment; 3360 VkDeviceSize minStorageBufferOffsetAlignment; 3361 int32_t minTexelOffset; 3362 uint32_t maxTexelOffset; 3363 int32_t minTexelGatherOffset; 3364 uint32_t maxTexelGatherOffset; 3365 float minInterpolationOffset; 3366 float maxInterpolationOffset; 3367 uint32_t subPixelInterpolationOffsetBits; 3368 uint32_t maxFramebufferWidth; 3369 uint32_t maxFramebufferHeight; 3370 uint32_t maxFramebufferLayers; 3371 VkSampleCountFlags framebufferColorSampleCounts; 3372 VkSampleCountFlags framebufferDepthSampleCounts; 3373 VkSampleCountFlags framebufferStencilSampleCounts; 3374 VkSampleCountFlags framebufferNoAttachmentsSampleCounts; 3375 uint32_t maxColorAttachments; 3376 VkSampleCountFlags sampledImageColorSampleCounts; 3377 VkSampleCountFlags sampledImageIntegerSampleCounts; 3378 VkSampleCountFlags sampledImageDepthSampleCounts; 3379 VkSampleCountFlags sampledImageStencilSampleCounts; 3380 VkSampleCountFlags storageImageSampleCounts; 3381 uint32_t maxSampleMaskWords; 3382 VkBool32 timestampComputeAndGraphics; 3383 float timestampPeriod; 3384 uint32_t maxClipDistances; 3385 uint32_t maxCullDistances; 3386 uint32_t maxCombinedClipAndCullDistances; 3387 uint32_t discreteQueuePriorities; 3388 float pointSizeRange[2]; 3389 float lineWidthRange[2]; 3390 float pointSizeGranularity; 3391 float lineWidthGranularity; 3392 VkBool32 strictLines; 3393 VkBool32 standardSampleLocations; 3394 VkDeviceSize optimalBufferCopyOffsetAlignment; 3395 VkDeviceSize optimalBufferCopyRowPitchAlignment; 3396 VkDeviceSize nonCoherentAtomSize; 3397 } VkPhysicalDeviceLimits; 3398 3399 typedef struct VkPhysicalDeviceMemoryProperties { 3400 uint32_t memoryTypeCount; 3401 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES]; 3402 uint32_t memoryHeapCount; 3403 VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS]; 3404 } VkPhysicalDeviceMemoryProperties; 3405 3406 typedef struct VkPhysicalDeviceSparseProperties { 3407 VkBool32 residencyStandard2DBlockShape; 3408 VkBool32 residencyStandard2DMultisampleBlockShape; 3409 VkBool32 residencyStandard3DBlockShape; 3410 VkBool32 residencyAlignedMipSize; 3411 VkBool32 residencyNonResidentStrict; 3412 } VkPhysicalDeviceSparseProperties; 3413 3414 typedef struct VkPhysicalDeviceProperties { 3415 uint32_t apiVersion; 3416 uint32_t driverVersion; 3417 uint32_t vendorID; 3418 uint32_t deviceID; 3419 VkPhysicalDeviceType deviceType; 3420 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE]; 3421 uint8_t pipelineCacheUUID[VK_UUID_SIZE]; 3422 VkPhysicalDeviceLimits limits; 3423 VkPhysicalDeviceSparseProperties sparseProperties; 3424 } VkPhysicalDeviceProperties; 3425 3426 typedef struct VkQueueFamilyProperties { 3427 VkQueueFlags queueFlags; 3428 uint32_t queueCount; 3429 uint32_t timestampValidBits; 3430 VkExtent3D minImageTransferGranularity; 3431 } VkQueueFamilyProperties; 3432 3433 typedef struct VkDeviceQueueCreateInfo { 3434 VkStructureType sType; 3435 const void* pNext; 3436 VkDeviceQueueCreateFlags flags; 3437 uint32_t queueFamilyIndex; 3438 uint32_t queueCount; 3439 const float* pQueuePriorities; 3440 } VkDeviceQueueCreateInfo; 3441 3442 typedef struct VkDeviceCreateInfo { 3443 VkStructureType sType; 3444 const void* pNext; 3445 VkDeviceCreateFlags flags; 3446 uint32_t queueCreateInfoCount; 3447 const VkDeviceQueueCreateInfo* pQueueCreateInfos; 3448 // enabledLayerCount is deprecated and should not be used 3449 uint32_t enabledLayerCount; 3450 // ppEnabledLayerNames is deprecated and should not be used 3451 const char* const* ppEnabledLayerNames; 3452 uint32_t enabledExtensionCount; 3453 const char* const* ppEnabledExtensionNames; 3454 const VkPhysicalDeviceFeatures* pEnabledFeatures; 3455 } VkDeviceCreateInfo; 3456 3457 typedef struct VkExtensionProperties { 3458 char extensionName[VK_MAX_EXTENSION_NAME_SIZE]; 3459 uint32_t specVersion; 3460 } VkExtensionProperties; 3461 3462 typedef struct VkLayerProperties { 3463 char layerName[VK_MAX_EXTENSION_NAME_SIZE]; 3464 uint32_t specVersion; 3465 uint32_t implementationVersion; 3466 char description[VK_MAX_DESCRIPTION_SIZE]; 3467 } VkLayerProperties; 3468 3469 typedef struct VkSubmitInfo { 3470 VkStructureType sType; 3471 const void* pNext; 3472 uint32_t waitSemaphoreCount; 3473 const VkSemaphore* pWaitSemaphores; 3474 const VkPipelineStageFlags* pWaitDstStageMask; 3475 uint32_t commandBufferCount; 3476 const VkCommandBuffer* pCommandBuffers; 3477 uint32_t signalSemaphoreCount; 3478 const VkSemaphore* pSignalSemaphores; 3479 } VkSubmitInfo; 3480 3481 typedef struct VkMappedMemoryRange { 3482 VkStructureType sType; 3483 const void* pNext; 3484 VkDeviceMemory memory; 3485 VkDeviceSize offset; 3486 VkDeviceSize size; 3487 } VkMappedMemoryRange; 3488 3489 typedef struct VkMemoryAllocateInfo { 3490 VkStructureType sType; 3491 const void* pNext; 3492 VkDeviceSize allocationSize; 3493 uint32_t memoryTypeIndex; 3494 } VkMemoryAllocateInfo; 3495 3496 typedef struct VkMemoryRequirements { 3497 VkDeviceSize size; 3498 VkDeviceSize alignment; 3499 uint32_t memoryTypeBits; 3500 } VkMemoryRequirements; 3501 3502 typedef struct VkSparseMemoryBind { 3503 VkDeviceSize resourceOffset; 3504 VkDeviceSize size; 3505 VkDeviceMemory memory; 3506 VkDeviceSize memoryOffset; 3507 VkSparseMemoryBindFlags flags; 3508 } VkSparseMemoryBind; 3509 3510 typedef struct VkSparseBufferMemoryBindInfo { 3511 VkBuffer buffer; 3512 uint32_t bindCount; 3513 const VkSparseMemoryBind* pBinds; 3514 } VkSparseBufferMemoryBindInfo; 3515 3516 typedef struct VkSparseImageOpaqueMemoryBindInfo { 3517 VkImage image; 3518 uint32_t bindCount; 3519 const VkSparseMemoryBind* pBinds; 3520 } VkSparseImageOpaqueMemoryBindInfo; 3521 3522 typedef struct VkImageSubresource { 3523 VkImageAspectFlags aspectMask; 3524 uint32_t mipLevel; 3525 uint32_t arrayLayer; 3526 } VkImageSubresource; 3527 3528 typedef struct VkSparseImageMemoryBind { 3529 VkImageSubresource subresource; 3530 VkOffset3D offset; 3531 VkExtent3D extent; 3532 VkDeviceMemory memory; 3533 VkDeviceSize memoryOffset; 3534 VkSparseMemoryBindFlags flags; 3535 } VkSparseImageMemoryBind; 3536 3537 typedef struct VkSparseImageMemoryBindInfo { 3538 VkImage image; 3539 uint32_t bindCount; 3540 const VkSparseImageMemoryBind* pBinds; 3541 } VkSparseImageMemoryBindInfo; 3542 3543 typedef struct VkBindSparseInfo { 3544 VkStructureType sType; 3545 const void* pNext; 3546 uint32_t waitSemaphoreCount; 3547 const VkSemaphore* pWaitSemaphores; 3548 uint32_t bufferBindCount; 3549 const VkSparseBufferMemoryBindInfo* pBufferBinds; 3550 uint32_t imageOpaqueBindCount; 3551 const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds; 3552 uint32_t imageBindCount; 3553 const VkSparseImageMemoryBindInfo* pImageBinds; 3554 uint32_t signalSemaphoreCount; 3555 const VkSemaphore* pSignalSemaphores; 3556 } VkBindSparseInfo; 3557 3558 typedef struct VkSparseImageFormatProperties { 3559 VkImageAspectFlags aspectMask; 3560 VkExtent3D imageGranularity; 3561 VkSparseImageFormatFlags flags; 3562 } VkSparseImageFormatProperties; 3563 3564 typedef struct VkSparseImageMemoryRequirements { 3565 VkSparseImageFormatProperties formatProperties; 3566 uint32_t imageMipTailFirstLod; 3567 VkDeviceSize imageMipTailSize; 3568 VkDeviceSize imageMipTailOffset; 3569 VkDeviceSize imageMipTailStride; 3570 } VkSparseImageMemoryRequirements; 3571 3572 typedef struct VkFenceCreateInfo { 3573 VkStructureType sType; 3574 const void* pNext; 3575 VkFenceCreateFlags flags; 3576 } VkFenceCreateInfo; 3577 3578 typedef struct VkSemaphoreCreateInfo { 3579 VkStructureType sType; 3580 const void* pNext; 3581 VkSemaphoreCreateFlags flags; 3582 } VkSemaphoreCreateInfo; 3583 3584 typedef struct VkEventCreateInfo { 3585 VkStructureType sType; 3586 const void* pNext; 3587 VkEventCreateFlags flags; 3588 } VkEventCreateInfo; 3589 3590 typedef struct VkQueryPoolCreateInfo { 3591 VkStructureType sType; 3592 const void* pNext; 3593 VkQueryPoolCreateFlags flags; 3594 VkQueryType queryType; 3595 uint32_t queryCount; 3596 VkQueryPipelineStatisticFlags pipelineStatistics; 3597 } VkQueryPoolCreateInfo; 3598 3599 typedef struct VkBufferCreateInfo { 3600 VkStructureType sType; 3601 const void* pNext; 3602 VkBufferCreateFlags flags; 3603 VkDeviceSize size; 3604 VkBufferUsageFlags usage; 3605 VkSharingMode sharingMode; 3606 uint32_t queueFamilyIndexCount; 3607 const uint32_t* pQueueFamilyIndices; 3608 } VkBufferCreateInfo; 3609 3610 typedef struct VkBufferViewCreateInfo { 3611 VkStructureType sType; 3612 const void* pNext; 3613 VkBufferViewCreateFlags flags; 3614 VkBuffer buffer; 3615 VkFormat format; 3616 VkDeviceSize offset; 3617 VkDeviceSize range; 3618 } VkBufferViewCreateInfo; 3619 3620 typedef struct VkImageCreateInfo { 3621 VkStructureType sType; 3622 const void* pNext; 3623 VkImageCreateFlags flags; 3624 VkImageType imageType; 3625 VkFormat format; 3626 VkExtent3D extent; 3627 uint32_t mipLevels; 3628 uint32_t arrayLayers; 3629 VkSampleCountFlagBits samples; 3630 VkImageTiling tiling; 3631 VkImageUsageFlags usage; 3632 VkSharingMode sharingMode; 3633 uint32_t queueFamilyIndexCount; 3634 const uint32_t* pQueueFamilyIndices; 3635 VkImageLayout initialLayout; 3636 } VkImageCreateInfo; 3637 3638 typedef struct VkSubresourceLayout { 3639 VkDeviceSize offset; 3640 VkDeviceSize size; 3641 VkDeviceSize rowPitch; 3642 VkDeviceSize arrayPitch; 3643 VkDeviceSize depthPitch; 3644 } VkSubresourceLayout; 3645 3646 typedef struct VkComponentMapping { 3647 VkComponentSwizzle r; 3648 VkComponentSwizzle g; 3649 VkComponentSwizzle b; 3650 VkComponentSwizzle a; 3651 } VkComponentMapping; 3652 3653 typedef struct VkImageViewCreateInfo { 3654 VkStructureType sType; 3655 const void* pNext; 3656 VkImageViewCreateFlags flags; 3657 VkImage image; 3658 VkImageViewType viewType; 3659 VkFormat format; 3660 VkComponentMapping components; 3661 VkImageSubresourceRange subresourceRange; 3662 } VkImageViewCreateInfo; 3663 3664 typedef struct VkShaderModuleCreateInfo { 3665 VkStructureType sType; 3666 const void* pNext; 3667 VkShaderModuleCreateFlags flags; 3668 size_t codeSize; 3669 const uint32_t* pCode; 3670 } VkShaderModuleCreateInfo; 3671 3672 typedef struct VkPipelineCacheCreateInfo { 3673 VkStructureType sType; 3674 const void* pNext; 3675 VkPipelineCacheCreateFlags flags; 3676 size_t initialDataSize; 3677 const void* pInitialData; 3678 } VkPipelineCacheCreateInfo; 3679 3680 typedef struct VkSpecializationMapEntry { 3681 uint32_t constantID; 3682 uint32_t offset; 3683 size_t size; 3684 } VkSpecializationMapEntry; 3685 3686 typedef struct VkSpecializationInfo { 3687 uint32_t mapEntryCount; 3688 const VkSpecializationMapEntry* pMapEntries; 3689 size_t dataSize; 3690 const void* pData; 3691 } VkSpecializationInfo; 3692 3693 typedef struct VkPipelineShaderStageCreateInfo { 3694 VkStructureType sType; 3695 const void* pNext; 3696 VkPipelineShaderStageCreateFlags flags; 3697 VkShaderStageFlagBits stage; 3698 VkShaderModule module; 3699 const char* pName; 3700 const VkSpecializationInfo* pSpecializationInfo; 3701 } VkPipelineShaderStageCreateInfo; 3702 3703 typedef struct VkComputePipelineCreateInfo { 3704 VkStructureType sType; 3705 const void* pNext; 3706 VkPipelineCreateFlags flags; 3707 VkPipelineShaderStageCreateInfo stage; 3708 VkPipelineLayout layout; 3709 VkPipeline basePipelineHandle; 3710 int32_t basePipelineIndex; 3711 } VkComputePipelineCreateInfo; 3712 3713 typedef struct VkVertexInputBindingDescription { 3714 uint32_t binding; 3715 uint32_t stride; 3716 VkVertexInputRate inputRate; 3717 } VkVertexInputBindingDescription; 3718 3719 typedef struct VkVertexInputAttributeDescription { 3720 uint32_t location; 3721 uint32_t binding; 3722 VkFormat format; 3723 uint32_t offset; 3724 } VkVertexInputAttributeDescription; 3725 3726 typedef struct VkPipelineVertexInputStateCreateInfo { 3727 VkStructureType sType; 3728 const void* pNext; 3729 VkPipelineVertexInputStateCreateFlags flags; 3730 uint32_t vertexBindingDescriptionCount; 3731 const VkVertexInputBindingDescription* pVertexBindingDescriptions; 3732 uint32_t vertexAttributeDescriptionCount; 3733 const VkVertexInputAttributeDescription* pVertexAttributeDescriptions; 3734 } VkPipelineVertexInputStateCreateInfo; 3735 3736 typedef struct VkPipelineInputAssemblyStateCreateInfo { 3737 VkStructureType sType; 3738 const void* pNext; 3739 VkPipelineInputAssemblyStateCreateFlags flags; 3740 VkPrimitiveTopology topology; 3741 VkBool32 primitiveRestartEnable; 3742 } VkPipelineInputAssemblyStateCreateInfo; 3743 3744 typedef struct VkPipelineTessellationStateCreateInfo { 3745 VkStructureType sType; 3746 const void* pNext; 3747 VkPipelineTessellationStateCreateFlags flags; 3748 uint32_t patchControlPoints; 3749 } VkPipelineTessellationStateCreateInfo; 3750 3751 typedef struct VkViewport { 3752 float x; 3753 float y; 3754 float width; 3755 float height; 3756 float minDepth; 3757 float maxDepth; 3758 } VkViewport; 3759 3760 typedef struct VkPipelineViewportStateCreateInfo { 3761 VkStructureType sType; 3762 const void* pNext; 3763 VkPipelineViewportStateCreateFlags flags; 3764 uint32_t viewportCount; 3765 const VkViewport* pViewports; 3766 uint32_t scissorCount; 3767 const VkRect2D* pScissors; 3768 } VkPipelineViewportStateCreateInfo; 3769 3770 typedef struct VkPipelineRasterizationStateCreateInfo { 3771 VkStructureType sType; 3772 const void* pNext; 3773 VkPipelineRasterizationStateCreateFlags flags; 3774 VkBool32 depthClampEnable; 3775 VkBool32 rasterizerDiscardEnable; 3776 VkPolygonMode polygonMode; 3777 VkCullModeFlags cullMode; 3778 VkFrontFace frontFace; 3779 VkBool32 depthBiasEnable; 3780 float depthBiasConstantFactor; 3781 float depthBiasClamp; 3782 float depthBiasSlopeFactor; 3783 float lineWidth; 3784 } VkPipelineRasterizationStateCreateInfo; 3785 3786 typedef struct VkPipelineMultisampleStateCreateInfo { 3787 VkStructureType sType; 3788 const void* pNext; 3789 VkPipelineMultisampleStateCreateFlags flags; 3790 VkSampleCountFlagBits rasterizationSamples; 3791 VkBool32 sampleShadingEnable; 3792 float minSampleShading; 3793 const VkSampleMask* pSampleMask; 3794 VkBool32 alphaToCoverageEnable; 3795 VkBool32 alphaToOneEnable; 3796 } VkPipelineMultisampleStateCreateInfo; 3797 3798 typedef struct VkStencilOpState { 3799 VkStencilOp failOp; 3800 VkStencilOp passOp; 3801 VkStencilOp depthFailOp; 3802 VkCompareOp compareOp; 3803 uint32_t compareMask; 3804 uint32_t writeMask; 3805 uint32_t reference; 3806 } VkStencilOpState; 3807 3808 typedef struct VkPipelineDepthStencilStateCreateInfo { 3809 VkStructureType sType; 3810 const void* pNext; 3811 VkPipelineDepthStencilStateCreateFlags flags; 3812 VkBool32 depthTestEnable; 3813 VkBool32 depthWriteEnable; 3814 VkCompareOp depthCompareOp; 3815 VkBool32 depthBoundsTestEnable; 3816 VkBool32 stencilTestEnable; 3817 VkStencilOpState front; 3818 VkStencilOpState back; 3819 float minDepthBounds; 3820 float maxDepthBounds; 3821 } VkPipelineDepthStencilStateCreateInfo; 3822 3823 typedef struct VkPipelineColorBlendAttachmentState { 3824 VkBool32 blendEnable; 3825 VkBlendFactor srcColorBlendFactor; 3826 VkBlendFactor dstColorBlendFactor; 3827 VkBlendOp colorBlendOp; 3828 VkBlendFactor srcAlphaBlendFactor; 3829 VkBlendFactor dstAlphaBlendFactor; 3830 VkBlendOp alphaBlendOp; 3831 VkColorComponentFlags colorWriteMask; 3832 } VkPipelineColorBlendAttachmentState; 3833 3834 typedef struct VkPipelineColorBlendStateCreateInfo { 3835 VkStructureType sType; 3836 const void* pNext; 3837 VkPipelineColorBlendStateCreateFlags flags; 3838 VkBool32 logicOpEnable; 3839 VkLogicOp logicOp; 3840 uint32_t attachmentCount; 3841 const VkPipelineColorBlendAttachmentState* pAttachments; 3842 float blendConstants[4]; 3843 } VkPipelineColorBlendStateCreateInfo; 3844 3845 typedef struct VkPipelineDynamicStateCreateInfo { 3846 VkStructureType sType; 3847 const void* pNext; 3848 VkPipelineDynamicStateCreateFlags flags; 3849 uint32_t dynamicStateCount; 3850 const VkDynamicState* pDynamicStates; 3851 } VkPipelineDynamicStateCreateInfo; 3852 3853 typedef struct VkGraphicsPipelineCreateInfo { 3854 VkStructureType sType; 3855 const void* pNext; 3856 VkPipelineCreateFlags flags; 3857 uint32_t stageCount; 3858 const VkPipelineShaderStageCreateInfo* pStages; 3859 const VkPipelineVertexInputStateCreateInfo* pVertexInputState; 3860 const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState; 3861 const VkPipelineTessellationStateCreateInfo* pTessellationState; 3862 const VkPipelineViewportStateCreateInfo* pViewportState; 3863 const VkPipelineRasterizationStateCreateInfo* pRasterizationState; 3864 const VkPipelineMultisampleStateCreateInfo* pMultisampleState; 3865 const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState; 3866 const VkPipelineColorBlendStateCreateInfo* pColorBlendState; 3867 const VkPipelineDynamicStateCreateInfo* pDynamicState; 3868 VkPipelineLayout layout; 3869 VkRenderPass renderPass; 3870 uint32_t subpass; 3871 VkPipeline basePipelineHandle; 3872 int32_t basePipelineIndex; 3873 } VkGraphicsPipelineCreateInfo; 3874 3875 typedef struct VkPushConstantRange { 3876 VkShaderStageFlags stageFlags; 3877 uint32_t offset; 3878 uint32_t size; 3879 } VkPushConstantRange; 3880 3881 typedef struct VkPipelineLayoutCreateInfo { 3882 VkStructureType sType; 3883 const void* pNext; 3884 VkPipelineLayoutCreateFlags flags; 3885 uint32_t setLayoutCount; 3886 const VkDescriptorSetLayout* pSetLayouts; 3887 uint32_t pushConstantRangeCount; 3888 const VkPushConstantRange* pPushConstantRanges; 3889 } VkPipelineLayoutCreateInfo; 3890 3891 typedef struct VkSamplerCreateInfo { 3892 VkStructureType sType; 3893 const void* pNext; 3894 VkSamplerCreateFlags flags; 3895 VkFilter magFilter; 3896 VkFilter minFilter; 3897 VkSamplerMipmapMode mipmapMode; 3898 VkSamplerAddressMode addressModeU; 3899 VkSamplerAddressMode addressModeV; 3900 VkSamplerAddressMode addressModeW; 3901 float mipLodBias; 3902 VkBool32 anisotropyEnable; 3903 float maxAnisotropy; 3904 VkBool32 compareEnable; 3905 VkCompareOp compareOp; 3906 float minLod; 3907 float maxLod; 3908 VkBorderColor borderColor; 3909 VkBool32 unnormalizedCoordinates; 3910 } VkSamplerCreateInfo; 3911 3912 typedef struct VkCopyDescriptorSet { 3913 VkStructureType sType; 3914 const void* pNext; 3915 VkDescriptorSet srcSet; 3916 uint32_t srcBinding; 3917 uint32_t srcArrayElement; 3918 VkDescriptorSet dstSet; 3919 uint32_t dstBinding; 3920 uint32_t dstArrayElement; 3921 uint32_t descriptorCount; 3922 } VkCopyDescriptorSet; 3923 3924 typedef struct VkDescriptorBufferInfo { 3925 VkBuffer buffer; 3926 VkDeviceSize offset; 3927 VkDeviceSize range; 3928 } VkDescriptorBufferInfo; 3929 3930 typedef struct VkDescriptorImageInfo { 3931 VkSampler sampler; 3932 VkImageView imageView; 3933 VkImageLayout imageLayout; 3934 } VkDescriptorImageInfo; 3935 3936 typedef struct VkDescriptorPoolSize { 3937 VkDescriptorType type; 3938 uint32_t descriptorCount; 3939 } VkDescriptorPoolSize; 3940 3941 typedef struct VkDescriptorPoolCreateInfo { 3942 VkStructureType sType; 3943 const void* pNext; 3944 VkDescriptorPoolCreateFlags flags; 3945 uint32_t maxSets; 3946 uint32_t poolSizeCount; 3947 const VkDescriptorPoolSize* pPoolSizes; 3948 } VkDescriptorPoolCreateInfo; 3949 3950 typedef struct VkDescriptorSetAllocateInfo { 3951 VkStructureType sType; 3952 const void* pNext; 3953 VkDescriptorPool descriptorPool; 3954 uint32_t descriptorSetCount; 3955 const VkDescriptorSetLayout* pSetLayouts; 3956 } VkDescriptorSetAllocateInfo; 3957 3958 typedef struct VkDescriptorSetLayoutBinding { 3959 uint32_t binding; 3960 VkDescriptorType descriptorType; 3961 uint32_t descriptorCount; 3962 VkShaderStageFlags stageFlags; 3963 const VkSampler* pImmutableSamplers; 3964 } VkDescriptorSetLayoutBinding; 3965 3966 typedef struct VkDescriptorSetLayoutCreateInfo { 3967 VkStructureType sType; 3968 const void* pNext; 3969 VkDescriptorSetLayoutCreateFlags flags; 3970 uint32_t bindingCount; 3971 const VkDescriptorSetLayoutBinding* pBindings; 3972 } VkDescriptorSetLayoutCreateInfo; 3973 3974 typedef struct VkWriteDescriptorSet { 3975 VkStructureType sType; 3976 const void* pNext; 3977 VkDescriptorSet dstSet; 3978 uint32_t dstBinding; 3979 uint32_t dstArrayElement; 3980 uint32_t descriptorCount; 3981 VkDescriptorType descriptorType; 3982 const VkDescriptorImageInfo* pImageInfo; 3983 const VkDescriptorBufferInfo* pBufferInfo; 3984 const VkBufferView* pTexelBufferView; 3985 } VkWriteDescriptorSet; 3986 3987 typedef struct VkAttachmentDescription { 3988 VkAttachmentDescriptionFlags flags; 3989 VkFormat format; 3990 VkSampleCountFlagBits samples; 3991 VkAttachmentLoadOp loadOp; 3992 VkAttachmentStoreOp storeOp; 3993 VkAttachmentLoadOp stencilLoadOp; 3994 VkAttachmentStoreOp stencilStoreOp; 3995 VkImageLayout initialLayout; 3996 VkImageLayout finalLayout; 3997 } VkAttachmentDescription; 3998 3999 typedef struct VkAttachmentReference { 4000 uint32_t attachment; 4001 VkImageLayout layout; 4002 } VkAttachmentReference; 4003 4004 typedef struct VkFramebufferCreateInfo { 4005 VkStructureType sType; 4006 const void* pNext; 4007 VkFramebufferCreateFlags flags; 4008 VkRenderPass renderPass; 4009 uint32_t attachmentCount; 4010 const VkImageView* pAttachments; 4011 uint32_t width; 4012 uint32_t height; 4013 uint32_t layers; 4014 } VkFramebufferCreateInfo; 4015 4016 typedef struct VkSubpassDescription { 4017 VkSubpassDescriptionFlags flags; 4018 VkPipelineBindPoint pipelineBindPoint; 4019 uint32_t inputAttachmentCount; 4020 const VkAttachmentReference* pInputAttachments; 4021 uint32_t colorAttachmentCount; 4022 const VkAttachmentReference* pColorAttachments; 4023 const VkAttachmentReference* pResolveAttachments; 4024 const VkAttachmentReference* pDepthStencilAttachment; 4025 uint32_t preserveAttachmentCount; 4026 const uint32_t* pPreserveAttachments; 4027 } VkSubpassDescription; 4028 4029 typedef struct VkSubpassDependency { 4030 uint32_t srcSubpass; 4031 uint32_t dstSubpass; 4032 VkPipelineStageFlags srcStageMask; 4033 VkPipelineStageFlags dstStageMask; 4034 VkAccessFlags srcAccessMask; 4035 VkAccessFlags dstAccessMask; 4036 VkDependencyFlags dependencyFlags; 4037 } VkSubpassDependency; 4038 4039 typedef struct VkRenderPassCreateInfo { 4040 VkStructureType sType; 4041 const void* pNext; 4042 VkRenderPassCreateFlags flags; 4043 uint32_t attachmentCount; 4044 const VkAttachmentDescription* pAttachments; 4045 uint32_t subpassCount; 4046 const VkSubpassDescription* pSubpasses; 4047 uint32_t dependencyCount; 4048 const VkSubpassDependency* pDependencies; 4049 } VkRenderPassCreateInfo; 4050 4051 typedef struct VkCommandPoolCreateInfo { 4052 VkStructureType sType; 4053 const void* pNext; 4054 VkCommandPoolCreateFlags flags; 4055 uint32_t queueFamilyIndex; 4056 } VkCommandPoolCreateInfo; 4057 4058 typedef struct VkCommandBufferAllocateInfo { 4059 VkStructureType sType; 4060 const void* pNext; 4061 VkCommandPool commandPool; 4062 VkCommandBufferLevel level; 4063 uint32_t commandBufferCount; 4064 } VkCommandBufferAllocateInfo; 4065 4066 typedef struct VkCommandBufferInheritanceInfo { 4067 VkStructureType sType; 4068 const void* pNext; 4069 VkRenderPass renderPass; 4070 uint32_t subpass; 4071 VkFramebuffer framebuffer; 4072 VkBool32 occlusionQueryEnable; 4073 VkQueryControlFlags queryFlags; 4074 VkQueryPipelineStatisticFlags pipelineStatistics; 4075 } VkCommandBufferInheritanceInfo; 4076 4077 typedef struct VkCommandBufferBeginInfo { 4078 VkStructureType sType; 4079 const void* pNext; 4080 VkCommandBufferUsageFlags flags; 4081 const VkCommandBufferInheritanceInfo* pInheritanceInfo; 4082 } VkCommandBufferBeginInfo; 4083 4084 typedef struct VkBufferCopy { 4085 VkDeviceSize srcOffset; 4086 VkDeviceSize dstOffset; 4087 VkDeviceSize size; 4088 } VkBufferCopy; 4089 4090 typedef struct VkImageSubresourceLayers { 4091 VkImageAspectFlags aspectMask; 4092 uint32_t mipLevel; 4093 uint32_t baseArrayLayer; 4094 uint32_t layerCount; 4095 } VkImageSubresourceLayers; 4096 4097 typedef struct VkBufferImageCopy { 4098 VkDeviceSize bufferOffset; 4099 uint32_t bufferRowLength; 4100 uint32_t bufferImageHeight; 4101 VkImageSubresourceLayers imageSubresource; 4102 VkOffset3D imageOffset; 4103 VkExtent3D imageExtent; 4104 } VkBufferImageCopy; 4105 4106 typedef union VkClearColorValue { 4107 float float32[4]; 4108 int32_t int32[4]; 4109 uint32_t uint32[4]; 4110 } VkClearColorValue; 4111 4112 typedef struct VkClearDepthStencilValue { 4113 float depth; 4114 uint32_t stencil; 4115 } VkClearDepthStencilValue; 4116 4117 typedef union VkClearValue { 4118 VkClearColorValue color; 4119 VkClearDepthStencilValue depthStencil; 4120 } VkClearValue; 4121 4122 typedef struct VkClearAttachment { 4123 VkImageAspectFlags aspectMask; 4124 uint32_t colorAttachment; 4125 VkClearValue clearValue; 4126 } VkClearAttachment; 4127 4128 typedef struct VkClearRect { 4129 VkRect2D rect; 4130 uint32_t baseArrayLayer; 4131 uint32_t layerCount; 4132 } VkClearRect; 4133 4134 typedef struct VkImageBlit { 4135 VkImageSubresourceLayers srcSubresource; 4136 VkOffset3D srcOffsets[2]; 4137 VkImageSubresourceLayers dstSubresource; 4138 VkOffset3D dstOffsets[2]; 4139 } VkImageBlit; 4140 4141 typedef struct VkImageCopy { 4142 VkImageSubresourceLayers srcSubresource; 4143 VkOffset3D srcOffset; 4144 VkImageSubresourceLayers dstSubresource; 4145 VkOffset3D dstOffset; 4146 VkExtent3D extent; 4147 } VkImageCopy; 4148 4149 typedef struct VkImageResolve { 4150 VkImageSubresourceLayers srcSubresource; 4151 VkOffset3D srcOffset; 4152 VkImageSubresourceLayers dstSubresource; 4153 VkOffset3D dstOffset; 4154 VkExtent3D extent; 4155 } VkImageResolve; 4156 4157 typedef struct VkRenderPassBeginInfo { 4158 VkStructureType sType; 4159 const void* pNext; 4160 VkRenderPass renderPass; 4161 VkFramebuffer framebuffer; 4162 VkRect2D renderArea; 4163 uint32_t clearValueCount; 4164 const VkClearValue* pClearValues; 4165 } VkRenderPassBeginInfo; 4166 4167 typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance); 4168 typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator); 4169 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices); 4170 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures); 4171 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties); 4172 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties); 4173 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties); 4174 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties); 4175 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties); 4176 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName); 4177 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName); 4178 typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice); 4179 typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator); 4180 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties); 4181 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties); 4182 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(uint32_t* pPropertyCount, VkLayerProperties* pProperties); 4183 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties); 4184 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue); 4185 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence); 4186 typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue); 4187 typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device); 4188 typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory); 4189 typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator); 4190 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData); 4191 typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory); 4192 typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges); 4193 typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges); 4194 typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes); 4195 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset); 4196 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset); 4197 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements); 4198 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements); 4199 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements); 4200 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties); 4201 typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence); 4202 typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); 4203 typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator); 4204 typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences); 4205 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence); 4206 typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout); 4207 typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore); 4208 typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator); 4209 typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent); 4210 typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator); 4211 typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event); 4212 typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event); 4213 typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event); 4214 typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool); 4215 typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator); 4216 typedef VkResult (VKAPI_PTR *PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags); 4217 typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer); 4218 typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator); 4219 typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView); 4220 typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator); 4221 typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage); 4222 typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator); 4223 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout); 4224 typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView); 4225 typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator); 4226 typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule); 4227 typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator); 4228 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache); 4229 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator); 4230 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData); 4231 typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches); 4232 typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 4233 typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 4234 typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator); 4235 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout); 4236 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator); 4237 typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler); 4238 typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator); 4239 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout); 4240 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator); 4241 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool); 4242 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator); 4243 typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags); 4244 typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets); 4245 typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets); 4246 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies); 4247 typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer); 4248 typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator); 4249 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); 4250 typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator); 4251 typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity); 4252 typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool); 4253 typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator); 4254 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags); 4255 typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers); 4256 typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers); 4257 typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo); 4258 typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer); 4259 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags); 4260 typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline); 4261 typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports); 4262 typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors); 4263 typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth); 4264 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor); 4265 typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]); 4266 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds); 4267 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask); 4268 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask); 4269 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference); 4270 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets); 4271 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType); 4272 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets); 4273 typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance); 4274 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance); 4275 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); 4276 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); 4277 typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ); 4278 typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset); 4279 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions); 4280 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions); 4281 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter); 4282 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions); 4283 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions); 4284 typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData); 4285 typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data); 4286 typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); 4287 typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); 4288 typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects); 4289 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions); 4290 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask); 4291 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask); 4292 typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers); 4293 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier)(VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers); 4294 typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags); 4295 typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query); 4296 typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount); 4297 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query); 4298 typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags); 4299 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues); 4300 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents); 4301 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents); 4302 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer); 4303 typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers); 4304 4305 #ifndef VK_NO_PROTOTYPES 4306 VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance( 4307 const VkInstanceCreateInfo* pCreateInfo, 4308 const VkAllocationCallbacks* pAllocator, 4309 VkInstance* pInstance); 4310 4311 VKAPI_ATTR void VKAPI_CALL vkDestroyInstance( 4312 VkInstance instance, 4313 const VkAllocationCallbacks* pAllocator); 4314 4315 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices( 4316 VkInstance instance, 4317 uint32_t* pPhysicalDeviceCount, 4318 VkPhysicalDevice* pPhysicalDevices); 4319 4320 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures( 4321 VkPhysicalDevice physicalDevice, 4322 VkPhysicalDeviceFeatures* pFeatures); 4323 4324 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties( 4325 VkPhysicalDevice physicalDevice, 4326 VkFormat format, 4327 VkFormatProperties* pFormatProperties); 4328 4329 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties( 4330 VkPhysicalDevice physicalDevice, 4331 VkFormat format, 4332 VkImageType type, 4333 VkImageTiling tiling, 4334 VkImageUsageFlags usage, 4335 VkImageCreateFlags flags, 4336 VkImageFormatProperties* pImageFormatProperties); 4337 4338 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties( 4339 VkPhysicalDevice physicalDevice, 4340 VkPhysicalDeviceProperties* pProperties); 4341 4342 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties( 4343 VkPhysicalDevice physicalDevice, 4344 uint32_t* pQueueFamilyPropertyCount, 4345 VkQueueFamilyProperties* pQueueFamilyProperties); 4346 4347 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties( 4348 VkPhysicalDevice physicalDevice, 4349 VkPhysicalDeviceMemoryProperties* pMemoryProperties); 4350 4351 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr( 4352 VkInstance instance, 4353 const char* pName); 4354 4355 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr( 4356 VkDevice device, 4357 const char* pName); 4358 4359 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice( 4360 VkPhysicalDevice physicalDevice, 4361 const VkDeviceCreateInfo* pCreateInfo, 4362 const VkAllocationCallbacks* pAllocator, 4363 VkDevice* pDevice); 4364 4365 VKAPI_ATTR void VKAPI_CALL vkDestroyDevice( 4366 VkDevice device, 4367 const VkAllocationCallbacks* pAllocator); 4368 4369 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties( 4370 const char* pLayerName, 4371 uint32_t* pPropertyCount, 4372 VkExtensionProperties* pProperties); 4373 4374 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties( 4375 VkPhysicalDevice physicalDevice, 4376 const char* pLayerName, 4377 uint32_t* pPropertyCount, 4378 VkExtensionProperties* pProperties); 4379 4380 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties( 4381 uint32_t* pPropertyCount, 4382 VkLayerProperties* pProperties); 4383 4384 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties( 4385 VkPhysicalDevice physicalDevice, 4386 uint32_t* pPropertyCount, 4387 VkLayerProperties* pProperties); 4388 4389 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue( 4390 VkDevice device, 4391 uint32_t queueFamilyIndex, 4392 uint32_t queueIndex, 4393 VkQueue* pQueue); 4394 4395 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit( 4396 VkQueue queue, 4397 uint32_t submitCount, 4398 const VkSubmitInfo* pSubmits, 4399 VkFence fence); 4400 4401 VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle( 4402 VkQueue queue); 4403 4404 VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle( 4405 VkDevice device); 4406 4407 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory( 4408 VkDevice device, 4409 const VkMemoryAllocateInfo* pAllocateInfo, 4410 const VkAllocationCallbacks* pAllocator, 4411 VkDeviceMemory* pMemory); 4412 4413 VKAPI_ATTR void VKAPI_CALL vkFreeMemory( 4414 VkDevice device, 4415 VkDeviceMemory memory, 4416 const VkAllocationCallbacks* pAllocator); 4417 4418 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory( 4419 VkDevice device, 4420 VkDeviceMemory memory, 4421 VkDeviceSize offset, 4422 VkDeviceSize size, 4423 VkMemoryMapFlags flags, 4424 void** ppData); 4425 4426 VKAPI_ATTR void VKAPI_CALL vkUnmapMemory( 4427 VkDevice device, 4428 VkDeviceMemory memory); 4429 4430 VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges( 4431 VkDevice device, 4432 uint32_t memoryRangeCount, 4433 const VkMappedMemoryRange* pMemoryRanges); 4434 4435 VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges( 4436 VkDevice device, 4437 uint32_t memoryRangeCount, 4438 const VkMappedMemoryRange* pMemoryRanges); 4439 4440 VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment( 4441 VkDevice device, 4442 VkDeviceMemory memory, 4443 VkDeviceSize* pCommittedMemoryInBytes); 4444 4445 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory( 4446 VkDevice device, 4447 VkBuffer buffer, 4448 VkDeviceMemory memory, 4449 VkDeviceSize memoryOffset); 4450 4451 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory( 4452 VkDevice device, 4453 VkImage image, 4454 VkDeviceMemory memory, 4455 VkDeviceSize memoryOffset); 4456 4457 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements( 4458 VkDevice device, 4459 VkBuffer buffer, 4460 VkMemoryRequirements* pMemoryRequirements); 4461 4462 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements( 4463 VkDevice device, 4464 VkImage image, 4465 VkMemoryRequirements* pMemoryRequirements); 4466 4467 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements( 4468 VkDevice device, 4469 VkImage image, 4470 uint32_t* pSparseMemoryRequirementCount, 4471 VkSparseImageMemoryRequirements* pSparseMemoryRequirements); 4472 4473 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties( 4474 VkPhysicalDevice physicalDevice, 4475 VkFormat format, 4476 VkImageType type, 4477 VkSampleCountFlagBits samples, 4478 VkImageUsageFlags usage, 4479 VkImageTiling tiling, 4480 uint32_t* pPropertyCount, 4481 VkSparseImageFormatProperties* pProperties); 4482 4483 VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse( 4484 VkQueue queue, 4485 uint32_t bindInfoCount, 4486 const VkBindSparseInfo* pBindInfo, 4487 VkFence fence); 4488 4489 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence( 4490 VkDevice device, 4491 const VkFenceCreateInfo* pCreateInfo, 4492 const VkAllocationCallbacks* pAllocator, 4493 VkFence* pFence); 4494 4495 VKAPI_ATTR void VKAPI_CALL vkDestroyFence( 4496 VkDevice device, 4497 VkFence fence, 4498 const VkAllocationCallbacks* pAllocator); 4499 4500 VKAPI_ATTR VkResult VKAPI_CALL vkResetFences( 4501 VkDevice device, 4502 uint32_t fenceCount, 4503 const VkFence* pFences); 4504 4505 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus( 4506 VkDevice device, 4507 VkFence fence); 4508 4509 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences( 4510 VkDevice device, 4511 uint32_t fenceCount, 4512 const VkFence* pFences, 4513 VkBool32 waitAll, 4514 uint64_t timeout); 4515 4516 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore( 4517 VkDevice device, 4518 const VkSemaphoreCreateInfo* pCreateInfo, 4519 const VkAllocationCallbacks* pAllocator, 4520 VkSemaphore* pSemaphore); 4521 4522 VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore( 4523 VkDevice device, 4524 VkSemaphore semaphore, 4525 const VkAllocationCallbacks* pAllocator); 4526 4527 VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent( 4528 VkDevice device, 4529 const VkEventCreateInfo* pCreateInfo, 4530 const VkAllocationCallbacks* pAllocator, 4531 VkEvent* pEvent); 4532 4533 VKAPI_ATTR void VKAPI_CALL vkDestroyEvent( 4534 VkDevice device, 4535 VkEvent event, 4536 const VkAllocationCallbacks* pAllocator); 4537 4538 VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus( 4539 VkDevice device, 4540 VkEvent event); 4541 4542 VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent( 4543 VkDevice device, 4544 VkEvent event); 4545 4546 VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent( 4547 VkDevice device, 4548 VkEvent event); 4549 4550 VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool( 4551 VkDevice device, 4552 const VkQueryPoolCreateInfo* pCreateInfo, 4553 const VkAllocationCallbacks* pAllocator, 4554 VkQueryPool* pQueryPool); 4555 4556 VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool( 4557 VkDevice device, 4558 VkQueryPool queryPool, 4559 const VkAllocationCallbacks* pAllocator); 4560 4561 VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults( 4562 VkDevice device, 4563 VkQueryPool queryPool, 4564 uint32_t firstQuery, 4565 uint32_t queryCount, 4566 size_t dataSize, 4567 void* pData, 4568 VkDeviceSize stride, 4569 VkQueryResultFlags flags); 4570 4571 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer( 4572 VkDevice device, 4573 const VkBufferCreateInfo* pCreateInfo, 4574 const VkAllocationCallbacks* pAllocator, 4575 VkBuffer* pBuffer); 4576 4577 VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer( 4578 VkDevice device, 4579 VkBuffer buffer, 4580 const VkAllocationCallbacks* pAllocator); 4581 4582 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView( 4583 VkDevice device, 4584 const VkBufferViewCreateInfo* pCreateInfo, 4585 const VkAllocationCallbacks* pAllocator, 4586 VkBufferView* pView); 4587 4588 VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView( 4589 VkDevice device, 4590 VkBufferView bufferView, 4591 const VkAllocationCallbacks* pAllocator); 4592 4593 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage( 4594 VkDevice device, 4595 const VkImageCreateInfo* pCreateInfo, 4596 const VkAllocationCallbacks* pAllocator, 4597 VkImage* pImage); 4598 4599 VKAPI_ATTR void VKAPI_CALL vkDestroyImage( 4600 VkDevice device, 4601 VkImage image, 4602 const VkAllocationCallbacks* pAllocator); 4603 4604 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout( 4605 VkDevice device, 4606 VkImage image, 4607 const VkImageSubresource* pSubresource, 4608 VkSubresourceLayout* pLayout); 4609 4610 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView( 4611 VkDevice device, 4612 const VkImageViewCreateInfo* pCreateInfo, 4613 const VkAllocationCallbacks* pAllocator, 4614 VkImageView* pView); 4615 4616 VKAPI_ATTR void VKAPI_CALL vkDestroyImageView( 4617 VkDevice device, 4618 VkImageView imageView, 4619 const VkAllocationCallbacks* pAllocator); 4620 4621 VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule( 4622 VkDevice device, 4623 const VkShaderModuleCreateInfo* pCreateInfo, 4624 const VkAllocationCallbacks* pAllocator, 4625 VkShaderModule* pShaderModule); 4626 4627 VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule( 4628 VkDevice device, 4629 VkShaderModule shaderModule, 4630 const VkAllocationCallbacks* pAllocator); 4631 4632 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache( 4633 VkDevice device, 4634 const VkPipelineCacheCreateInfo* pCreateInfo, 4635 const VkAllocationCallbacks* pAllocator, 4636 VkPipelineCache* pPipelineCache); 4637 4638 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache( 4639 VkDevice device, 4640 VkPipelineCache pipelineCache, 4641 const VkAllocationCallbacks* pAllocator); 4642 4643 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData( 4644 VkDevice device, 4645 VkPipelineCache pipelineCache, 4646 size_t* pDataSize, 4647 void* pData); 4648 4649 VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches( 4650 VkDevice device, 4651 VkPipelineCache dstCache, 4652 uint32_t srcCacheCount, 4653 const VkPipelineCache* pSrcCaches); 4654 4655 VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines( 4656 VkDevice device, 4657 VkPipelineCache pipelineCache, 4658 uint32_t createInfoCount, 4659 const VkGraphicsPipelineCreateInfo* pCreateInfos, 4660 const VkAllocationCallbacks* pAllocator, 4661 VkPipeline* pPipelines); 4662 4663 VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines( 4664 VkDevice device, 4665 VkPipelineCache pipelineCache, 4666 uint32_t createInfoCount, 4667 const VkComputePipelineCreateInfo* pCreateInfos, 4668 const VkAllocationCallbacks* pAllocator, 4669 VkPipeline* pPipelines); 4670 4671 VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline( 4672 VkDevice device, 4673 VkPipeline pipeline, 4674 const VkAllocationCallbacks* pAllocator); 4675 4676 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout( 4677 VkDevice device, 4678 const VkPipelineLayoutCreateInfo* pCreateInfo, 4679 const VkAllocationCallbacks* pAllocator, 4680 VkPipelineLayout* pPipelineLayout); 4681 4682 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout( 4683 VkDevice device, 4684 VkPipelineLayout pipelineLayout, 4685 const VkAllocationCallbacks* pAllocator); 4686 4687 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler( 4688 VkDevice device, 4689 const VkSamplerCreateInfo* pCreateInfo, 4690 const VkAllocationCallbacks* pAllocator, 4691 VkSampler* pSampler); 4692 4693 VKAPI_ATTR void VKAPI_CALL vkDestroySampler( 4694 VkDevice device, 4695 VkSampler sampler, 4696 const VkAllocationCallbacks* pAllocator); 4697 4698 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout( 4699 VkDevice device, 4700 const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 4701 const VkAllocationCallbacks* pAllocator, 4702 VkDescriptorSetLayout* pSetLayout); 4703 4704 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout( 4705 VkDevice device, 4706 VkDescriptorSetLayout descriptorSetLayout, 4707 const VkAllocationCallbacks* pAllocator); 4708 4709 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool( 4710 VkDevice device, 4711 const VkDescriptorPoolCreateInfo* pCreateInfo, 4712 const VkAllocationCallbacks* pAllocator, 4713 VkDescriptorPool* pDescriptorPool); 4714 4715 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool( 4716 VkDevice device, 4717 VkDescriptorPool descriptorPool, 4718 const VkAllocationCallbacks* pAllocator); 4719 4720 VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool( 4721 VkDevice device, 4722 VkDescriptorPool descriptorPool, 4723 VkDescriptorPoolResetFlags flags); 4724 4725 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets( 4726 VkDevice device, 4727 const VkDescriptorSetAllocateInfo* pAllocateInfo, 4728 VkDescriptorSet* pDescriptorSets); 4729 4730 VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets( 4731 VkDevice device, 4732 VkDescriptorPool descriptorPool, 4733 uint32_t descriptorSetCount, 4734 const VkDescriptorSet* pDescriptorSets); 4735 4736 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets( 4737 VkDevice device, 4738 uint32_t descriptorWriteCount, 4739 const VkWriteDescriptorSet* pDescriptorWrites, 4740 uint32_t descriptorCopyCount, 4741 const VkCopyDescriptorSet* pDescriptorCopies); 4742 4743 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer( 4744 VkDevice device, 4745 const VkFramebufferCreateInfo* pCreateInfo, 4746 const VkAllocationCallbacks* pAllocator, 4747 VkFramebuffer* pFramebuffer); 4748 4749 VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer( 4750 VkDevice device, 4751 VkFramebuffer framebuffer, 4752 const VkAllocationCallbacks* pAllocator); 4753 4754 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass( 4755 VkDevice device, 4756 const VkRenderPassCreateInfo* pCreateInfo, 4757 const VkAllocationCallbacks* pAllocator, 4758 VkRenderPass* pRenderPass); 4759 4760 VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass( 4761 VkDevice device, 4762 VkRenderPass renderPass, 4763 const VkAllocationCallbacks* pAllocator); 4764 4765 VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity( 4766 VkDevice device, 4767 VkRenderPass renderPass, 4768 VkExtent2D* pGranularity); 4769 4770 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool( 4771 VkDevice device, 4772 const VkCommandPoolCreateInfo* pCreateInfo, 4773 const VkAllocationCallbacks* pAllocator, 4774 VkCommandPool* pCommandPool); 4775 4776 VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool( 4777 VkDevice device, 4778 VkCommandPool commandPool, 4779 const VkAllocationCallbacks* pAllocator); 4780 4781 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool( 4782 VkDevice device, 4783 VkCommandPool commandPool, 4784 VkCommandPoolResetFlags flags); 4785 4786 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers( 4787 VkDevice device, 4788 const VkCommandBufferAllocateInfo* pAllocateInfo, 4789 VkCommandBuffer* pCommandBuffers); 4790 4791 VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers( 4792 VkDevice device, 4793 VkCommandPool commandPool, 4794 uint32_t commandBufferCount, 4795 const VkCommandBuffer* pCommandBuffers); 4796 4797 VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer( 4798 VkCommandBuffer commandBuffer, 4799 const VkCommandBufferBeginInfo* pBeginInfo); 4800 4801 VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer( 4802 VkCommandBuffer commandBuffer); 4803 4804 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer( 4805 VkCommandBuffer commandBuffer, 4806 VkCommandBufferResetFlags flags); 4807 4808 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline( 4809 VkCommandBuffer commandBuffer, 4810 VkPipelineBindPoint pipelineBindPoint, 4811 VkPipeline pipeline); 4812 4813 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport( 4814 VkCommandBuffer commandBuffer, 4815 uint32_t firstViewport, 4816 uint32_t viewportCount, 4817 const VkViewport* pViewports); 4818 4819 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor( 4820 VkCommandBuffer commandBuffer, 4821 uint32_t firstScissor, 4822 uint32_t scissorCount, 4823 const VkRect2D* pScissors); 4824 4825 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth( 4826 VkCommandBuffer commandBuffer, 4827 float lineWidth); 4828 4829 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias( 4830 VkCommandBuffer commandBuffer, 4831 float depthBiasConstantFactor, 4832 float depthBiasClamp, 4833 float depthBiasSlopeFactor); 4834 4835 VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants( 4836 VkCommandBuffer commandBuffer, 4837 const float blendConstants[4]); 4838 4839 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds( 4840 VkCommandBuffer commandBuffer, 4841 float minDepthBounds, 4842 float maxDepthBounds); 4843 4844 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask( 4845 VkCommandBuffer commandBuffer, 4846 VkStencilFaceFlags faceMask, 4847 uint32_t compareMask); 4848 4849 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask( 4850 VkCommandBuffer commandBuffer, 4851 VkStencilFaceFlags faceMask, 4852 uint32_t writeMask); 4853 4854 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference( 4855 VkCommandBuffer commandBuffer, 4856 VkStencilFaceFlags faceMask, 4857 uint32_t reference); 4858 4859 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets( 4860 VkCommandBuffer commandBuffer, 4861 VkPipelineBindPoint pipelineBindPoint, 4862 VkPipelineLayout layout, 4863 uint32_t firstSet, 4864 uint32_t descriptorSetCount, 4865 const VkDescriptorSet* pDescriptorSets, 4866 uint32_t dynamicOffsetCount, 4867 const uint32_t* pDynamicOffsets); 4868 4869 VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer( 4870 VkCommandBuffer commandBuffer, 4871 VkBuffer buffer, 4872 VkDeviceSize offset, 4873 VkIndexType indexType); 4874 4875 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers( 4876 VkCommandBuffer commandBuffer, 4877 uint32_t firstBinding, 4878 uint32_t bindingCount, 4879 const VkBuffer* pBuffers, 4880 const VkDeviceSize* pOffsets); 4881 4882 VKAPI_ATTR void VKAPI_CALL vkCmdDraw( 4883 VkCommandBuffer commandBuffer, 4884 uint32_t vertexCount, 4885 uint32_t instanceCount, 4886 uint32_t firstVertex, 4887 uint32_t firstInstance); 4888 4889 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed( 4890 VkCommandBuffer commandBuffer, 4891 uint32_t indexCount, 4892 uint32_t instanceCount, 4893 uint32_t firstIndex, 4894 int32_t vertexOffset, 4895 uint32_t firstInstance); 4896 4897 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect( 4898 VkCommandBuffer commandBuffer, 4899 VkBuffer buffer, 4900 VkDeviceSize offset, 4901 uint32_t drawCount, 4902 uint32_t stride); 4903 4904 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect( 4905 VkCommandBuffer commandBuffer, 4906 VkBuffer buffer, 4907 VkDeviceSize offset, 4908 uint32_t drawCount, 4909 uint32_t stride); 4910 4911 VKAPI_ATTR void VKAPI_CALL vkCmdDispatch( 4912 VkCommandBuffer commandBuffer, 4913 uint32_t groupCountX, 4914 uint32_t groupCountY, 4915 uint32_t groupCountZ); 4916 4917 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect( 4918 VkCommandBuffer commandBuffer, 4919 VkBuffer buffer, 4920 VkDeviceSize offset); 4921 4922 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer( 4923 VkCommandBuffer commandBuffer, 4924 VkBuffer srcBuffer, 4925 VkBuffer dstBuffer, 4926 uint32_t regionCount, 4927 const VkBufferCopy* pRegions); 4928 4929 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage( 4930 VkCommandBuffer commandBuffer, 4931 VkImage srcImage, 4932 VkImageLayout srcImageLayout, 4933 VkImage dstImage, 4934 VkImageLayout dstImageLayout, 4935 uint32_t regionCount, 4936 const VkImageCopy* pRegions); 4937 4938 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage( 4939 VkCommandBuffer commandBuffer, 4940 VkImage srcImage, 4941 VkImageLayout srcImageLayout, 4942 VkImage dstImage, 4943 VkImageLayout dstImageLayout, 4944 uint32_t regionCount, 4945 const VkImageBlit* pRegions, 4946 VkFilter filter); 4947 4948 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage( 4949 VkCommandBuffer commandBuffer, 4950 VkBuffer srcBuffer, 4951 VkImage dstImage, 4952 VkImageLayout dstImageLayout, 4953 uint32_t regionCount, 4954 const VkBufferImageCopy* pRegions); 4955 4956 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer( 4957 VkCommandBuffer commandBuffer, 4958 VkImage srcImage, 4959 VkImageLayout srcImageLayout, 4960 VkBuffer dstBuffer, 4961 uint32_t regionCount, 4962 const VkBufferImageCopy* pRegions); 4963 4964 VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer( 4965 VkCommandBuffer commandBuffer, 4966 VkBuffer dstBuffer, 4967 VkDeviceSize dstOffset, 4968 VkDeviceSize dataSize, 4969 const void* pData); 4970 4971 VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer( 4972 VkCommandBuffer commandBuffer, 4973 VkBuffer dstBuffer, 4974 VkDeviceSize dstOffset, 4975 VkDeviceSize size, 4976 uint32_t data); 4977 4978 VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage( 4979 VkCommandBuffer commandBuffer, 4980 VkImage image, 4981 VkImageLayout imageLayout, 4982 const VkClearColorValue* pColor, 4983 uint32_t rangeCount, 4984 const VkImageSubresourceRange* pRanges); 4985 4986 VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage( 4987 VkCommandBuffer commandBuffer, 4988 VkImage image, 4989 VkImageLayout imageLayout, 4990 const VkClearDepthStencilValue* pDepthStencil, 4991 uint32_t rangeCount, 4992 const VkImageSubresourceRange* pRanges); 4993 4994 VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments( 4995 VkCommandBuffer commandBuffer, 4996 uint32_t attachmentCount, 4997 const VkClearAttachment* pAttachments, 4998 uint32_t rectCount, 4999 const VkClearRect* pRects); 5000 5001 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage( 5002 VkCommandBuffer commandBuffer, 5003 VkImage srcImage, 5004 VkImageLayout srcImageLayout, 5005 VkImage dstImage, 5006 VkImageLayout dstImageLayout, 5007 uint32_t regionCount, 5008 const VkImageResolve* pRegions); 5009 5010 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent( 5011 VkCommandBuffer commandBuffer, 5012 VkEvent event, 5013 VkPipelineStageFlags stageMask); 5014 5015 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent( 5016 VkCommandBuffer commandBuffer, 5017 VkEvent event, 5018 VkPipelineStageFlags stageMask); 5019 5020 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents( 5021 VkCommandBuffer commandBuffer, 5022 uint32_t eventCount, 5023 const VkEvent* pEvents, 5024 VkPipelineStageFlags srcStageMask, 5025 VkPipelineStageFlags dstStageMask, 5026 uint32_t memoryBarrierCount, 5027 const VkMemoryBarrier* pMemoryBarriers, 5028 uint32_t bufferMemoryBarrierCount, 5029 const VkBufferMemoryBarrier* pBufferMemoryBarriers, 5030 uint32_t imageMemoryBarrierCount, 5031 const VkImageMemoryBarrier* pImageMemoryBarriers); 5032 5033 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier( 5034 VkCommandBuffer commandBuffer, 5035 VkPipelineStageFlags srcStageMask, 5036 VkPipelineStageFlags dstStageMask, 5037 VkDependencyFlags dependencyFlags, 5038 uint32_t memoryBarrierCount, 5039 const VkMemoryBarrier* pMemoryBarriers, 5040 uint32_t bufferMemoryBarrierCount, 5041 const VkBufferMemoryBarrier* pBufferMemoryBarriers, 5042 uint32_t imageMemoryBarrierCount, 5043 const VkImageMemoryBarrier* pImageMemoryBarriers); 5044 5045 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery( 5046 VkCommandBuffer commandBuffer, 5047 VkQueryPool queryPool, 5048 uint32_t query, 5049 VkQueryControlFlags flags); 5050 5051 VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery( 5052 VkCommandBuffer commandBuffer, 5053 VkQueryPool queryPool, 5054 uint32_t query); 5055 5056 VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool( 5057 VkCommandBuffer commandBuffer, 5058 VkQueryPool queryPool, 5059 uint32_t firstQuery, 5060 uint32_t queryCount); 5061 5062 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp( 5063 VkCommandBuffer commandBuffer, 5064 VkPipelineStageFlagBits pipelineStage, 5065 VkQueryPool queryPool, 5066 uint32_t query); 5067 5068 VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults( 5069 VkCommandBuffer commandBuffer, 5070 VkQueryPool queryPool, 5071 uint32_t firstQuery, 5072 uint32_t queryCount, 5073 VkBuffer dstBuffer, 5074 VkDeviceSize dstOffset, 5075 VkDeviceSize stride, 5076 VkQueryResultFlags flags); 5077 5078 VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants( 5079 VkCommandBuffer commandBuffer, 5080 VkPipelineLayout layout, 5081 VkShaderStageFlags stageFlags, 5082 uint32_t offset, 5083 uint32_t size, 5084 const void* pValues); 5085 5086 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass( 5087 VkCommandBuffer commandBuffer, 5088 const VkRenderPassBeginInfo* pRenderPassBegin, 5089 VkSubpassContents contents); 5090 5091 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass( 5092 VkCommandBuffer commandBuffer, 5093 VkSubpassContents contents); 5094 5095 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass( 5096 VkCommandBuffer commandBuffer); 5097 5098 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands( 5099 VkCommandBuffer commandBuffer, 5100 uint32_t commandBufferCount, 5101 const VkCommandBuffer* pCommandBuffers); 5102 #endif 5103 5104 5105 // VK_VERSION_1_1 is a preprocessor guard. Do not pass it to API calls. 5106 #define VK_VERSION_1_1 1 5107 // Vulkan 1.1 version number 5108 #define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)// Patch version should always be set to 0 5109 5110 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion) 5111 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate) 5112 #define VK_MAX_DEVICE_GROUP_SIZE 32U 5113 #define VK_LUID_SIZE 8U 5114 #define VK_QUEUE_FAMILY_EXTERNAL (~1U) 5115 5116 typedef enum VkPointClippingBehavior { 5117 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0, 5118 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1, 5119 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES, 5120 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY, 5121 VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF 5122 } VkPointClippingBehavior; 5123 5124 typedef enum VkTessellationDomainOrigin { 5125 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0, 5126 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1, 5127 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT, 5128 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT, 5129 VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF 5130 } VkTessellationDomainOrigin; 5131 5132 typedef enum VkSamplerYcbcrModelConversion { 5133 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0, 5134 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1, 5135 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2, 5136 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3, 5137 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4, 5138 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY, 5139 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY, 5140 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709, 5141 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601, 5142 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020, 5143 VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF 5144 } VkSamplerYcbcrModelConversion; 5145 5146 typedef enum VkSamplerYcbcrRange { 5147 VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0, 5148 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1, 5149 VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL, 5150 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW, 5151 VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF 5152 } VkSamplerYcbcrRange; 5153 5154 typedef enum VkChromaLocation { 5155 VK_CHROMA_LOCATION_COSITED_EVEN = 0, 5156 VK_CHROMA_LOCATION_MIDPOINT = 1, 5157 VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN, 5158 VK_CHROMA_LOCATION_MIDPOINT_KHR = VK_CHROMA_LOCATION_MIDPOINT, 5159 VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF 5160 } VkChromaLocation; 5161 5162 typedef enum VkDescriptorUpdateTemplateType { 5163 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0, 5164 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS = 1, 5165 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS, 5166 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET, 5167 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF 5168 } VkDescriptorUpdateTemplateType; 5169 5170 typedef enum VkSubgroupFeatureFlagBits { 5171 VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001, 5172 VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002, 5173 VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004, 5174 VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008, 5175 VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010, 5176 VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020, 5177 VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040, 5178 VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080, 5179 VK_SUBGROUP_FEATURE_ROTATE_BIT = 0x00000200, 5180 VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT = 0x00000400, 5181 VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100, 5182 VK_SUBGROUP_FEATURE_ROTATE_BIT_KHR = VK_SUBGROUP_FEATURE_ROTATE_BIT, 5183 VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT_KHR = VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT, 5184 VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5185 } VkSubgroupFeatureFlagBits; 5186 typedef VkFlags VkSubgroupFeatureFlags; 5187 5188 typedef enum VkPeerMemoryFeatureFlagBits { 5189 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001, 5190 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0x00000002, 5191 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0x00000004, 5192 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0x00000008, 5193 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT, 5194 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT, 5195 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT, 5196 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT, 5197 VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5198 } VkPeerMemoryFeatureFlagBits; 5199 typedef VkFlags VkPeerMemoryFeatureFlags; 5200 5201 typedef enum VkMemoryAllocateFlagBits { 5202 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001, 5203 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 0x00000002, 5204 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000004, 5205 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT, 5206 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT, 5207 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, 5208 VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5209 } VkMemoryAllocateFlagBits; 5210 typedef VkFlags VkMemoryAllocateFlags; 5211 typedef VkFlags VkCommandPoolTrimFlags; 5212 typedef VkFlags VkDescriptorUpdateTemplateCreateFlags; 5213 5214 typedef enum VkExternalMemoryHandleTypeFlagBits { 5215 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001, 5216 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002, 5217 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004, 5218 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008, 5219 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010, 5220 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020, 5221 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040, 5222 VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200, 5223 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400, 5224 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080, 5225 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100, 5226 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 0x00000800, 5227 VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV = 0x00001000, 5228 VK_EXTERNAL_MEMORY_HANDLE_TYPE_SCREEN_BUFFER_BIT_QNX = 0x00004000, 5229 VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLBUFFER_BIT_EXT = 0x00010000, 5230 VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLTEXTURE_BIT_EXT = 0x00020000, 5231 VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLHEAP_BIT_EXT = 0x00040000, 5232 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OHOS_NATIVE_BUFFER_BIT_OHOS = 0x00002000, 5233 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT, 5234 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT, 5235 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, 5236 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT, 5237 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT, 5238 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT, 5239 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT, 5240 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5241 } VkExternalMemoryHandleTypeFlagBits; 5242 typedef VkFlags VkExternalMemoryHandleTypeFlags; 5243 5244 typedef enum VkExternalMemoryFeatureFlagBits { 5245 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0x00000001, 5246 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0x00000002, 5247 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0x00000004, 5248 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT, 5249 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT, 5250 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT, 5251 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5252 } VkExternalMemoryFeatureFlagBits; 5253 typedef VkFlags VkExternalMemoryFeatureFlags; 5254 5255 typedef enum VkExternalFenceHandleTypeFlagBits { 5256 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001, 5257 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002, 5258 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004, 5259 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000008, 5260 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT, 5261 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT, 5262 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, 5263 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT, 5264 VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5265 } VkExternalFenceHandleTypeFlagBits; 5266 typedef VkFlags VkExternalFenceHandleTypeFlags; 5267 5268 typedef enum VkExternalFenceFeatureFlagBits { 5269 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0x00000001, 5270 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0x00000002, 5271 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT, 5272 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT, 5273 VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5274 } VkExternalFenceFeatureFlagBits; 5275 typedef VkFlags VkExternalFenceFeatureFlags; 5276 5277 typedef enum VkFenceImportFlagBits { 5278 VK_FENCE_IMPORT_TEMPORARY_BIT = 0x00000001, 5279 VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = VK_FENCE_IMPORT_TEMPORARY_BIT, 5280 VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5281 } VkFenceImportFlagBits; 5282 typedef VkFlags VkFenceImportFlags; 5283 5284 typedef enum VkSemaphoreImportFlagBits { 5285 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001, 5286 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT, 5287 VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5288 } VkSemaphoreImportFlagBits; 5289 typedef VkFlags VkSemaphoreImportFlags; 5290 5291 typedef enum VkExternalSemaphoreHandleTypeFlagBits { 5292 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001, 5293 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002, 5294 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004, 5295 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008, 5296 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010, 5297 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA = 0x00000080, 5298 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT, 5299 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT, 5300 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT, 5301 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, 5302 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT, 5303 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT, 5304 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5305 } VkExternalSemaphoreHandleTypeFlagBits; 5306 typedef VkFlags VkExternalSemaphoreHandleTypeFlags; 5307 5308 typedef enum VkExternalSemaphoreFeatureFlagBits { 5309 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0x00000001, 5310 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0x00000002, 5311 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT, 5312 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT, 5313 VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5314 } VkExternalSemaphoreFeatureFlagBits; 5315 typedef VkFlags VkExternalSemaphoreFeatureFlags; 5316 typedef struct VkPhysicalDeviceSubgroupProperties { 5317 VkStructureType sType; 5318 void* pNext; 5319 uint32_t subgroupSize; 5320 VkShaderStageFlags supportedStages; 5321 VkSubgroupFeatureFlags supportedOperations; 5322 VkBool32 quadOperationsInAllStages; 5323 } VkPhysicalDeviceSubgroupProperties; 5324 5325 typedef struct VkBindBufferMemoryInfo { 5326 VkStructureType sType; 5327 const void* pNext; 5328 VkBuffer buffer; 5329 VkDeviceMemory memory; 5330 VkDeviceSize memoryOffset; 5331 } VkBindBufferMemoryInfo; 5332 5333 typedef struct VkBindImageMemoryInfo { 5334 VkStructureType sType; 5335 const void* pNext; 5336 VkImage image; 5337 VkDeviceMemory memory; 5338 VkDeviceSize memoryOffset; 5339 } VkBindImageMemoryInfo; 5340 5341 typedef struct VkPhysicalDevice16BitStorageFeatures { 5342 VkStructureType sType; 5343 void* pNext; 5344 VkBool32 storageBuffer16BitAccess; 5345 VkBool32 uniformAndStorageBuffer16BitAccess; 5346 VkBool32 storagePushConstant16; 5347 VkBool32 storageInputOutput16; 5348 } VkPhysicalDevice16BitStorageFeatures; 5349 5350 typedef struct VkMemoryDedicatedRequirements { 5351 VkStructureType sType; 5352 void* pNext; 5353 VkBool32 prefersDedicatedAllocation; 5354 VkBool32 requiresDedicatedAllocation; 5355 } VkMemoryDedicatedRequirements; 5356 5357 typedef struct VkMemoryDedicatedAllocateInfo { 5358 VkStructureType sType; 5359 const void* pNext; 5360 VkImage image; 5361 VkBuffer buffer; 5362 } VkMemoryDedicatedAllocateInfo; 5363 5364 typedef struct VkMemoryAllocateFlagsInfo { 5365 VkStructureType sType; 5366 const void* pNext; 5367 VkMemoryAllocateFlags flags; 5368 uint32_t deviceMask; 5369 } VkMemoryAllocateFlagsInfo; 5370 5371 typedef struct VkDeviceGroupRenderPassBeginInfo { 5372 VkStructureType sType; 5373 const void* pNext; 5374 uint32_t deviceMask; 5375 uint32_t deviceRenderAreaCount; 5376 const VkRect2D* pDeviceRenderAreas; 5377 } VkDeviceGroupRenderPassBeginInfo; 5378 5379 typedef struct VkDeviceGroupCommandBufferBeginInfo { 5380 VkStructureType sType; 5381 const void* pNext; 5382 uint32_t deviceMask; 5383 } VkDeviceGroupCommandBufferBeginInfo; 5384 5385 typedef struct VkDeviceGroupSubmitInfo { 5386 VkStructureType sType; 5387 const void* pNext; 5388 uint32_t waitSemaphoreCount; 5389 const uint32_t* pWaitSemaphoreDeviceIndices; 5390 uint32_t commandBufferCount; 5391 const uint32_t* pCommandBufferDeviceMasks; 5392 uint32_t signalSemaphoreCount; 5393 const uint32_t* pSignalSemaphoreDeviceIndices; 5394 } VkDeviceGroupSubmitInfo; 5395 5396 typedef struct VkDeviceGroupBindSparseInfo { 5397 VkStructureType sType; 5398 const void* pNext; 5399 uint32_t resourceDeviceIndex; 5400 uint32_t memoryDeviceIndex; 5401 } VkDeviceGroupBindSparseInfo; 5402 5403 typedef struct VkBindBufferMemoryDeviceGroupInfo { 5404 VkStructureType sType; 5405 const void* pNext; 5406 uint32_t deviceIndexCount; 5407 const uint32_t* pDeviceIndices; 5408 } VkBindBufferMemoryDeviceGroupInfo; 5409 5410 typedef struct VkBindImageMemoryDeviceGroupInfo { 5411 VkStructureType sType; 5412 const void* pNext; 5413 uint32_t deviceIndexCount; 5414 const uint32_t* pDeviceIndices; 5415 uint32_t splitInstanceBindRegionCount; 5416 const VkRect2D* pSplitInstanceBindRegions; 5417 } VkBindImageMemoryDeviceGroupInfo; 5418 5419 typedef struct VkPhysicalDeviceGroupProperties { 5420 VkStructureType sType; 5421 void* pNext; 5422 uint32_t physicalDeviceCount; 5423 VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE]; 5424 VkBool32 subsetAllocation; 5425 } VkPhysicalDeviceGroupProperties; 5426 5427 typedef struct VkDeviceGroupDeviceCreateInfo { 5428 VkStructureType sType; 5429 const void* pNext; 5430 uint32_t physicalDeviceCount; 5431 const VkPhysicalDevice* pPhysicalDevices; 5432 } VkDeviceGroupDeviceCreateInfo; 5433 5434 typedef struct VkBufferMemoryRequirementsInfo2 { 5435 VkStructureType sType; 5436 const void* pNext; 5437 VkBuffer buffer; 5438 } VkBufferMemoryRequirementsInfo2; 5439 5440 typedef struct VkImageMemoryRequirementsInfo2 { 5441 VkStructureType sType; 5442 const void* pNext; 5443 VkImage image; 5444 } VkImageMemoryRequirementsInfo2; 5445 5446 typedef struct VkImageSparseMemoryRequirementsInfo2 { 5447 VkStructureType sType; 5448 const void* pNext; 5449 VkImage image; 5450 } VkImageSparseMemoryRequirementsInfo2; 5451 5452 typedef struct VkMemoryRequirements2 { 5453 VkStructureType sType; 5454 void* pNext; 5455 VkMemoryRequirements memoryRequirements; 5456 } VkMemoryRequirements2; 5457 5458 typedef struct VkSparseImageMemoryRequirements2 { 5459 VkStructureType sType; 5460 void* pNext; 5461 VkSparseImageMemoryRequirements memoryRequirements; 5462 } VkSparseImageMemoryRequirements2; 5463 5464 typedef struct VkPhysicalDeviceFeatures2 { 5465 VkStructureType sType; 5466 void* pNext; 5467 VkPhysicalDeviceFeatures features; 5468 } VkPhysicalDeviceFeatures2; 5469 5470 typedef struct VkPhysicalDeviceProperties2 { 5471 VkStructureType sType; 5472 void* pNext; 5473 VkPhysicalDeviceProperties properties; 5474 } VkPhysicalDeviceProperties2; 5475 5476 typedef struct VkFormatProperties2 { 5477 VkStructureType sType; 5478 void* pNext; 5479 VkFormatProperties formatProperties; 5480 } VkFormatProperties2; 5481 5482 typedef struct VkImageFormatProperties2 { 5483 VkStructureType sType; 5484 void* pNext; 5485 VkImageFormatProperties imageFormatProperties; 5486 } VkImageFormatProperties2; 5487 5488 typedef struct VkPhysicalDeviceImageFormatInfo2 { 5489 VkStructureType sType; 5490 const void* pNext; 5491 VkFormat format; 5492 VkImageType type; 5493 VkImageTiling tiling; 5494 VkImageUsageFlags usage; 5495 VkImageCreateFlags flags; 5496 } VkPhysicalDeviceImageFormatInfo2; 5497 5498 typedef struct VkQueueFamilyProperties2 { 5499 VkStructureType sType; 5500 void* pNext; 5501 VkQueueFamilyProperties queueFamilyProperties; 5502 } VkQueueFamilyProperties2; 5503 5504 typedef struct VkPhysicalDeviceMemoryProperties2 { 5505 VkStructureType sType; 5506 void* pNext; 5507 VkPhysicalDeviceMemoryProperties memoryProperties; 5508 } VkPhysicalDeviceMemoryProperties2; 5509 5510 typedef struct VkSparseImageFormatProperties2 { 5511 VkStructureType sType; 5512 void* pNext; 5513 VkSparseImageFormatProperties properties; 5514 } VkSparseImageFormatProperties2; 5515 5516 typedef struct VkPhysicalDeviceSparseImageFormatInfo2 { 5517 VkStructureType sType; 5518 const void* pNext; 5519 VkFormat format; 5520 VkImageType type; 5521 VkSampleCountFlagBits samples; 5522 VkImageUsageFlags usage; 5523 VkImageTiling tiling; 5524 } VkPhysicalDeviceSparseImageFormatInfo2; 5525 5526 typedef struct VkPhysicalDevicePointClippingProperties { 5527 VkStructureType sType; 5528 void* pNext; 5529 VkPointClippingBehavior pointClippingBehavior; 5530 } VkPhysicalDevicePointClippingProperties; 5531 5532 typedef struct VkInputAttachmentAspectReference { 5533 uint32_t subpass; 5534 uint32_t inputAttachmentIndex; 5535 VkImageAspectFlags aspectMask; 5536 } VkInputAttachmentAspectReference; 5537 5538 typedef struct VkRenderPassInputAttachmentAspectCreateInfo { 5539 VkStructureType sType; 5540 const void* pNext; 5541 uint32_t aspectReferenceCount; 5542 const VkInputAttachmentAspectReference* pAspectReferences; 5543 } VkRenderPassInputAttachmentAspectCreateInfo; 5544 5545 typedef struct VkImageViewUsageCreateInfo { 5546 VkStructureType sType; 5547 const void* pNext; 5548 VkImageUsageFlags usage; 5549 } VkImageViewUsageCreateInfo; 5550 5551 typedef struct VkPipelineTessellationDomainOriginStateCreateInfo { 5552 VkStructureType sType; 5553 const void* pNext; 5554 VkTessellationDomainOrigin domainOrigin; 5555 } VkPipelineTessellationDomainOriginStateCreateInfo; 5556 5557 typedef struct VkRenderPassMultiviewCreateInfo { 5558 VkStructureType sType; 5559 const void* pNext; 5560 uint32_t subpassCount; 5561 const uint32_t* pViewMasks; 5562 uint32_t dependencyCount; 5563 const int32_t* pViewOffsets; 5564 uint32_t correlationMaskCount; 5565 const uint32_t* pCorrelationMasks; 5566 } VkRenderPassMultiviewCreateInfo; 5567 5568 typedef struct VkPhysicalDeviceMultiviewFeatures { 5569 VkStructureType sType; 5570 void* pNext; 5571 VkBool32 multiview; 5572 VkBool32 multiviewGeometryShader; 5573 VkBool32 multiviewTessellationShader; 5574 } VkPhysicalDeviceMultiviewFeatures; 5575 5576 typedef struct VkPhysicalDeviceMultiviewProperties { 5577 VkStructureType sType; 5578 void* pNext; 5579 uint32_t maxMultiviewViewCount; 5580 uint32_t maxMultiviewInstanceIndex; 5581 } VkPhysicalDeviceMultiviewProperties; 5582 5583 typedef struct VkPhysicalDeviceVariablePointersFeatures { 5584 VkStructureType sType; 5585 void* pNext; 5586 VkBool32 variablePointersStorageBuffer; 5587 VkBool32 variablePointers; 5588 } VkPhysicalDeviceVariablePointersFeatures; 5589 5590 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures; 5591 5592 typedef struct VkPhysicalDeviceProtectedMemoryFeatures { 5593 VkStructureType sType; 5594 void* pNext; 5595 VkBool32 protectedMemory; 5596 } VkPhysicalDeviceProtectedMemoryFeatures; 5597 5598 typedef struct VkPhysicalDeviceProtectedMemoryProperties { 5599 VkStructureType sType; 5600 void* pNext; 5601 VkBool32 protectedNoFault; 5602 } VkPhysicalDeviceProtectedMemoryProperties; 5603 5604 typedef struct VkDeviceQueueInfo2 { 5605 VkStructureType sType; 5606 const void* pNext; 5607 VkDeviceQueueCreateFlags flags; 5608 uint32_t queueFamilyIndex; 5609 uint32_t queueIndex; 5610 } VkDeviceQueueInfo2; 5611 5612 typedef struct VkProtectedSubmitInfo { 5613 VkStructureType sType; 5614 const void* pNext; 5615 VkBool32 protectedSubmit; 5616 } VkProtectedSubmitInfo; 5617 5618 typedef struct VkSamplerYcbcrConversionCreateInfo { 5619 VkStructureType sType; 5620 const void* pNext; 5621 VkFormat format; 5622 VkSamplerYcbcrModelConversion ycbcrModel; 5623 VkSamplerYcbcrRange ycbcrRange; 5624 VkComponentMapping components; 5625 VkChromaLocation xChromaOffset; 5626 VkChromaLocation yChromaOffset; 5627 VkFilter chromaFilter; 5628 VkBool32 forceExplicitReconstruction; 5629 } VkSamplerYcbcrConversionCreateInfo; 5630 5631 typedef struct VkSamplerYcbcrConversionInfo { 5632 VkStructureType sType; 5633 const void* pNext; 5634 VkSamplerYcbcrConversion conversion; 5635 } VkSamplerYcbcrConversionInfo; 5636 5637 typedef struct VkBindImagePlaneMemoryInfo { 5638 VkStructureType sType; 5639 const void* pNext; 5640 VkImageAspectFlagBits planeAspect; 5641 } VkBindImagePlaneMemoryInfo; 5642 5643 typedef struct VkImagePlaneMemoryRequirementsInfo { 5644 VkStructureType sType; 5645 const void* pNext; 5646 VkImageAspectFlagBits planeAspect; 5647 } VkImagePlaneMemoryRequirementsInfo; 5648 5649 typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures { 5650 VkStructureType sType; 5651 void* pNext; 5652 VkBool32 samplerYcbcrConversion; 5653 } VkPhysicalDeviceSamplerYcbcrConversionFeatures; 5654 5655 typedef struct VkSamplerYcbcrConversionImageFormatProperties { 5656 VkStructureType sType; 5657 void* pNext; 5658 uint32_t combinedImageSamplerDescriptorCount; 5659 } VkSamplerYcbcrConversionImageFormatProperties; 5660 5661 typedef struct VkDescriptorUpdateTemplateEntry { 5662 uint32_t dstBinding; 5663 uint32_t dstArrayElement; 5664 uint32_t descriptorCount; 5665 VkDescriptorType descriptorType; 5666 size_t offset; 5667 size_t stride; 5668 } VkDescriptorUpdateTemplateEntry; 5669 5670 typedef struct VkDescriptorUpdateTemplateCreateInfo { 5671 VkStructureType sType; 5672 const void* pNext; 5673 VkDescriptorUpdateTemplateCreateFlags flags; 5674 uint32_t descriptorUpdateEntryCount; 5675 const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries; 5676 VkDescriptorUpdateTemplateType templateType; 5677 VkDescriptorSetLayout descriptorSetLayout; 5678 VkPipelineBindPoint pipelineBindPoint; 5679 VkPipelineLayout pipelineLayout; 5680 uint32_t set; 5681 } VkDescriptorUpdateTemplateCreateInfo; 5682 5683 typedef struct VkExternalMemoryProperties { 5684 VkExternalMemoryFeatureFlags externalMemoryFeatures; 5685 VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes; 5686 VkExternalMemoryHandleTypeFlags compatibleHandleTypes; 5687 } VkExternalMemoryProperties; 5688 5689 typedef struct VkPhysicalDeviceExternalImageFormatInfo { 5690 VkStructureType sType; 5691 const void* pNext; 5692 VkExternalMemoryHandleTypeFlagBits handleType; 5693 } VkPhysicalDeviceExternalImageFormatInfo; 5694 5695 typedef struct VkExternalImageFormatProperties { 5696 VkStructureType sType; 5697 void* pNext; 5698 VkExternalMemoryProperties externalMemoryProperties; 5699 } VkExternalImageFormatProperties; 5700 5701 typedef struct VkPhysicalDeviceExternalBufferInfo { 5702 VkStructureType sType; 5703 const void* pNext; 5704 VkBufferCreateFlags flags; 5705 VkBufferUsageFlags usage; 5706 VkExternalMemoryHandleTypeFlagBits handleType; 5707 } VkPhysicalDeviceExternalBufferInfo; 5708 5709 typedef struct VkExternalBufferProperties { 5710 VkStructureType sType; 5711 void* pNext; 5712 VkExternalMemoryProperties externalMemoryProperties; 5713 } VkExternalBufferProperties; 5714 5715 typedef struct VkPhysicalDeviceIDProperties { 5716 VkStructureType sType; 5717 void* pNext; 5718 uint8_t deviceUUID[VK_UUID_SIZE]; 5719 uint8_t driverUUID[VK_UUID_SIZE]; 5720 uint8_t deviceLUID[VK_LUID_SIZE]; 5721 uint32_t deviceNodeMask; 5722 VkBool32 deviceLUIDValid; 5723 } VkPhysicalDeviceIDProperties; 5724 5725 typedef struct VkExternalMemoryImageCreateInfo { 5726 VkStructureType sType; 5727 const void* pNext; 5728 VkExternalMemoryHandleTypeFlags handleTypes; 5729 } VkExternalMemoryImageCreateInfo; 5730 5731 typedef struct VkExternalMemoryBufferCreateInfo { 5732 VkStructureType sType; 5733 const void* pNext; 5734 VkExternalMemoryHandleTypeFlags handleTypes; 5735 } VkExternalMemoryBufferCreateInfo; 5736 5737 typedef struct VkExportMemoryAllocateInfo { 5738 VkStructureType sType; 5739 const void* pNext; 5740 VkExternalMemoryHandleTypeFlags handleTypes; 5741 } VkExportMemoryAllocateInfo; 5742 5743 typedef struct VkPhysicalDeviceExternalFenceInfo { 5744 VkStructureType sType; 5745 const void* pNext; 5746 VkExternalFenceHandleTypeFlagBits handleType; 5747 } VkPhysicalDeviceExternalFenceInfo; 5748 5749 typedef struct VkExternalFenceProperties { 5750 VkStructureType sType; 5751 void* pNext; 5752 VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes; 5753 VkExternalFenceHandleTypeFlags compatibleHandleTypes; 5754 VkExternalFenceFeatureFlags externalFenceFeatures; 5755 } VkExternalFenceProperties; 5756 5757 typedef struct VkExportFenceCreateInfo { 5758 VkStructureType sType; 5759 const void* pNext; 5760 VkExternalFenceHandleTypeFlags handleTypes; 5761 } VkExportFenceCreateInfo; 5762 5763 typedef struct VkExportSemaphoreCreateInfo { 5764 VkStructureType sType; 5765 const void* pNext; 5766 VkExternalSemaphoreHandleTypeFlags handleTypes; 5767 } VkExportSemaphoreCreateInfo; 5768 5769 typedef struct VkPhysicalDeviceExternalSemaphoreInfo { 5770 VkStructureType sType; 5771 const void* pNext; 5772 VkExternalSemaphoreHandleTypeFlagBits handleType; 5773 } VkPhysicalDeviceExternalSemaphoreInfo; 5774 5775 typedef struct VkExternalSemaphoreProperties { 5776 VkStructureType sType; 5777 void* pNext; 5778 VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes; 5779 VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes; 5780 VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures; 5781 } VkExternalSemaphoreProperties; 5782 5783 typedef struct VkPhysicalDeviceMaintenance3Properties { 5784 VkStructureType sType; 5785 void* pNext; 5786 uint32_t maxPerSetDescriptors; 5787 VkDeviceSize maxMemoryAllocationSize; 5788 } VkPhysicalDeviceMaintenance3Properties; 5789 5790 typedef struct VkDescriptorSetLayoutSupport { 5791 VkStructureType sType; 5792 void* pNext; 5793 VkBool32 supported; 5794 } VkDescriptorSetLayoutSupport; 5795 5796 typedef struct VkPhysicalDeviceShaderDrawParametersFeatures { 5797 VkStructureType sType; 5798 void* pNext; 5799 VkBool32 shaderDrawParameters; 5800 } VkPhysicalDeviceShaderDrawParametersFeatures; 5801 5802 typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures; 5803 5804 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceVersion)(uint32_t* pApiVersion); 5805 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos); 5806 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos); 5807 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 5808 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, uint32_t deviceMask); 5809 typedef void (VKAPI_PTR *PFN_vkCmdDispatchBase)(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ); 5810 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 5811 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); 5812 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); 5813 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 5814 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures); 5815 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties); 5816 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties); 5817 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties); 5818 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties); 5819 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 5820 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties); 5821 typedef void (VKAPI_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags); 5822 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue); 5823 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion); 5824 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator); 5825 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 5826 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator); 5827 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData); 5828 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties); 5829 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties); 5830 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 5831 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport); 5832 5833 #ifndef VK_NO_PROTOTYPES 5834 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceVersion( 5835 uint32_t* pApiVersion); 5836 5837 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2( 5838 VkDevice device, 5839 uint32_t bindInfoCount, 5840 const VkBindBufferMemoryInfo* pBindInfos); 5841 5842 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2( 5843 VkDevice device, 5844 uint32_t bindInfoCount, 5845 const VkBindImageMemoryInfo* pBindInfos); 5846 5847 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeatures( 5848 VkDevice device, 5849 uint32_t heapIndex, 5850 uint32_t localDeviceIndex, 5851 uint32_t remoteDeviceIndex, 5852 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 5853 5854 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMask( 5855 VkCommandBuffer commandBuffer, 5856 uint32_t deviceMask); 5857 5858 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBase( 5859 VkCommandBuffer commandBuffer, 5860 uint32_t baseGroupX, 5861 uint32_t baseGroupY, 5862 uint32_t baseGroupZ, 5863 uint32_t groupCountX, 5864 uint32_t groupCountY, 5865 uint32_t groupCountZ); 5866 5867 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroups( 5868 VkInstance instance, 5869 uint32_t* pPhysicalDeviceGroupCount, 5870 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 5871 5872 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2( 5873 VkDevice device, 5874 const VkImageMemoryRequirementsInfo2* pInfo, 5875 VkMemoryRequirements2* pMemoryRequirements); 5876 5877 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2( 5878 VkDevice device, 5879 const VkBufferMemoryRequirementsInfo2* pInfo, 5880 VkMemoryRequirements2* pMemoryRequirements); 5881 5882 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2( 5883 VkDevice device, 5884 const VkImageSparseMemoryRequirementsInfo2* pInfo, 5885 uint32_t* pSparseMemoryRequirementCount, 5886 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 5887 5888 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2( 5889 VkPhysicalDevice physicalDevice, 5890 VkPhysicalDeviceFeatures2* pFeatures); 5891 5892 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2( 5893 VkPhysicalDevice physicalDevice, 5894 VkPhysicalDeviceProperties2* pProperties); 5895 5896 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2( 5897 VkPhysicalDevice physicalDevice, 5898 VkFormat format, 5899 VkFormatProperties2* pFormatProperties); 5900 5901 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2( 5902 VkPhysicalDevice physicalDevice, 5903 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, 5904 VkImageFormatProperties2* pImageFormatProperties); 5905 5906 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2( 5907 VkPhysicalDevice physicalDevice, 5908 uint32_t* pQueueFamilyPropertyCount, 5909 VkQueueFamilyProperties2* pQueueFamilyProperties); 5910 5911 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2( 5912 VkPhysicalDevice physicalDevice, 5913 VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 5914 5915 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2( 5916 VkPhysicalDevice physicalDevice, 5917 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, 5918 uint32_t* pPropertyCount, 5919 VkSparseImageFormatProperties2* pProperties); 5920 5921 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPool( 5922 VkDevice device, 5923 VkCommandPool commandPool, 5924 VkCommandPoolTrimFlags flags); 5925 5926 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue2( 5927 VkDevice device, 5928 const VkDeviceQueueInfo2* pQueueInfo, 5929 VkQueue* pQueue); 5930 5931 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversion( 5932 VkDevice device, 5933 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, 5934 const VkAllocationCallbacks* pAllocator, 5935 VkSamplerYcbcrConversion* pYcbcrConversion); 5936 5937 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversion( 5938 VkDevice device, 5939 VkSamplerYcbcrConversion ycbcrConversion, 5940 const VkAllocationCallbacks* pAllocator); 5941 5942 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplate( 5943 VkDevice device, 5944 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, 5945 const VkAllocationCallbacks* pAllocator, 5946 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 5947 5948 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplate( 5949 VkDevice device, 5950 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 5951 const VkAllocationCallbacks* pAllocator); 5952 5953 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplate( 5954 VkDevice device, 5955 VkDescriptorSet descriptorSet, 5956 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 5957 const void* pData); 5958 5959 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties( 5960 VkPhysicalDevice physicalDevice, 5961 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, 5962 VkExternalBufferProperties* pExternalBufferProperties); 5963 5964 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFenceProperties( 5965 VkPhysicalDevice physicalDevice, 5966 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, 5967 VkExternalFenceProperties* pExternalFenceProperties); 5968 5969 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphoreProperties( 5970 VkPhysicalDevice physicalDevice, 5971 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, 5972 VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 5973 5974 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport( 5975 VkDevice device, 5976 const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 5977 VkDescriptorSetLayoutSupport* pSupport); 5978 #endif 5979 5980 5981 // VK_VERSION_1_2 is a preprocessor guard. Do not pass it to API calls. 5982 #define VK_VERSION_1_2 1 5983 // Vulkan 1.2 version number 5984 #define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)// Patch version should always be set to 0 5985 5986 #define VK_MAX_DRIVER_NAME_SIZE 256U 5987 #define VK_MAX_DRIVER_INFO_SIZE 256U 5988 5989 typedef enum VkDriverId { 5990 VK_DRIVER_ID_AMD_PROPRIETARY = 1, 5991 VK_DRIVER_ID_AMD_OPEN_SOURCE = 2, 5992 VK_DRIVER_ID_MESA_RADV = 3, 5993 VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4, 5994 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5, 5995 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6, 5996 VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7, 5997 VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8, 5998 VK_DRIVER_ID_ARM_PROPRIETARY = 9, 5999 VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10, 6000 VK_DRIVER_ID_GGP_PROPRIETARY = 11, 6001 VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12, 6002 VK_DRIVER_ID_MESA_LLVMPIPE = 13, 6003 VK_DRIVER_ID_MOLTENVK = 14, 6004 VK_DRIVER_ID_COREAVI_PROPRIETARY = 15, 6005 VK_DRIVER_ID_JUICE_PROPRIETARY = 16, 6006 VK_DRIVER_ID_VERISILICON_PROPRIETARY = 17, 6007 VK_DRIVER_ID_MESA_TURNIP = 18, 6008 VK_DRIVER_ID_MESA_V3DV = 19, 6009 VK_DRIVER_ID_MESA_PANVK = 20, 6010 VK_DRIVER_ID_SAMSUNG_PROPRIETARY = 21, 6011 VK_DRIVER_ID_MESA_VENUS = 22, 6012 VK_DRIVER_ID_MESA_DOZEN = 23, 6013 VK_DRIVER_ID_MESA_NVK = 24, 6014 VK_DRIVER_ID_IMAGINATION_OPEN_SOURCE_MESA = 25, 6015 VK_DRIVER_ID_MESA_HONEYKRISP = 26, 6016 VK_DRIVER_ID_VULKAN_SC_EMULATION_ON_VULKAN = 27, 6017 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY, 6018 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE, 6019 VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV, 6020 VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR = VK_DRIVER_ID_NVIDIA_PROPRIETARY, 6021 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS, 6022 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA, 6023 VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR = VK_DRIVER_ID_IMAGINATION_PROPRIETARY, 6024 VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR = VK_DRIVER_ID_QUALCOMM_PROPRIETARY, 6025 VK_DRIVER_ID_ARM_PROPRIETARY_KHR = VK_DRIVER_ID_ARM_PROPRIETARY, 6026 VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR = VK_DRIVER_ID_GOOGLE_SWIFTSHADER, 6027 VK_DRIVER_ID_GGP_PROPRIETARY_KHR = VK_DRIVER_ID_GGP_PROPRIETARY, 6028 VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR = VK_DRIVER_ID_BROADCOM_PROPRIETARY, 6029 VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF 6030 } VkDriverId; 6031 6032 typedef enum VkShaderFloatControlsIndependence { 6033 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0, 6034 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1, 6035 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2, 6036 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY, 6037 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL, 6038 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE, 6039 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM = 0x7FFFFFFF 6040 } VkShaderFloatControlsIndependence; 6041 6042 typedef enum VkSamplerReductionMode { 6043 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0, 6044 VK_SAMPLER_REDUCTION_MODE_MIN = 1, 6045 VK_SAMPLER_REDUCTION_MODE_MAX = 2, 6046 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_RANGECLAMP_QCOM = 1000521000, 6047 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, 6048 VK_SAMPLER_REDUCTION_MODE_MIN_EXT = VK_SAMPLER_REDUCTION_MODE_MIN, 6049 VK_SAMPLER_REDUCTION_MODE_MAX_EXT = VK_SAMPLER_REDUCTION_MODE_MAX, 6050 VK_SAMPLER_REDUCTION_MODE_MAX_ENUM = 0x7FFFFFFF 6051 } VkSamplerReductionMode; 6052 6053 typedef enum VkSemaphoreType { 6054 VK_SEMAPHORE_TYPE_BINARY = 0, 6055 VK_SEMAPHORE_TYPE_TIMELINE = 1, 6056 VK_SEMAPHORE_TYPE_BINARY_KHR = VK_SEMAPHORE_TYPE_BINARY, 6057 VK_SEMAPHORE_TYPE_TIMELINE_KHR = VK_SEMAPHORE_TYPE_TIMELINE, 6058 VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF 6059 } VkSemaphoreType; 6060 6061 typedef enum VkResolveModeFlagBits { 6062 VK_RESOLVE_MODE_NONE = 0, 6063 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 0x00000001, 6064 VK_RESOLVE_MODE_AVERAGE_BIT = 0x00000002, 6065 VK_RESOLVE_MODE_MIN_BIT = 0x00000004, 6066 VK_RESOLVE_MODE_MAX_BIT = 0x00000008, 6067 VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID = 0x00000010, 6068 VK_RESOLVE_MODE_NONE_KHR = VK_RESOLVE_MODE_NONE, 6069 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT, 6070 VK_RESOLVE_MODE_AVERAGE_BIT_KHR = VK_RESOLVE_MODE_AVERAGE_BIT, 6071 VK_RESOLVE_MODE_MIN_BIT_KHR = VK_RESOLVE_MODE_MIN_BIT, 6072 VK_RESOLVE_MODE_MAX_BIT_KHR = VK_RESOLVE_MODE_MAX_BIT, 6073 VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 6074 } VkResolveModeFlagBits; 6075 typedef VkFlags VkResolveModeFlags; 6076 6077 typedef enum VkDescriptorBindingFlagBits { 6078 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 0x00000001, 6079 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 0x00000002, 6080 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 0x00000004, 6081 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 0x00000008, 6082 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT, 6083 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT, 6084 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT, 6085 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT, 6086 VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 6087 } VkDescriptorBindingFlagBits; 6088 typedef VkFlags VkDescriptorBindingFlags; 6089 6090 typedef enum VkSemaphoreWaitFlagBits { 6091 VK_SEMAPHORE_WAIT_ANY_BIT = 0x00000001, 6092 VK_SEMAPHORE_WAIT_ANY_BIT_KHR = VK_SEMAPHORE_WAIT_ANY_BIT, 6093 VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 6094 } VkSemaphoreWaitFlagBits; 6095 typedef VkFlags VkSemaphoreWaitFlags; 6096 typedef struct VkPhysicalDeviceVulkan11Features { 6097 VkStructureType sType; 6098 void* pNext; 6099 VkBool32 storageBuffer16BitAccess; 6100 VkBool32 uniformAndStorageBuffer16BitAccess; 6101 VkBool32 storagePushConstant16; 6102 VkBool32 storageInputOutput16; 6103 VkBool32 multiview; 6104 VkBool32 multiviewGeometryShader; 6105 VkBool32 multiviewTessellationShader; 6106 VkBool32 variablePointersStorageBuffer; 6107 VkBool32 variablePointers; 6108 VkBool32 protectedMemory; 6109 VkBool32 samplerYcbcrConversion; 6110 VkBool32 shaderDrawParameters; 6111 } VkPhysicalDeviceVulkan11Features; 6112 6113 typedef struct VkPhysicalDeviceVulkan11Properties { 6114 VkStructureType sType; 6115 void* pNext; 6116 uint8_t deviceUUID[VK_UUID_SIZE]; 6117 uint8_t driverUUID[VK_UUID_SIZE]; 6118 uint8_t deviceLUID[VK_LUID_SIZE]; 6119 uint32_t deviceNodeMask; 6120 VkBool32 deviceLUIDValid; 6121 uint32_t subgroupSize; 6122 VkShaderStageFlags subgroupSupportedStages; 6123 VkSubgroupFeatureFlags subgroupSupportedOperations; 6124 VkBool32 subgroupQuadOperationsInAllStages; 6125 VkPointClippingBehavior pointClippingBehavior; 6126 uint32_t maxMultiviewViewCount; 6127 uint32_t maxMultiviewInstanceIndex; 6128 VkBool32 protectedNoFault; 6129 uint32_t maxPerSetDescriptors; 6130 VkDeviceSize maxMemoryAllocationSize; 6131 } VkPhysicalDeviceVulkan11Properties; 6132 6133 typedef struct VkPhysicalDeviceVulkan12Features { 6134 VkStructureType sType; 6135 void* pNext; 6136 VkBool32 samplerMirrorClampToEdge; 6137 VkBool32 drawIndirectCount; 6138 VkBool32 storageBuffer8BitAccess; 6139 VkBool32 uniformAndStorageBuffer8BitAccess; 6140 VkBool32 storagePushConstant8; 6141 VkBool32 shaderBufferInt64Atomics; 6142 VkBool32 shaderSharedInt64Atomics; 6143 VkBool32 shaderFloat16; 6144 VkBool32 shaderInt8; 6145 VkBool32 descriptorIndexing; 6146 VkBool32 shaderInputAttachmentArrayDynamicIndexing; 6147 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing; 6148 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing; 6149 VkBool32 shaderUniformBufferArrayNonUniformIndexing; 6150 VkBool32 shaderSampledImageArrayNonUniformIndexing; 6151 VkBool32 shaderStorageBufferArrayNonUniformIndexing; 6152 VkBool32 shaderStorageImageArrayNonUniformIndexing; 6153 VkBool32 shaderInputAttachmentArrayNonUniformIndexing; 6154 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing; 6155 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing; 6156 VkBool32 descriptorBindingUniformBufferUpdateAfterBind; 6157 VkBool32 descriptorBindingSampledImageUpdateAfterBind; 6158 VkBool32 descriptorBindingStorageImageUpdateAfterBind; 6159 VkBool32 descriptorBindingStorageBufferUpdateAfterBind; 6160 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind; 6161 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind; 6162 VkBool32 descriptorBindingUpdateUnusedWhilePending; 6163 VkBool32 descriptorBindingPartiallyBound; 6164 VkBool32 descriptorBindingVariableDescriptorCount; 6165 VkBool32 runtimeDescriptorArray; 6166 VkBool32 samplerFilterMinmax; 6167 VkBool32 scalarBlockLayout; 6168 VkBool32 imagelessFramebuffer; 6169 VkBool32 uniformBufferStandardLayout; 6170 VkBool32 shaderSubgroupExtendedTypes; 6171 VkBool32 separateDepthStencilLayouts; 6172 VkBool32 hostQueryReset; 6173 VkBool32 timelineSemaphore; 6174 VkBool32 bufferDeviceAddress; 6175 VkBool32 bufferDeviceAddressCaptureReplay; 6176 VkBool32 bufferDeviceAddressMultiDevice; 6177 VkBool32 vulkanMemoryModel; 6178 VkBool32 vulkanMemoryModelDeviceScope; 6179 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains; 6180 VkBool32 shaderOutputViewportIndex; 6181 VkBool32 shaderOutputLayer; 6182 VkBool32 subgroupBroadcastDynamicId; 6183 } VkPhysicalDeviceVulkan12Features; 6184 6185 typedef struct VkConformanceVersion { 6186 uint8_t major; 6187 uint8_t minor; 6188 uint8_t subminor; 6189 uint8_t patch; 6190 } VkConformanceVersion; 6191 6192 typedef struct VkPhysicalDeviceVulkan12Properties { 6193 VkStructureType sType; 6194 void* pNext; 6195 VkDriverId driverID; 6196 char driverName[VK_MAX_DRIVER_NAME_SIZE]; 6197 char driverInfo[VK_MAX_DRIVER_INFO_SIZE]; 6198 VkConformanceVersion conformanceVersion; 6199 VkShaderFloatControlsIndependence denormBehaviorIndependence; 6200 VkShaderFloatControlsIndependence roundingModeIndependence; 6201 VkBool32 shaderSignedZeroInfNanPreserveFloat16; 6202 VkBool32 shaderSignedZeroInfNanPreserveFloat32; 6203 VkBool32 shaderSignedZeroInfNanPreserveFloat64; 6204 VkBool32 shaderDenormPreserveFloat16; 6205 VkBool32 shaderDenormPreserveFloat32; 6206 VkBool32 shaderDenormPreserveFloat64; 6207 VkBool32 shaderDenormFlushToZeroFloat16; 6208 VkBool32 shaderDenormFlushToZeroFloat32; 6209 VkBool32 shaderDenormFlushToZeroFloat64; 6210 VkBool32 shaderRoundingModeRTEFloat16; 6211 VkBool32 shaderRoundingModeRTEFloat32; 6212 VkBool32 shaderRoundingModeRTEFloat64; 6213 VkBool32 shaderRoundingModeRTZFloat16; 6214 VkBool32 shaderRoundingModeRTZFloat32; 6215 VkBool32 shaderRoundingModeRTZFloat64; 6216 uint32_t maxUpdateAfterBindDescriptorsInAllPools; 6217 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative; 6218 VkBool32 shaderSampledImageArrayNonUniformIndexingNative; 6219 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative; 6220 VkBool32 shaderStorageImageArrayNonUniformIndexingNative; 6221 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative; 6222 VkBool32 robustBufferAccessUpdateAfterBind; 6223 VkBool32 quadDivergentImplicitLod; 6224 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers; 6225 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers; 6226 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers; 6227 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages; 6228 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages; 6229 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments; 6230 uint32_t maxPerStageUpdateAfterBindResources; 6231 uint32_t maxDescriptorSetUpdateAfterBindSamplers; 6232 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers; 6233 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic; 6234 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers; 6235 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic; 6236 uint32_t maxDescriptorSetUpdateAfterBindSampledImages; 6237 uint32_t maxDescriptorSetUpdateAfterBindStorageImages; 6238 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments; 6239 VkResolveModeFlags supportedDepthResolveModes; 6240 VkResolveModeFlags supportedStencilResolveModes; 6241 VkBool32 independentResolveNone; 6242 VkBool32 independentResolve; 6243 VkBool32 filterMinmaxSingleComponentFormats; 6244 VkBool32 filterMinmaxImageComponentMapping; 6245 uint64_t maxTimelineSemaphoreValueDifference; 6246 VkSampleCountFlags framebufferIntegerColorSampleCounts; 6247 } VkPhysicalDeviceVulkan12Properties; 6248 6249 typedef struct VkImageFormatListCreateInfo { 6250 VkStructureType sType; 6251 const void* pNext; 6252 uint32_t viewFormatCount; 6253 const VkFormat* pViewFormats; 6254 } VkImageFormatListCreateInfo; 6255 6256 typedef struct VkAttachmentDescription2 { 6257 VkStructureType sType; 6258 const void* pNext; 6259 VkAttachmentDescriptionFlags flags; 6260 VkFormat format; 6261 VkSampleCountFlagBits samples; 6262 VkAttachmentLoadOp loadOp; 6263 VkAttachmentStoreOp storeOp; 6264 VkAttachmentLoadOp stencilLoadOp; 6265 VkAttachmentStoreOp stencilStoreOp; 6266 VkImageLayout initialLayout; 6267 VkImageLayout finalLayout; 6268 } VkAttachmentDescription2; 6269 6270 typedef struct VkAttachmentReference2 { 6271 VkStructureType sType; 6272 const void* pNext; 6273 uint32_t attachment; 6274 VkImageLayout layout; 6275 VkImageAspectFlags aspectMask; 6276 } VkAttachmentReference2; 6277 6278 typedef struct VkSubpassDescription2 { 6279 VkStructureType sType; 6280 const void* pNext; 6281 VkSubpassDescriptionFlags flags; 6282 VkPipelineBindPoint pipelineBindPoint; 6283 uint32_t viewMask; 6284 uint32_t inputAttachmentCount; 6285 const VkAttachmentReference2* pInputAttachments; 6286 uint32_t colorAttachmentCount; 6287 const VkAttachmentReference2* pColorAttachments; 6288 const VkAttachmentReference2* pResolveAttachments; 6289 const VkAttachmentReference2* pDepthStencilAttachment; 6290 uint32_t preserveAttachmentCount; 6291 const uint32_t* pPreserveAttachments; 6292 } VkSubpassDescription2; 6293 6294 typedef struct VkSubpassDependency2 { 6295 VkStructureType sType; 6296 const void* pNext; 6297 uint32_t srcSubpass; 6298 uint32_t dstSubpass; 6299 VkPipelineStageFlags srcStageMask; 6300 VkPipelineStageFlags dstStageMask; 6301 VkAccessFlags srcAccessMask; 6302 VkAccessFlags dstAccessMask; 6303 VkDependencyFlags dependencyFlags; 6304 int32_t viewOffset; 6305 } VkSubpassDependency2; 6306 6307 typedef struct VkRenderPassCreateInfo2 { 6308 VkStructureType sType; 6309 const void* pNext; 6310 VkRenderPassCreateFlags flags; 6311 uint32_t attachmentCount; 6312 const VkAttachmentDescription2* pAttachments; 6313 uint32_t subpassCount; 6314 const VkSubpassDescription2* pSubpasses; 6315 uint32_t dependencyCount; 6316 const VkSubpassDependency2* pDependencies; 6317 uint32_t correlatedViewMaskCount; 6318 const uint32_t* pCorrelatedViewMasks; 6319 } VkRenderPassCreateInfo2; 6320 6321 typedef struct VkSubpassBeginInfo { 6322 VkStructureType sType; 6323 const void* pNext; 6324 VkSubpassContents contents; 6325 } VkSubpassBeginInfo; 6326 6327 typedef struct VkSubpassEndInfo { 6328 VkStructureType sType; 6329 const void* pNext; 6330 } VkSubpassEndInfo; 6331 6332 typedef struct VkPhysicalDevice8BitStorageFeatures { 6333 VkStructureType sType; 6334 void* pNext; 6335 VkBool32 storageBuffer8BitAccess; 6336 VkBool32 uniformAndStorageBuffer8BitAccess; 6337 VkBool32 storagePushConstant8; 6338 } VkPhysicalDevice8BitStorageFeatures; 6339 6340 typedef struct VkPhysicalDeviceDriverProperties { 6341 VkStructureType sType; 6342 void* pNext; 6343 VkDriverId driverID; 6344 char driverName[VK_MAX_DRIVER_NAME_SIZE]; 6345 char driverInfo[VK_MAX_DRIVER_INFO_SIZE]; 6346 VkConformanceVersion conformanceVersion; 6347 } VkPhysicalDeviceDriverProperties; 6348 6349 typedef struct VkPhysicalDeviceShaderAtomicInt64Features { 6350 VkStructureType sType; 6351 void* pNext; 6352 VkBool32 shaderBufferInt64Atomics; 6353 VkBool32 shaderSharedInt64Atomics; 6354 } VkPhysicalDeviceShaderAtomicInt64Features; 6355 6356 typedef struct VkPhysicalDeviceShaderFloat16Int8Features { 6357 VkStructureType sType; 6358 void* pNext; 6359 VkBool32 shaderFloat16; 6360 VkBool32 shaderInt8; 6361 } VkPhysicalDeviceShaderFloat16Int8Features; 6362 6363 typedef struct VkPhysicalDeviceFloatControlsProperties { 6364 VkStructureType sType; 6365 void* pNext; 6366 VkShaderFloatControlsIndependence denormBehaviorIndependence; 6367 VkShaderFloatControlsIndependence roundingModeIndependence; 6368 VkBool32 shaderSignedZeroInfNanPreserveFloat16; 6369 VkBool32 shaderSignedZeroInfNanPreserveFloat32; 6370 VkBool32 shaderSignedZeroInfNanPreserveFloat64; 6371 VkBool32 shaderDenormPreserveFloat16; 6372 VkBool32 shaderDenormPreserveFloat32; 6373 VkBool32 shaderDenormPreserveFloat64; 6374 VkBool32 shaderDenormFlushToZeroFloat16; 6375 VkBool32 shaderDenormFlushToZeroFloat32; 6376 VkBool32 shaderDenormFlushToZeroFloat64; 6377 VkBool32 shaderRoundingModeRTEFloat16; 6378 VkBool32 shaderRoundingModeRTEFloat32; 6379 VkBool32 shaderRoundingModeRTEFloat64; 6380 VkBool32 shaderRoundingModeRTZFloat16; 6381 VkBool32 shaderRoundingModeRTZFloat32; 6382 VkBool32 shaderRoundingModeRTZFloat64; 6383 } VkPhysicalDeviceFloatControlsProperties; 6384 6385 typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo { 6386 VkStructureType sType; 6387 const void* pNext; 6388 uint32_t bindingCount; 6389 const VkDescriptorBindingFlags* pBindingFlags; 6390 } VkDescriptorSetLayoutBindingFlagsCreateInfo; 6391 6392 typedef struct VkPhysicalDeviceDescriptorIndexingFeatures { 6393 VkStructureType sType; 6394 void* pNext; 6395 VkBool32 shaderInputAttachmentArrayDynamicIndexing; 6396 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing; 6397 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing; 6398 VkBool32 shaderUniformBufferArrayNonUniformIndexing; 6399 VkBool32 shaderSampledImageArrayNonUniformIndexing; 6400 VkBool32 shaderStorageBufferArrayNonUniformIndexing; 6401 VkBool32 shaderStorageImageArrayNonUniformIndexing; 6402 VkBool32 shaderInputAttachmentArrayNonUniformIndexing; 6403 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing; 6404 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing; 6405 VkBool32 descriptorBindingUniformBufferUpdateAfterBind; 6406 VkBool32 descriptorBindingSampledImageUpdateAfterBind; 6407 VkBool32 descriptorBindingStorageImageUpdateAfterBind; 6408 VkBool32 descriptorBindingStorageBufferUpdateAfterBind; 6409 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind; 6410 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind; 6411 VkBool32 descriptorBindingUpdateUnusedWhilePending; 6412 VkBool32 descriptorBindingPartiallyBound; 6413 VkBool32 descriptorBindingVariableDescriptorCount; 6414 VkBool32 runtimeDescriptorArray; 6415 } VkPhysicalDeviceDescriptorIndexingFeatures; 6416 6417 typedef struct VkPhysicalDeviceDescriptorIndexingProperties { 6418 VkStructureType sType; 6419 void* pNext; 6420 uint32_t maxUpdateAfterBindDescriptorsInAllPools; 6421 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative; 6422 VkBool32 shaderSampledImageArrayNonUniformIndexingNative; 6423 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative; 6424 VkBool32 shaderStorageImageArrayNonUniformIndexingNative; 6425 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative; 6426 VkBool32 robustBufferAccessUpdateAfterBind; 6427 VkBool32 quadDivergentImplicitLod; 6428 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers; 6429 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers; 6430 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers; 6431 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages; 6432 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages; 6433 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments; 6434 uint32_t maxPerStageUpdateAfterBindResources; 6435 uint32_t maxDescriptorSetUpdateAfterBindSamplers; 6436 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers; 6437 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic; 6438 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers; 6439 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic; 6440 uint32_t maxDescriptorSetUpdateAfterBindSampledImages; 6441 uint32_t maxDescriptorSetUpdateAfterBindStorageImages; 6442 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments; 6443 } VkPhysicalDeviceDescriptorIndexingProperties; 6444 6445 typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo { 6446 VkStructureType sType; 6447 const void* pNext; 6448 uint32_t descriptorSetCount; 6449 const uint32_t* pDescriptorCounts; 6450 } VkDescriptorSetVariableDescriptorCountAllocateInfo; 6451 6452 typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport { 6453 VkStructureType sType; 6454 void* pNext; 6455 uint32_t maxVariableDescriptorCount; 6456 } VkDescriptorSetVariableDescriptorCountLayoutSupport; 6457 6458 typedef struct VkSubpassDescriptionDepthStencilResolve { 6459 VkStructureType sType; 6460 const void* pNext; 6461 VkResolveModeFlagBits depthResolveMode; 6462 VkResolveModeFlagBits stencilResolveMode; 6463 const VkAttachmentReference2* pDepthStencilResolveAttachment; 6464 } VkSubpassDescriptionDepthStencilResolve; 6465 6466 typedef struct VkPhysicalDeviceDepthStencilResolveProperties { 6467 VkStructureType sType; 6468 void* pNext; 6469 VkResolveModeFlags supportedDepthResolveModes; 6470 VkResolveModeFlags supportedStencilResolveModes; 6471 VkBool32 independentResolveNone; 6472 VkBool32 independentResolve; 6473 } VkPhysicalDeviceDepthStencilResolveProperties; 6474 6475 typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures { 6476 VkStructureType sType; 6477 void* pNext; 6478 VkBool32 scalarBlockLayout; 6479 } VkPhysicalDeviceScalarBlockLayoutFeatures; 6480 6481 typedef struct VkImageStencilUsageCreateInfo { 6482 VkStructureType sType; 6483 const void* pNext; 6484 VkImageUsageFlags stencilUsage; 6485 } VkImageStencilUsageCreateInfo; 6486 6487 typedef struct VkSamplerReductionModeCreateInfo { 6488 VkStructureType sType; 6489 const void* pNext; 6490 VkSamplerReductionMode reductionMode; 6491 } VkSamplerReductionModeCreateInfo; 6492 6493 typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties { 6494 VkStructureType sType; 6495 void* pNext; 6496 VkBool32 filterMinmaxSingleComponentFormats; 6497 VkBool32 filterMinmaxImageComponentMapping; 6498 } VkPhysicalDeviceSamplerFilterMinmaxProperties; 6499 6500 typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures { 6501 VkStructureType sType; 6502 void* pNext; 6503 VkBool32 vulkanMemoryModel; 6504 VkBool32 vulkanMemoryModelDeviceScope; 6505 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains; 6506 } VkPhysicalDeviceVulkanMemoryModelFeatures; 6507 6508 typedef struct VkPhysicalDeviceImagelessFramebufferFeatures { 6509 VkStructureType sType; 6510 void* pNext; 6511 VkBool32 imagelessFramebuffer; 6512 } VkPhysicalDeviceImagelessFramebufferFeatures; 6513 6514 typedef struct VkFramebufferAttachmentImageInfo { 6515 VkStructureType sType; 6516 const void* pNext; 6517 VkImageCreateFlags flags; 6518 VkImageUsageFlags usage; 6519 uint32_t width; 6520 uint32_t height; 6521 uint32_t layerCount; 6522 uint32_t viewFormatCount; 6523 const VkFormat* pViewFormats; 6524 } VkFramebufferAttachmentImageInfo; 6525 6526 typedef struct VkFramebufferAttachmentsCreateInfo { 6527 VkStructureType sType; 6528 const void* pNext; 6529 uint32_t attachmentImageInfoCount; 6530 const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos; 6531 } VkFramebufferAttachmentsCreateInfo; 6532 6533 typedef struct VkRenderPassAttachmentBeginInfo { 6534 VkStructureType sType; 6535 const void* pNext; 6536 uint32_t attachmentCount; 6537 const VkImageView* pAttachments; 6538 } VkRenderPassAttachmentBeginInfo; 6539 6540 typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures { 6541 VkStructureType sType; 6542 void* pNext; 6543 VkBool32 uniformBufferStandardLayout; 6544 } VkPhysicalDeviceUniformBufferStandardLayoutFeatures; 6545 6546 typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures { 6547 VkStructureType sType; 6548 void* pNext; 6549 VkBool32 shaderSubgroupExtendedTypes; 6550 } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures; 6551 6552 typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures { 6553 VkStructureType sType; 6554 void* pNext; 6555 VkBool32 separateDepthStencilLayouts; 6556 } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures; 6557 6558 typedef struct VkAttachmentReferenceStencilLayout { 6559 VkStructureType sType; 6560 void* pNext; 6561 VkImageLayout stencilLayout; 6562 } VkAttachmentReferenceStencilLayout; 6563 6564 typedef struct VkAttachmentDescriptionStencilLayout { 6565 VkStructureType sType; 6566 void* pNext; 6567 VkImageLayout stencilInitialLayout; 6568 VkImageLayout stencilFinalLayout; 6569 } VkAttachmentDescriptionStencilLayout; 6570 6571 typedef struct VkPhysicalDeviceHostQueryResetFeatures { 6572 VkStructureType sType; 6573 void* pNext; 6574 VkBool32 hostQueryReset; 6575 } VkPhysicalDeviceHostQueryResetFeatures; 6576 6577 typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures { 6578 VkStructureType sType; 6579 void* pNext; 6580 VkBool32 timelineSemaphore; 6581 } VkPhysicalDeviceTimelineSemaphoreFeatures; 6582 6583 typedef struct VkPhysicalDeviceTimelineSemaphoreProperties { 6584 VkStructureType sType; 6585 void* pNext; 6586 uint64_t maxTimelineSemaphoreValueDifference; 6587 } VkPhysicalDeviceTimelineSemaphoreProperties; 6588 6589 typedef struct VkSemaphoreTypeCreateInfo { 6590 VkStructureType sType; 6591 const void* pNext; 6592 VkSemaphoreType semaphoreType; 6593 uint64_t initialValue; 6594 } VkSemaphoreTypeCreateInfo; 6595 6596 typedef struct VkTimelineSemaphoreSubmitInfo { 6597 VkStructureType sType; 6598 const void* pNext; 6599 uint32_t waitSemaphoreValueCount; 6600 const uint64_t* pWaitSemaphoreValues; 6601 uint32_t signalSemaphoreValueCount; 6602 const uint64_t* pSignalSemaphoreValues; 6603 } VkTimelineSemaphoreSubmitInfo; 6604 6605 typedef struct VkSemaphoreWaitInfo { 6606 VkStructureType sType; 6607 const void* pNext; 6608 VkSemaphoreWaitFlags flags; 6609 uint32_t semaphoreCount; 6610 const VkSemaphore* pSemaphores; 6611 const uint64_t* pValues; 6612 } VkSemaphoreWaitInfo; 6613 6614 typedef struct VkSemaphoreSignalInfo { 6615 VkStructureType sType; 6616 const void* pNext; 6617 VkSemaphore semaphore; 6618 uint64_t value; 6619 } VkSemaphoreSignalInfo; 6620 6621 typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures { 6622 VkStructureType sType; 6623 void* pNext; 6624 VkBool32 bufferDeviceAddress; 6625 VkBool32 bufferDeviceAddressCaptureReplay; 6626 VkBool32 bufferDeviceAddressMultiDevice; 6627 } VkPhysicalDeviceBufferDeviceAddressFeatures; 6628 6629 typedef struct VkBufferDeviceAddressInfo { 6630 VkStructureType sType; 6631 const void* pNext; 6632 VkBuffer buffer; 6633 } VkBufferDeviceAddressInfo; 6634 6635 typedef struct VkBufferOpaqueCaptureAddressCreateInfo { 6636 VkStructureType sType; 6637 const void* pNext; 6638 uint64_t opaqueCaptureAddress; 6639 } VkBufferOpaqueCaptureAddressCreateInfo; 6640 6641 typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo { 6642 VkStructureType sType; 6643 const void* pNext; 6644 uint64_t opaqueCaptureAddress; 6645 } VkMemoryOpaqueCaptureAddressAllocateInfo; 6646 6647 typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo { 6648 VkStructureType sType; 6649 const void* pNext; 6650 VkDeviceMemory memory; 6651 } VkDeviceMemoryOpaqueCaptureAddressInfo; 6652 6653 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 6654 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 6655 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); 6656 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo); 6657 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo); 6658 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo); 6659 typedef void (VKAPI_PTR *PFN_vkResetQueryPool)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount); 6660 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValue)(VkDevice device, VkSemaphore semaphore, uint64_t* pValue); 6661 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphores)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout); 6662 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphore)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo); 6663 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 6664 typedef uint64_t (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 6665 typedef uint64_t (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); 6666 6667 #ifndef VK_NO_PROTOTYPES 6668 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCount( 6669 VkCommandBuffer commandBuffer, 6670 VkBuffer buffer, 6671 VkDeviceSize offset, 6672 VkBuffer countBuffer, 6673 VkDeviceSize countBufferOffset, 6674 uint32_t maxDrawCount, 6675 uint32_t stride); 6676 6677 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCount( 6678 VkCommandBuffer commandBuffer, 6679 VkBuffer buffer, 6680 VkDeviceSize offset, 6681 VkBuffer countBuffer, 6682 VkDeviceSize countBufferOffset, 6683 uint32_t maxDrawCount, 6684 uint32_t stride); 6685 6686 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2( 6687 VkDevice device, 6688 const VkRenderPassCreateInfo2* pCreateInfo, 6689 const VkAllocationCallbacks* pAllocator, 6690 VkRenderPass* pRenderPass); 6691 6692 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2( 6693 VkCommandBuffer commandBuffer, 6694 const VkRenderPassBeginInfo* pRenderPassBegin, 6695 const VkSubpassBeginInfo* pSubpassBeginInfo); 6696 6697 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2( 6698 VkCommandBuffer commandBuffer, 6699 const VkSubpassBeginInfo* pSubpassBeginInfo, 6700 const VkSubpassEndInfo* pSubpassEndInfo); 6701 6702 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2( 6703 VkCommandBuffer commandBuffer, 6704 const VkSubpassEndInfo* pSubpassEndInfo); 6705 6706 VKAPI_ATTR void VKAPI_CALL vkResetQueryPool( 6707 VkDevice device, 6708 VkQueryPool queryPool, 6709 uint32_t firstQuery, 6710 uint32_t queryCount); 6711 6712 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValue( 6713 VkDevice device, 6714 VkSemaphore semaphore, 6715 uint64_t* pValue); 6716 6717 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphores( 6718 VkDevice device, 6719 const VkSemaphoreWaitInfo* pWaitInfo, 6720 uint64_t timeout); 6721 6722 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphore( 6723 VkDevice device, 6724 const VkSemaphoreSignalInfo* pSignalInfo); 6725 6726 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddress( 6727 VkDevice device, 6728 const VkBufferDeviceAddressInfo* pInfo); 6729 6730 VKAPI_ATTR uint64_t VKAPI_CALL vkGetBufferOpaqueCaptureAddress( 6731 VkDevice device, 6732 const VkBufferDeviceAddressInfo* pInfo); 6733 6734 VKAPI_ATTR uint64_t VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddress( 6735 VkDevice device, 6736 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); 6737 #endif 6738 6739 6740 // VK_VERSION_1_3 is a preprocessor guard. Do not pass it to API calls. 6741 #define VK_VERSION_1_3 1 6742 // Vulkan 1.3 version number 6743 #define VK_API_VERSION_1_3 VK_MAKE_API_VERSION(0, 1, 3, 0)// Patch version should always be set to 0 6744 6745 typedef uint64_t VkFlags64; 6746 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlot) 6747 6748 typedef enum VkPipelineCreationFeedbackFlagBits { 6749 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT = 0x00000001, 6750 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT = 0x00000002, 6751 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT = 0x00000004, 6752 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT, 6753 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT, 6754 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT, 6755 VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 6756 } VkPipelineCreationFeedbackFlagBits; 6757 typedef VkFlags VkPipelineCreationFeedbackFlags; 6758 6759 typedef enum VkToolPurposeFlagBits { 6760 VK_TOOL_PURPOSE_VALIDATION_BIT = 0x00000001, 6761 VK_TOOL_PURPOSE_PROFILING_BIT = 0x00000002, 6762 VK_TOOL_PURPOSE_TRACING_BIT = 0x00000004, 6763 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT = 0x00000008, 6764 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT = 0x00000010, 6765 VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 0x00000020, 6766 VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 0x00000040, 6767 VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = VK_TOOL_PURPOSE_VALIDATION_BIT, 6768 VK_TOOL_PURPOSE_PROFILING_BIT_EXT = VK_TOOL_PURPOSE_PROFILING_BIT, 6769 VK_TOOL_PURPOSE_TRACING_BIT_EXT = VK_TOOL_PURPOSE_TRACING_BIT, 6770 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT, 6771 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT, 6772 VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 6773 } VkToolPurposeFlagBits; 6774 typedef VkFlags VkToolPurposeFlags; 6775 typedef VkFlags VkPrivateDataSlotCreateFlags; 6776 typedef VkFlags64 VkPipelineStageFlags2; 6777 6778 // Flag bits for VkPipelineStageFlagBits2 6779 typedef VkFlags64 VkPipelineStageFlagBits2; 6780 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_NONE = 0ULL; 6781 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT = 0x00000001ULL; 6782 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT = 0x00000002ULL; 6783 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT = 0x00000004ULL; 6784 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT = 0x00000008ULL; 6785 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010ULL; 6786 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020ULL; 6787 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT = 0x00000040ULL; 6788 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT = 0x00000080ULL; 6789 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT = 0x00000100ULL; 6790 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT = 0x00000200ULL; 6791 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400ULL; 6792 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT = 0x00000800ULL; 6793 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT = 0x00001000ULL; 6794 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFER_BIT = 0x00001000ULL; 6795 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT = 0x00002000ULL; 6796 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_HOST_BIT = 0x00004000ULL; 6797 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT = 0x00008000ULL; 6798 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT = 0x00010000ULL; 6799 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT = 0x100000000ULL; 6800 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RESOLVE_BIT = 0x200000000ULL; 6801 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BLIT_BIT = 0x400000000ULL; 6802 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLEAR_BIT = 0x800000000ULL; 6803 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT = 0x1000000000ULL; 6804 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT = 0x2000000000ULL; 6805 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT = 0x4000000000ULL; 6806 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR = 0x04000000ULL; 6807 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR = 0x08000000ULL; 6808 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_NONE_KHR = 0ULL; 6809 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR = 0x00000001ULL; 6810 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR = 0x00000002ULL; 6811 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR = 0x00000004ULL; 6812 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR = 0x00000008ULL; 6813 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR = 0x00000010ULL; 6814 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR = 0x00000020ULL; 6815 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR = 0x00000040ULL; 6816 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR = 0x00000080ULL; 6817 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR = 0x00000100ULL; 6818 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR = 0x00000200ULL; 6819 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR = 0x00000400ULL; 6820 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR = 0x00000800ULL; 6821 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR = 0x00001000ULL; 6822 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR = 0x00001000ULL; 6823 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR = 0x00002000ULL; 6824 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_HOST_BIT_KHR = 0x00004000ULL; 6825 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR = 0x00008000ULL; 6826 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR = 0x00010000ULL; 6827 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT_KHR = 0x100000000ULL; 6828 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR = 0x200000000ULL; 6829 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BLIT_BIT_KHR = 0x400000000ULL; 6830 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR = 0x800000000ULL; 6831 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = 0x1000000000ULL; 6832 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = 0x2000000000ULL; 6833 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = 0x4000000000ULL; 6834 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000ULL; 6835 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000ULL; 6836 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = 0x00020000ULL; 6837 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_EXT = 0x00020000ULL; 6838 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000ULL; 6839 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV = 0x00400000ULL; 6840 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000ULL; 6841 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR = 0x00200000ULL; 6842 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV = 0x00200000ULL; 6843 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000ULL; 6844 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000ULL; 6845 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV = 0x00080000ULL; 6846 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = 0x00100000ULL; 6847 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT = 0x00080000ULL; 6848 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT = 0x00100000ULL; 6849 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI = 0x8000000000ULL; 6850 // VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI is a deprecated alias 6851 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI = 0x8000000000ULL; 6852 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI = 0x10000000000ULL; 6853 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR = 0x10000000ULL; 6854 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT = 0x40000000ULL; 6855 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI = 0x20000000000ULL; 6856 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV = 0x20000000ULL; 6857 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CONVERT_COOPERATIVE_VECTOR_MATRIX_BIT_NV = 0x100000000000ULL; 6858 6859 typedef VkFlags64 VkAccessFlags2; 6860 6861 // Flag bits for VkAccessFlagBits2 6862 typedef VkFlags64 VkAccessFlagBits2; 6863 static const VkAccessFlagBits2 VK_ACCESS_2_NONE = 0ULL; 6864 static const VkAccessFlagBits2 VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT = 0x00000001ULL; 6865 static const VkAccessFlagBits2 VK_ACCESS_2_INDEX_READ_BIT = 0x00000002ULL; 6866 static const VkAccessFlagBits2 VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004ULL; 6867 static const VkAccessFlagBits2 VK_ACCESS_2_UNIFORM_READ_BIT = 0x00000008ULL; 6868 static const VkAccessFlagBits2 VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT = 0x00000010ULL; 6869 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_READ_BIT = 0x00000020ULL; 6870 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_WRITE_BIT = 0x00000040ULL; 6871 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT = 0x00000080ULL; 6872 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100ULL; 6873 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200ULL; 6874 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400ULL; 6875 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_READ_BIT = 0x00000800ULL; 6876 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_WRITE_BIT = 0x00001000ULL; 6877 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_READ_BIT = 0x00002000ULL; 6878 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_WRITE_BIT = 0x00004000ULL; 6879 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_READ_BIT = 0x00008000ULL; 6880 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_WRITE_BIT = 0x00010000ULL; 6881 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_SAMPLED_READ_BIT = 0x100000000ULL; 6882 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT = 0x200000000ULL; 6883 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT = 0x400000000ULL; 6884 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR = 0x800000000ULL; 6885 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR = 0x1000000000ULL; 6886 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR = 0x2000000000ULL; 6887 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR = 0x4000000000ULL; 6888 static const VkAccessFlagBits2 VK_ACCESS_2_NONE_KHR = 0ULL; 6889 static const VkAccessFlagBits2 VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR = 0x00000001ULL; 6890 static const VkAccessFlagBits2 VK_ACCESS_2_INDEX_READ_BIT_KHR = 0x00000002ULL; 6891 static const VkAccessFlagBits2 VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR = 0x00000004ULL; 6892 static const VkAccessFlagBits2 VK_ACCESS_2_UNIFORM_READ_BIT_KHR = 0x00000008ULL; 6893 static const VkAccessFlagBits2 VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR = 0x00000010ULL; 6894 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_READ_BIT_KHR = 0x00000020ULL; 6895 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_WRITE_BIT_KHR = 0x00000040ULL; 6896 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR = 0x00000080ULL; 6897 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR = 0x00000100ULL; 6898 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR = 0x00000200ULL; 6899 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR = 0x00000400ULL; 6900 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_READ_BIT_KHR = 0x00000800ULL; 6901 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR = 0x00001000ULL; 6902 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_READ_BIT_KHR = 0x00002000ULL; 6903 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_WRITE_BIT_KHR = 0x00004000ULL; 6904 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_READ_BIT_KHR = 0x00008000ULL; 6905 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_WRITE_BIT_KHR = 0x00010000ULL; 6906 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR = 0x100000000ULL; 6907 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 0x200000000ULL; 6908 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 0x400000000ULL; 6909 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000ULL; 6910 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000ULL; 6911 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000ULL; 6912 static const VkAccessFlagBits2 VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000ULL; 6913 static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000ULL; 6914 static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000ULL; 6915 static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_EXT = 0x00020000ULL; 6916 static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_EXT = 0x00040000ULL; 6917 static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000ULL; 6918 static const VkAccessFlagBits2 VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000ULL; 6919 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000ULL; 6920 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000ULL; 6921 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000ULL; 6922 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000ULL; 6923 static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000ULL; 6924 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000ULL; 6925 static const VkAccessFlagBits2 VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT = 0x20000000000ULL; 6926 static const VkAccessFlagBits2 VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI = 0x8000000000ULL; 6927 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR = 0x10000000000ULL; 6928 static const VkAccessFlagBits2 VK_ACCESS_2_MICROMAP_READ_BIT_EXT = 0x100000000000ULL; 6929 static const VkAccessFlagBits2 VK_ACCESS_2_MICROMAP_WRITE_BIT_EXT = 0x200000000000ULL; 6930 static const VkAccessFlagBits2 VK_ACCESS_2_OPTICAL_FLOW_READ_BIT_NV = 0x40000000000ULL; 6931 static const VkAccessFlagBits2 VK_ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV = 0x80000000000ULL; 6932 6933 6934 typedef enum VkSubmitFlagBits { 6935 VK_SUBMIT_PROTECTED_BIT = 0x00000001, 6936 VK_SUBMIT_PROTECTED_BIT_KHR = VK_SUBMIT_PROTECTED_BIT, 6937 VK_SUBMIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 6938 } VkSubmitFlagBits; 6939 typedef VkFlags VkSubmitFlags; 6940 6941 typedef enum VkRenderingFlagBits { 6942 VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT = 0x00000001, 6943 VK_RENDERING_SUSPENDING_BIT = 0x00000002, 6944 VK_RENDERING_RESUMING_BIT = 0x00000004, 6945 VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT = 0x00000008, 6946 VK_RENDERING_CONTENTS_INLINE_BIT_KHR = 0x00000010, 6947 VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT, 6948 VK_RENDERING_SUSPENDING_BIT_KHR = VK_RENDERING_SUSPENDING_BIT, 6949 VK_RENDERING_RESUMING_BIT_KHR = VK_RENDERING_RESUMING_BIT, 6950 VK_RENDERING_CONTENTS_INLINE_BIT_EXT = VK_RENDERING_CONTENTS_INLINE_BIT_KHR, 6951 VK_RENDERING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 6952 } VkRenderingFlagBits; 6953 typedef VkFlags VkRenderingFlags; 6954 typedef VkFlags64 VkFormatFeatureFlags2; 6955 6956 // Flag bits for VkFormatFeatureFlagBits2 6957 typedef VkFlags64 VkFormatFeatureFlagBits2; 6958 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT = 0x00000001ULL; 6959 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT = 0x00000002ULL; 6960 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004ULL; 6961 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008ULL; 6962 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT = 0x00000010ULL; 6963 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020ULL; 6964 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT = 0x00000040ULL; 6965 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT = 0x00000080ULL; 6966 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100ULL; 6967 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200ULL; 6968 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_SRC_BIT = 0x00000400ULL; 6969 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_DST_BIT = 0x00000800ULL; 6970 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000ULL; 6971 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT = 0x00004000ULL; 6972 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT = 0x00008000ULL; 6973 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000ULL; 6974 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000ULL; 6975 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000ULL; 6976 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000ULL; 6977 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000ULL; 6978 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000ULL; 6979 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DISJOINT_BIT = 0x00400000ULL; 6980 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT = 0x00800000ULL; 6981 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT = 0x80000000ULL; 6982 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT = 0x100000000ULL; 6983 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT = 0x200000000ULL; 6984 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT = 0x00002000ULL; 6985 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_HOST_IMAGE_TRANSFER_BIT = 0x400000000000ULL; 6986 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000ULL; 6987 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000ULL; 6988 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000ULL; 6989 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000ULL; 6990 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000ULL; 6991 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_HOST_IMAGE_TRANSFER_BIT_EXT = 0x400000000000ULL; 6992 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000ULL; 6993 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000ULL; 6994 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR = 0x00000001ULL; 6995 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR = 0x00000002ULL; 6996 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR = 0x00000004ULL; 6997 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR = 0x00000008ULL; 6998 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT_KHR = 0x00000010ULL; 6999 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR = 0x00000020ULL; 7000 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR = 0x00000040ULL; 7001 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR = 0x00000080ULL; 7002 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR = 0x00000100ULL; 7003 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR = 0x00000200ULL; 7004 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR = 0x00000400ULL; 7005 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_DST_BIT_KHR = 0x00000800ULL; 7006 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR = 0x00001000ULL; 7007 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR = 0x00004000ULL; 7008 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR = 0x00008000ULL; 7009 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = 0x00020000ULL; 7010 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = 0x00040000ULL; 7011 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = 0x00080000ULL; 7012 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = 0x00100000ULL; 7013 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR = 0x00200000ULL; 7014 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DISJOINT_BIT_KHR = 0x00400000ULL; 7015 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR = 0x00800000ULL; 7016 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR = 0x80000000ULL; 7017 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR = 0x100000000ULL; 7018 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR = 0x200000000ULL; 7019 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR = 0x00010000ULL; 7020 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = 0x00002000ULL; 7021 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_RADIUS_BUFFER_BIT_NV = 0x8000000000000ULL; 7022 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV = 0x4000000000ULL; 7023 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM = 0x400000000ULL; 7024 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM = 0x800000000ULL; 7025 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM = 0x1000000000ULL; 7026 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM = 0x2000000000ULL; 7027 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_IMAGE_BIT_NV = 0x10000000000ULL; 7028 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_VECTOR_BIT_NV = 0x20000000000ULL; 7029 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_COST_BIT_NV = 0x40000000000ULL; 7030 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR = 0x2000000000000ULL; 7031 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_EMPHASIS_MAP_BIT_KHR = 0x4000000000000ULL; 7032 7033 typedef struct VkPhysicalDeviceVulkan13Features { 7034 VkStructureType sType; 7035 void* pNext; 7036 VkBool32 robustImageAccess; 7037 VkBool32 inlineUniformBlock; 7038 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind; 7039 VkBool32 pipelineCreationCacheControl; 7040 VkBool32 privateData; 7041 VkBool32 shaderDemoteToHelperInvocation; 7042 VkBool32 shaderTerminateInvocation; 7043 VkBool32 subgroupSizeControl; 7044 VkBool32 computeFullSubgroups; 7045 VkBool32 synchronization2; 7046 VkBool32 textureCompressionASTC_HDR; 7047 VkBool32 shaderZeroInitializeWorkgroupMemory; 7048 VkBool32 dynamicRendering; 7049 VkBool32 shaderIntegerDotProduct; 7050 VkBool32 maintenance4; 7051 } VkPhysicalDeviceVulkan13Features; 7052 7053 typedef struct VkPhysicalDeviceVulkan13Properties { 7054 VkStructureType sType; 7055 void* pNext; 7056 uint32_t minSubgroupSize; 7057 uint32_t maxSubgroupSize; 7058 uint32_t maxComputeWorkgroupSubgroups; 7059 VkShaderStageFlags requiredSubgroupSizeStages; 7060 uint32_t maxInlineUniformBlockSize; 7061 uint32_t maxPerStageDescriptorInlineUniformBlocks; 7062 uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks; 7063 uint32_t maxDescriptorSetInlineUniformBlocks; 7064 uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks; 7065 uint32_t maxInlineUniformTotalSize; 7066 VkBool32 integerDotProduct8BitUnsignedAccelerated; 7067 VkBool32 integerDotProduct8BitSignedAccelerated; 7068 VkBool32 integerDotProduct8BitMixedSignednessAccelerated; 7069 VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated; 7070 VkBool32 integerDotProduct4x8BitPackedSignedAccelerated; 7071 VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated; 7072 VkBool32 integerDotProduct16BitUnsignedAccelerated; 7073 VkBool32 integerDotProduct16BitSignedAccelerated; 7074 VkBool32 integerDotProduct16BitMixedSignednessAccelerated; 7075 VkBool32 integerDotProduct32BitUnsignedAccelerated; 7076 VkBool32 integerDotProduct32BitSignedAccelerated; 7077 VkBool32 integerDotProduct32BitMixedSignednessAccelerated; 7078 VkBool32 integerDotProduct64BitUnsignedAccelerated; 7079 VkBool32 integerDotProduct64BitSignedAccelerated; 7080 VkBool32 integerDotProduct64BitMixedSignednessAccelerated; 7081 VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated; 7082 VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated; 7083 VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated; 7084 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated; 7085 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated; 7086 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated; 7087 VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated; 7088 VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated; 7089 VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated; 7090 VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated; 7091 VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated; 7092 VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated; 7093 VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated; 7094 VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated; 7095 VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated; 7096 VkDeviceSize storageTexelBufferOffsetAlignmentBytes; 7097 VkBool32 storageTexelBufferOffsetSingleTexelAlignment; 7098 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes; 7099 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment; 7100 VkDeviceSize maxBufferSize; 7101 } VkPhysicalDeviceVulkan13Properties; 7102 7103 typedef struct VkPipelineCreationFeedback { 7104 VkPipelineCreationFeedbackFlags flags; 7105 uint64_t duration; 7106 } VkPipelineCreationFeedback; 7107 7108 typedef struct VkPipelineCreationFeedbackCreateInfo { 7109 VkStructureType sType; 7110 const void* pNext; 7111 VkPipelineCreationFeedback* pPipelineCreationFeedback; 7112 uint32_t pipelineStageCreationFeedbackCount; 7113 VkPipelineCreationFeedback* pPipelineStageCreationFeedbacks; 7114 } VkPipelineCreationFeedbackCreateInfo; 7115 7116 typedef struct VkPhysicalDeviceShaderTerminateInvocationFeatures { 7117 VkStructureType sType; 7118 void* pNext; 7119 VkBool32 shaderTerminateInvocation; 7120 } VkPhysicalDeviceShaderTerminateInvocationFeatures; 7121 7122 typedef struct VkPhysicalDeviceToolProperties { 7123 VkStructureType sType; 7124 void* pNext; 7125 char name[VK_MAX_EXTENSION_NAME_SIZE]; 7126 char version[VK_MAX_EXTENSION_NAME_SIZE]; 7127 VkToolPurposeFlags purposes; 7128 char description[VK_MAX_DESCRIPTION_SIZE]; 7129 char layer[VK_MAX_EXTENSION_NAME_SIZE]; 7130 } VkPhysicalDeviceToolProperties; 7131 7132 typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures { 7133 VkStructureType sType; 7134 void* pNext; 7135 VkBool32 shaderDemoteToHelperInvocation; 7136 } VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures; 7137 7138 typedef struct VkPhysicalDevicePrivateDataFeatures { 7139 VkStructureType sType; 7140 void* pNext; 7141 VkBool32 privateData; 7142 } VkPhysicalDevicePrivateDataFeatures; 7143 7144 typedef struct VkDevicePrivateDataCreateInfo { 7145 VkStructureType sType; 7146 const void* pNext; 7147 uint32_t privateDataSlotRequestCount; 7148 } VkDevicePrivateDataCreateInfo; 7149 7150 typedef struct VkPrivateDataSlotCreateInfo { 7151 VkStructureType sType; 7152 const void* pNext; 7153 VkPrivateDataSlotCreateFlags flags; 7154 } VkPrivateDataSlotCreateInfo; 7155 7156 typedef struct VkPhysicalDevicePipelineCreationCacheControlFeatures { 7157 VkStructureType sType; 7158 void* pNext; 7159 VkBool32 pipelineCreationCacheControl; 7160 } VkPhysicalDevicePipelineCreationCacheControlFeatures; 7161 7162 typedef struct VkMemoryBarrier2 { 7163 VkStructureType sType; 7164 const void* pNext; 7165 VkPipelineStageFlags2 srcStageMask; 7166 VkAccessFlags2 srcAccessMask; 7167 VkPipelineStageFlags2 dstStageMask; 7168 VkAccessFlags2 dstAccessMask; 7169 } VkMemoryBarrier2; 7170 7171 typedef struct VkBufferMemoryBarrier2 { 7172 VkStructureType sType; 7173 const void* pNext; 7174 VkPipelineStageFlags2 srcStageMask; 7175 VkAccessFlags2 srcAccessMask; 7176 VkPipelineStageFlags2 dstStageMask; 7177 VkAccessFlags2 dstAccessMask; 7178 uint32_t srcQueueFamilyIndex; 7179 uint32_t dstQueueFamilyIndex; 7180 VkBuffer buffer; 7181 VkDeviceSize offset; 7182 VkDeviceSize size; 7183 } VkBufferMemoryBarrier2; 7184 7185 typedef struct VkImageMemoryBarrier2 { 7186 VkStructureType sType; 7187 const void* pNext; 7188 VkPipelineStageFlags2 srcStageMask; 7189 VkAccessFlags2 srcAccessMask; 7190 VkPipelineStageFlags2 dstStageMask; 7191 VkAccessFlags2 dstAccessMask; 7192 VkImageLayout oldLayout; 7193 VkImageLayout newLayout; 7194 uint32_t srcQueueFamilyIndex; 7195 uint32_t dstQueueFamilyIndex; 7196 VkImage image; 7197 VkImageSubresourceRange subresourceRange; 7198 } VkImageMemoryBarrier2; 7199 7200 typedef struct VkDependencyInfo { 7201 VkStructureType sType; 7202 const void* pNext; 7203 VkDependencyFlags dependencyFlags; 7204 uint32_t memoryBarrierCount; 7205 const VkMemoryBarrier2* pMemoryBarriers; 7206 uint32_t bufferMemoryBarrierCount; 7207 const VkBufferMemoryBarrier2* pBufferMemoryBarriers; 7208 uint32_t imageMemoryBarrierCount; 7209 const VkImageMemoryBarrier2* pImageMemoryBarriers; 7210 } VkDependencyInfo; 7211 7212 typedef struct VkSemaphoreSubmitInfo { 7213 VkStructureType sType; 7214 const void* pNext; 7215 VkSemaphore semaphore; 7216 uint64_t value; 7217 VkPipelineStageFlags2 stageMask; 7218 uint32_t deviceIndex; 7219 } VkSemaphoreSubmitInfo; 7220 7221 typedef struct VkCommandBufferSubmitInfo { 7222 VkStructureType sType; 7223 const void* pNext; 7224 VkCommandBuffer commandBuffer; 7225 uint32_t deviceMask; 7226 } VkCommandBufferSubmitInfo; 7227 7228 typedef struct VkSubmitInfo2 { 7229 VkStructureType sType; 7230 const void* pNext; 7231 VkSubmitFlags flags; 7232 uint32_t waitSemaphoreInfoCount; 7233 const VkSemaphoreSubmitInfo* pWaitSemaphoreInfos; 7234 uint32_t commandBufferInfoCount; 7235 const VkCommandBufferSubmitInfo* pCommandBufferInfos; 7236 uint32_t signalSemaphoreInfoCount; 7237 const VkSemaphoreSubmitInfo* pSignalSemaphoreInfos; 7238 } VkSubmitInfo2; 7239 7240 typedef struct VkPhysicalDeviceSynchronization2Features { 7241 VkStructureType sType; 7242 void* pNext; 7243 VkBool32 synchronization2; 7244 } VkPhysicalDeviceSynchronization2Features; 7245 7246 typedef struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures { 7247 VkStructureType sType; 7248 void* pNext; 7249 VkBool32 shaderZeroInitializeWorkgroupMemory; 7250 } VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures; 7251 7252 typedef struct VkPhysicalDeviceImageRobustnessFeatures { 7253 VkStructureType sType; 7254 void* pNext; 7255 VkBool32 robustImageAccess; 7256 } VkPhysicalDeviceImageRobustnessFeatures; 7257 7258 typedef struct VkBufferCopy2 { 7259 VkStructureType sType; 7260 const void* pNext; 7261 VkDeviceSize srcOffset; 7262 VkDeviceSize dstOffset; 7263 VkDeviceSize size; 7264 } VkBufferCopy2; 7265 7266 typedef struct VkCopyBufferInfo2 { 7267 VkStructureType sType; 7268 const void* pNext; 7269 VkBuffer srcBuffer; 7270 VkBuffer dstBuffer; 7271 uint32_t regionCount; 7272 const VkBufferCopy2* pRegions; 7273 } VkCopyBufferInfo2; 7274 7275 typedef struct VkImageCopy2 { 7276 VkStructureType sType; 7277 const void* pNext; 7278 VkImageSubresourceLayers srcSubresource; 7279 VkOffset3D srcOffset; 7280 VkImageSubresourceLayers dstSubresource; 7281 VkOffset3D dstOffset; 7282 VkExtent3D extent; 7283 } VkImageCopy2; 7284 7285 typedef struct VkCopyImageInfo2 { 7286 VkStructureType sType; 7287 const void* pNext; 7288 VkImage srcImage; 7289 VkImageLayout srcImageLayout; 7290 VkImage dstImage; 7291 VkImageLayout dstImageLayout; 7292 uint32_t regionCount; 7293 const VkImageCopy2* pRegions; 7294 } VkCopyImageInfo2; 7295 7296 typedef struct VkBufferImageCopy2 { 7297 VkStructureType sType; 7298 const void* pNext; 7299 VkDeviceSize bufferOffset; 7300 uint32_t bufferRowLength; 7301 uint32_t bufferImageHeight; 7302 VkImageSubresourceLayers imageSubresource; 7303 VkOffset3D imageOffset; 7304 VkExtent3D imageExtent; 7305 } VkBufferImageCopy2; 7306 7307 typedef struct VkCopyBufferToImageInfo2 { 7308 VkStructureType sType; 7309 const void* pNext; 7310 VkBuffer srcBuffer; 7311 VkImage dstImage; 7312 VkImageLayout dstImageLayout; 7313 uint32_t regionCount; 7314 const VkBufferImageCopy2* pRegions; 7315 } VkCopyBufferToImageInfo2; 7316 7317 typedef struct VkCopyImageToBufferInfo2 { 7318 VkStructureType sType; 7319 const void* pNext; 7320 VkImage srcImage; 7321 VkImageLayout srcImageLayout; 7322 VkBuffer dstBuffer; 7323 uint32_t regionCount; 7324 const VkBufferImageCopy2* pRegions; 7325 } VkCopyImageToBufferInfo2; 7326 7327 typedef struct VkImageBlit2 { 7328 VkStructureType sType; 7329 const void* pNext; 7330 VkImageSubresourceLayers srcSubresource; 7331 VkOffset3D srcOffsets[2]; 7332 VkImageSubresourceLayers dstSubresource; 7333 VkOffset3D dstOffsets[2]; 7334 } VkImageBlit2; 7335 7336 typedef struct VkBlitImageInfo2 { 7337 VkStructureType sType; 7338 const void* pNext; 7339 VkImage srcImage; 7340 VkImageLayout srcImageLayout; 7341 VkImage dstImage; 7342 VkImageLayout dstImageLayout; 7343 uint32_t regionCount; 7344 const VkImageBlit2* pRegions; 7345 VkFilter filter; 7346 } VkBlitImageInfo2; 7347 7348 typedef struct VkImageResolve2 { 7349 VkStructureType sType; 7350 const void* pNext; 7351 VkImageSubresourceLayers srcSubresource; 7352 VkOffset3D srcOffset; 7353 VkImageSubresourceLayers dstSubresource; 7354 VkOffset3D dstOffset; 7355 VkExtent3D extent; 7356 } VkImageResolve2; 7357 7358 typedef struct VkResolveImageInfo2 { 7359 VkStructureType sType; 7360 const void* pNext; 7361 VkImage srcImage; 7362 VkImageLayout srcImageLayout; 7363 VkImage dstImage; 7364 VkImageLayout dstImageLayout; 7365 uint32_t regionCount; 7366 const VkImageResolve2* pRegions; 7367 } VkResolveImageInfo2; 7368 7369 typedef struct VkPhysicalDeviceSubgroupSizeControlFeatures { 7370 VkStructureType sType; 7371 void* pNext; 7372 VkBool32 subgroupSizeControl; 7373 VkBool32 computeFullSubgroups; 7374 } VkPhysicalDeviceSubgroupSizeControlFeatures; 7375 7376 typedef struct VkPhysicalDeviceSubgroupSizeControlProperties { 7377 VkStructureType sType; 7378 void* pNext; 7379 uint32_t minSubgroupSize; 7380 uint32_t maxSubgroupSize; 7381 uint32_t maxComputeWorkgroupSubgroups; 7382 VkShaderStageFlags requiredSubgroupSizeStages; 7383 } VkPhysicalDeviceSubgroupSizeControlProperties; 7384 7385 typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfo { 7386 VkStructureType sType; 7387 void* pNext; 7388 uint32_t requiredSubgroupSize; 7389 } VkPipelineShaderStageRequiredSubgroupSizeCreateInfo; 7390 7391 typedef struct VkPhysicalDeviceInlineUniformBlockFeatures { 7392 VkStructureType sType; 7393 void* pNext; 7394 VkBool32 inlineUniformBlock; 7395 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind; 7396 } VkPhysicalDeviceInlineUniformBlockFeatures; 7397 7398 typedef struct VkPhysicalDeviceInlineUniformBlockProperties { 7399 VkStructureType sType; 7400 void* pNext; 7401 uint32_t maxInlineUniformBlockSize; 7402 uint32_t maxPerStageDescriptorInlineUniformBlocks; 7403 uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks; 7404 uint32_t maxDescriptorSetInlineUniformBlocks; 7405 uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks; 7406 } VkPhysicalDeviceInlineUniformBlockProperties; 7407 7408 typedef struct VkWriteDescriptorSetInlineUniformBlock { 7409 VkStructureType sType; 7410 const void* pNext; 7411 uint32_t dataSize; 7412 const void* pData; 7413 } VkWriteDescriptorSetInlineUniformBlock; 7414 7415 typedef struct VkDescriptorPoolInlineUniformBlockCreateInfo { 7416 VkStructureType sType; 7417 const void* pNext; 7418 uint32_t maxInlineUniformBlockBindings; 7419 } VkDescriptorPoolInlineUniformBlockCreateInfo; 7420 7421 typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeatures { 7422 VkStructureType sType; 7423 void* pNext; 7424 VkBool32 textureCompressionASTC_HDR; 7425 } VkPhysicalDeviceTextureCompressionASTCHDRFeatures; 7426 7427 typedef struct VkRenderingAttachmentInfo { 7428 VkStructureType sType; 7429 const void* pNext; 7430 VkImageView imageView; 7431 VkImageLayout imageLayout; 7432 VkResolveModeFlagBits resolveMode; 7433 VkImageView resolveImageView; 7434 VkImageLayout resolveImageLayout; 7435 VkAttachmentLoadOp loadOp; 7436 VkAttachmentStoreOp storeOp; 7437 VkClearValue clearValue; 7438 } VkRenderingAttachmentInfo; 7439 7440 typedef struct VkRenderingInfo { 7441 VkStructureType sType; 7442 const void* pNext; 7443 VkRenderingFlags flags; 7444 VkRect2D renderArea; 7445 uint32_t layerCount; 7446 uint32_t viewMask; 7447 uint32_t colorAttachmentCount; 7448 const VkRenderingAttachmentInfo* pColorAttachments; 7449 const VkRenderingAttachmentInfo* pDepthAttachment; 7450 const VkRenderingAttachmentInfo* pStencilAttachment; 7451 } VkRenderingInfo; 7452 7453 typedef struct VkPipelineRenderingCreateInfo { 7454 VkStructureType sType; 7455 const void* pNext; 7456 uint32_t viewMask; 7457 uint32_t colorAttachmentCount; 7458 const VkFormat* pColorAttachmentFormats; 7459 VkFormat depthAttachmentFormat; 7460 VkFormat stencilAttachmentFormat; 7461 } VkPipelineRenderingCreateInfo; 7462 7463 typedef struct VkPhysicalDeviceDynamicRenderingFeatures { 7464 VkStructureType sType; 7465 void* pNext; 7466 VkBool32 dynamicRendering; 7467 } VkPhysicalDeviceDynamicRenderingFeatures; 7468 7469 typedef struct VkCommandBufferInheritanceRenderingInfo { 7470 VkStructureType sType; 7471 const void* pNext; 7472 VkRenderingFlags flags; 7473 uint32_t viewMask; 7474 uint32_t colorAttachmentCount; 7475 const VkFormat* pColorAttachmentFormats; 7476 VkFormat depthAttachmentFormat; 7477 VkFormat stencilAttachmentFormat; 7478 VkSampleCountFlagBits rasterizationSamples; 7479 } VkCommandBufferInheritanceRenderingInfo; 7480 7481 typedef struct VkPhysicalDeviceShaderIntegerDotProductFeatures { 7482 VkStructureType sType; 7483 void* pNext; 7484 VkBool32 shaderIntegerDotProduct; 7485 } VkPhysicalDeviceShaderIntegerDotProductFeatures; 7486 7487 typedef struct VkPhysicalDeviceShaderIntegerDotProductProperties { 7488 VkStructureType sType; 7489 void* pNext; 7490 VkBool32 integerDotProduct8BitUnsignedAccelerated; 7491 VkBool32 integerDotProduct8BitSignedAccelerated; 7492 VkBool32 integerDotProduct8BitMixedSignednessAccelerated; 7493 VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated; 7494 VkBool32 integerDotProduct4x8BitPackedSignedAccelerated; 7495 VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated; 7496 VkBool32 integerDotProduct16BitUnsignedAccelerated; 7497 VkBool32 integerDotProduct16BitSignedAccelerated; 7498 VkBool32 integerDotProduct16BitMixedSignednessAccelerated; 7499 VkBool32 integerDotProduct32BitUnsignedAccelerated; 7500 VkBool32 integerDotProduct32BitSignedAccelerated; 7501 VkBool32 integerDotProduct32BitMixedSignednessAccelerated; 7502 VkBool32 integerDotProduct64BitUnsignedAccelerated; 7503 VkBool32 integerDotProduct64BitSignedAccelerated; 7504 VkBool32 integerDotProduct64BitMixedSignednessAccelerated; 7505 VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated; 7506 VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated; 7507 VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated; 7508 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated; 7509 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated; 7510 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated; 7511 VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated; 7512 VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated; 7513 VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated; 7514 VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated; 7515 VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated; 7516 VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated; 7517 VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated; 7518 VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated; 7519 VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated; 7520 } VkPhysicalDeviceShaderIntegerDotProductProperties; 7521 7522 typedef struct VkPhysicalDeviceTexelBufferAlignmentProperties { 7523 VkStructureType sType; 7524 void* pNext; 7525 VkDeviceSize storageTexelBufferOffsetAlignmentBytes; 7526 VkBool32 storageTexelBufferOffsetSingleTexelAlignment; 7527 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes; 7528 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment; 7529 } VkPhysicalDeviceTexelBufferAlignmentProperties; 7530 7531 typedef struct VkFormatProperties3 { 7532 VkStructureType sType; 7533 void* pNext; 7534 VkFormatFeatureFlags2 linearTilingFeatures; 7535 VkFormatFeatureFlags2 optimalTilingFeatures; 7536 VkFormatFeatureFlags2 bufferFeatures; 7537 } VkFormatProperties3; 7538 7539 typedef struct VkPhysicalDeviceMaintenance4Features { 7540 VkStructureType sType; 7541 void* pNext; 7542 VkBool32 maintenance4; 7543 } VkPhysicalDeviceMaintenance4Features; 7544 7545 typedef struct VkPhysicalDeviceMaintenance4Properties { 7546 VkStructureType sType; 7547 void* pNext; 7548 VkDeviceSize maxBufferSize; 7549 } VkPhysicalDeviceMaintenance4Properties; 7550 7551 typedef struct VkDeviceBufferMemoryRequirements { 7552 VkStructureType sType; 7553 const void* pNext; 7554 const VkBufferCreateInfo* pCreateInfo; 7555 } VkDeviceBufferMemoryRequirements; 7556 7557 typedef struct VkDeviceImageMemoryRequirements { 7558 VkStructureType sType; 7559 const void* pNext; 7560 const VkImageCreateInfo* pCreateInfo; 7561 VkImageAspectFlagBits planeAspect; 7562 } VkDeviceImageMemoryRequirements; 7563 7564 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolProperties)(VkPhysicalDevice physicalDevice, uint32_t* pToolCount, VkPhysicalDeviceToolProperties* pToolProperties); 7565 typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlot)(VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot); 7566 typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlot)(VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator); 7567 typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateData)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data); 7568 typedef void (VKAPI_PTR *PFN_vkGetPrivateData)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t* pData); 7569 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo); 7570 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask); 7571 typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos); 7572 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2)(VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo); 7573 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query); 7574 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence); 7575 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo); 7576 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo); 7577 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo); 7578 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo); 7579 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo); 7580 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo); 7581 typedef void (VKAPI_PTR *PFN_vkCmdBeginRendering)(VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo); 7582 typedef void (VKAPI_PTR *PFN_vkCmdEndRendering)(VkCommandBuffer commandBuffer); 7583 typedef void (VKAPI_PTR *PFN_vkCmdSetCullMode)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode); 7584 typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFace)(VkCommandBuffer commandBuffer, VkFrontFace frontFace); 7585 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopology)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology); 7586 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCount)(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports); 7587 typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCount)(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors); 7588 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers2)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides); 7589 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnable)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable); 7590 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnable)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable); 7591 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOp)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp); 7592 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnable)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable); 7593 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnable)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable); 7594 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOp)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp); 7595 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnable)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable); 7596 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnable)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable); 7597 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnable)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable); 7598 typedef void (VKAPI_PTR *PFN_vkGetDeviceBufferMemoryRequirements)(VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements); 7599 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageMemoryRequirements)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements); 7600 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSparseMemoryRequirements)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 7601 7602 #ifndef VK_NO_PROTOTYPES 7603 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolProperties( 7604 VkPhysicalDevice physicalDevice, 7605 uint32_t* pToolCount, 7606 VkPhysicalDeviceToolProperties* pToolProperties); 7607 7608 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlot( 7609 VkDevice device, 7610 const VkPrivateDataSlotCreateInfo* pCreateInfo, 7611 const VkAllocationCallbacks* pAllocator, 7612 VkPrivateDataSlot* pPrivateDataSlot); 7613 7614 VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlot( 7615 VkDevice device, 7616 VkPrivateDataSlot privateDataSlot, 7617 const VkAllocationCallbacks* pAllocator); 7618 7619 VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateData( 7620 VkDevice device, 7621 VkObjectType objectType, 7622 uint64_t objectHandle, 7623 VkPrivateDataSlot privateDataSlot, 7624 uint64_t data); 7625 7626 VKAPI_ATTR void VKAPI_CALL vkGetPrivateData( 7627 VkDevice device, 7628 VkObjectType objectType, 7629 uint64_t objectHandle, 7630 VkPrivateDataSlot privateDataSlot, 7631 uint64_t* pData); 7632 7633 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2( 7634 VkCommandBuffer commandBuffer, 7635 VkEvent event, 7636 const VkDependencyInfo* pDependencyInfo); 7637 7638 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2( 7639 VkCommandBuffer commandBuffer, 7640 VkEvent event, 7641 VkPipelineStageFlags2 stageMask); 7642 7643 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2( 7644 VkCommandBuffer commandBuffer, 7645 uint32_t eventCount, 7646 const VkEvent* pEvents, 7647 const VkDependencyInfo* pDependencyInfos); 7648 7649 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2( 7650 VkCommandBuffer commandBuffer, 7651 const VkDependencyInfo* pDependencyInfo); 7652 7653 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2( 7654 VkCommandBuffer commandBuffer, 7655 VkPipelineStageFlags2 stage, 7656 VkQueryPool queryPool, 7657 uint32_t query); 7658 7659 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2( 7660 VkQueue queue, 7661 uint32_t submitCount, 7662 const VkSubmitInfo2* pSubmits, 7663 VkFence fence); 7664 7665 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2( 7666 VkCommandBuffer commandBuffer, 7667 const VkCopyBufferInfo2* pCopyBufferInfo); 7668 7669 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2( 7670 VkCommandBuffer commandBuffer, 7671 const VkCopyImageInfo2* pCopyImageInfo); 7672 7673 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2( 7674 VkCommandBuffer commandBuffer, 7675 const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo); 7676 7677 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2( 7678 VkCommandBuffer commandBuffer, 7679 const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo); 7680 7681 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2( 7682 VkCommandBuffer commandBuffer, 7683 const VkBlitImageInfo2* pBlitImageInfo); 7684 7685 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2( 7686 VkCommandBuffer commandBuffer, 7687 const VkResolveImageInfo2* pResolveImageInfo); 7688 7689 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRendering( 7690 VkCommandBuffer commandBuffer, 7691 const VkRenderingInfo* pRenderingInfo); 7692 7693 VKAPI_ATTR void VKAPI_CALL vkCmdEndRendering( 7694 VkCommandBuffer commandBuffer); 7695 7696 VKAPI_ATTR void VKAPI_CALL vkCmdSetCullMode( 7697 VkCommandBuffer commandBuffer, 7698 VkCullModeFlags cullMode); 7699 7700 VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFace( 7701 VkCommandBuffer commandBuffer, 7702 VkFrontFace frontFace); 7703 7704 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopology( 7705 VkCommandBuffer commandBuffer, 7706 VkPrimitiveTopology primitiveTopology); 7707 7708 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCount( 7709 VkCommandBuffer commandBuffer, 7710 uint32_t viewportCount, 7711 const VkViewport* pViewports); 7712 7713 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCount( 7714 VkCommandBuffer commandBuffer, 7715 uint32_t scissorCount, 7716 const VkRect2D* pScissors); 7717 7718 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2( 7719 VkCommandBuffer commandBuffer, 7720 uint32_t firstBinding, 7721 uint32_t bindingCount, 7722 const VkBuffer* pBuffers, 7723 const VkDeviceSize* pOffsets, 7724 const VkDeviceSize* pSizes, 7725 const VkDeviceSize* pStrides); 7726 7727 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnable( 7728 VkCommandBuffer commandBuffer, 7729 VkBool32 depthTestEnable); 7730 7731 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnable( 7732 VkCommandBuffer commandBuffer, 7733 VkBool32 depthWriteEnable); 7734 7735 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOp( 7736 VkCommandBuffer commandBuffer, 7737 VkCompareOp depthCompareOp); 7738 7739 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnable( 7740 VkCommandBuffer commandBuffer, 7741 VkBool32 depthBoundsTestEnable); 7742 7743 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnable( 7744 VkCommandBuffer commandBuffer, 7745 VkBool32 stencilTestEnable); 7746 7747 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOp( 7748 VkCommandBuffer commandBuffer, 7749 VkStencilFaceFlags faceMask, 7750 VkStencilOp failOp, 7751 VkStencilOp passOp, 7752 VkStencilOp depthFailOp, 7753 VkCompareOp compareOp); 7754 7755 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnable( 7756 VkCommandBuffer commandBuffer, 7757 VkBool32 rasterizerDiscardEnable); 7758 7759 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnable( 7760 VkCommandBuffer commandBuffer, 7761 VkBool32 depthBiasEnable); 7762 7763 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnable( 7764 VkCommandBuffer commandBuffer, 7765 VkBool32 primitiveRestartEnable); 7766 7767 VKAPI_ATTR void VKAPI_CALL vkGetDeviceBufferMemoryRequirements( 7768 VkDevice device, 7769 const VkDeviceBufferMemoryRequirements* pInfo, 7770 VkMemoryRequirements2* pMemoryRequirements); 7771 7772 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageMemoryRequirements( 7773 VkDevice device, 7774 const VkDeviceImageMemoryRequirements* pInfo, 7775 VkMemoryRequirements2* pMemoryRequirements); 7776 7777 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSparseMemoryRequirements( 7778 VkDevice device, 7779 const VkDeviceImageMemoryRequirements* pInfo, 7780 uint32_t* pSparseMemoryRequirementCount, 7781 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 7782 #endif 7783 7784 7785 // VK_VERSION_1_4 is a preprocessor guard. Do not pass it to API calls. 7786 #define VK_VERSION_1_4 1 7787 // Vulkan 1.4 version number 7788 #define VK_API_VERSION_1_4 VK_MAKE_API_VERSION(0, 1, 4, 0)// Patch version should always be set to 0 7789 7790 #define VK_MAX_GLOBAL_PRIORITY_SIZE 16U 7791 7792 typedef enum VkPipelineRobustnessBufferBehavior { 7793 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT = 0, 7794 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED = 1, 7795 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS = 2, 7796 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2 = 3, 7797 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT_EXT = VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT, 7798 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED_EXT = VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED, 7799 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT = VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS, 7800 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT = VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2, 7801 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF 7802 } VkPipelineRobustnessBufferBehavior; 7803 7804 typedef enum VkPipelineRobustnessImageBehavior { 7805 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DEVICE_DEFAULT = 0, 7806 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DISABLED = 1, 7807 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS = 2, 7808 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_2 = 3, 7809 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DEVICE_DEFAULT_EXT = VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DEVICE_DEFAULT, 7810 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DISABLED_EXT = VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DISABLED, 7811 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_EXT = VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS, 7812 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_2_EXT = VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_2, 7813 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF 7814 } VkPipelineRobustnessImageBehavior; 7815 7816 typedef enum VkQueueGlobalPriority { 7817 VK_QUEUE_GLOBAL_PRIORITY_LOW = 128, 7818 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM = 256, 7819 VK_QUEUE_GLOBAL_PRIORITY_HIGH = 512, 7820 VK_QUEUE_GLOBAL_PRIORITY_REALTIME = 1024, 7821 VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = VK_QUEUE_GLOBAL_PRIORITY_LOW, 7822 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = VK_QUEUE_GLOBAL_PRIORITY_MEDIUM, 7823 VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = VK_QUEUE_GLOBAL_PRIORITY_HIGH, 7824 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = VK_QUEUE_GLOBAL_PRIORITY_REALTIME, 7825 VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR = VK_QUEUE_GLOBAL_PRIORITY_LOW, 7826 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR = VK_QUEUE_GLOBAL_PRIORITY_MEDIUM, 7827 VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR = VK_QUEUE_GLOBAL_PRIORITY_HIGH, 7828 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR = VK_QUEUE_GLOBAL_PRIORITY_REALTIME, 7829 VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM = 0x7FFFFFFF 7830 } VkQueueGlobalPriority; 7831 7832 typedef enum VkLineRasterizationMode { 7833 VK_LINE_RASTERIZATION_MODE_DEFAULT = 0, 7834 VK_LINE_RASTERIZATION_MODE_RECTANGULAR = 1, 7835 VK_LINE_RASTERIZATION_MODE_BRESENHAM = 2, 7836 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH = 3, 7837 VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = VK_LINE_RASTERIZATION_MODE_DEFAULT, 7838 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = VK_LINE_RASTERIZATION_MODE_RECTANGULAR, 7839 VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = VK_LINE_RASTERIZATION_MODE_BRESENHAM, 7840 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH, 7841 VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR = VK_LINE_RASTERIZATION_MODE_DEFAULT, 7842 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR = VK_LINE_RASTERIZATION_MODE_RECTANGULAR, 7843 VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR = VK_LINE_RASTERIZATION_MODE_BRESENHAM, 7844 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH, 7845 VK_LINE_RASTERIZATION_MODE_MAX_ENUM = 0x7FFFFFFF 7846 } VkLineRasterizationMode; 7847 7848 typedef enum VkMemoryUnmapFlagBits { 7849 VK_MEMORY_UNMAP_RESERVE_BIT_EXT = 0x00000001, 7850 VK_MEMORY_UNMAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 7851 } VkMemoryUnmapFlagBits; 7852 typedef VkFlags VkMemoryUnmapFlags; 7853 typedef VkFlags64 VkPipelineCreateFlags2; 7854 7855 // Flag bits for VkPipelineCreateFlagBits2 7856 typedef VkFlags64 VkPipelineCreateFlagBits2; 7857 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT = 0x00000001ULL; 7858 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT = 0x00000002ULL; 7859 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DERIVATIVE_BIT = 0x00000004ULL; 7860 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008ULL; 7861 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DISPATCH_BASE_BIT = 0x00000010ULL; 7862 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = 0x00000100ULL; 7863 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_EARLY_RETURN_ON_FAILURE_BIT = 0x00000200ULL; 7864 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT = 0x08000000ULL; 7865 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT = 0x40000000ULL; 7866 #ifdef VK_ENABLE_BETA_EXTENSIONS 7867 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_EXECUTION_GRAPH_BIT_AMDX = 0x100000000ULL; 7868 #endif 7869 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_BUILT_IN_PRIMITIVES_BIT_KHR = 0x00001000ULL; 7870 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_ALLOW_SPHERES_AND_LINEAR_SWEPT_SPHERES_BIT_NV = 0x200000000ULL; 7871 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT = 0x400000000ULL; 7872 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT_KHR = 0x00000001ULL; 7873 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT_KHR = 0x00000002ULL; 7874 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DERIVATIVE_BIT_KHR = 0x00000004ULL; 7875 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = 0x00000008ULL; 7876 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DISPATCH_BASE_BIT_KHR = 0x00000010ULL; 7877 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DEFER_COMPILE_BIT_NV = 0x00000020ULL; 7878 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_CAPTURE_STATISTICS_BIT_KHR = 0x00000040ULL; 7879 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080ULL; 7880 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_KHR = 0x00000100ULL; 7881 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_EARLY_RETURN_ON_FAILURE_BIT_KHR = 0x00000200ULL; 7882 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_LINK_TIME_OPTIMIZATION_BIT_EXT = 0x00000400ULL; 7883 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT = 0x00800000ULL; 7884 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_LIBRARY_BIT_KHR = 0x00000800ULL; 7885 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000ULL; 7886 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000ULL; 7887 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000ULL; 7888 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000ULL; 7889 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000ULL; 7890 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000ULL; 7891 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000ULL; 7892 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_NV = 0x00040000ULL; 7893 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000ULL; 7894 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00200000ULL; 7895 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00400000ULL; 7896 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT = 0x01000000ULL; 7897 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x02000000ULL; 7898 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x04000000ULL; 7899 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT_EXT = 0x08000000ULL; 7900 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT_EXT = 0x40000000ULL; 7901 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV = 0x10000000ULL; 7902 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DESCRIPTOR_BUFFER_BIT_EXT = 0x20000000ULL; 7903 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DISALLOW_OPACITY_MICROMAP_BIT_ARM = 0x2000000000ULL; 7904 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_CAPTURE_DATA_BIT_KHR = 0x80000000ULL; 7905 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_EXT = 0x4000000000ULL; 7906 7907 typedef VkFlags64 VkBufferUsageFlags2; 7908 7909 // Flag bits for VkBufferUsageFlagBits2 7910 typedef VkFlags64 VkBufferUsageFlagBits2; 7911 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_TRANSFER_SRC_BIT = 0x00000001ULL; 7912 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_TRANSFER_DST_BIT = 0x00000002ULL; 7913 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004ULL; 7914 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_STORAGE_TEXEL_BUFFER_BIT = 0x00000008ULL; 7915 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_UNIFORM_BUFFER_BIT = 0x00000010ULL; 7916 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_STORAGE_BUFFER_BIT = 0x00000020ULL; 7917 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_INDEX_BUFFER_BIT = 0x00000040ULL; 7918 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_VERTEX_BUFFER_BIT = 0x00000080ULL; 7919 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_INDIRECT_BUFFER_BIT = 0x00000100ULL; 7920 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_SHADER_DEVICE_ADDRESS_BIT = 0x00020000ULL; 7921 #ifdef VK_ENABLE_BETA_EXTENSIONS 7922 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_EXECUTION_GRAPH_SCRATCH_BIT_AMDX = 0x02000000ULL; 7923 #endif 7924 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_TRANSFER_SRC_BIT_KHR = 0x00000001ULL; 7925 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_TRANSFER_DST_BIT_KHR = 0x00000002ULL; 7926 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR = 0x00000004ULL; 7927 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_STORAGE_TEXEL_BUFFER_BIT_KHR = 0x00000008ULL; 7928 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_UNIFORM_BUFFER_BIT_KHR = 0x00000010ULL; 7929 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_STORAGE_BUFFER_BIT_KHR = 0x00000020ULL; 7930 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_INDEX_BUFFER_BIT_KHR = 0x00000040ULL; 7931 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_VERTEX_BUFFER_BIT_KHR = 0x00000080ULL; 7932 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_INDIRECT_BUFFER_BIT_KHR = 0x00000100ULL; 7933 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200ULL; 7934 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400ULL; 7935 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_RAY_TRACING_BIT_NV = 0x00000400ULL; 7936 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800ULL; 7937 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000ULL; 7938 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000ULL; 7939 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_VIDEO_DECODE_DST_BIT_KHR = 0x00004000ULL; 7940 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000ULL; 7941 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000ULL; 7942 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_SHADER_DEVICE_ADDRESS_BIT_KHR = 0x00020000ULL; 7943 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000ULL; 7944 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000ULL; 7945 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT = 0x00200000ULL; 7946 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT = 0x00400000ULL; 7947 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT = 0x04000000ULL; 7948 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT = 0x00800000ULL; 7949 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_MICROMAP_STORAGE_BIT_EXT = 0x01000000ULL; 7950 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_PREPROCESS_BUFFER_BIT_EXT = 0x80000000ULL; 7951 7952 7953 typedef enum VkHostImageCopyFlagBits { 7954 VK_HOST_IMAGE_COPY_MEMCPY = 0x00000001, 7955 VK_HOST_IMAGE_COPY_MEMCPY_EXT = VK_HOST_IMAGE_COPY_MEMCPY, 7956 VK_HOST_IMAGE_COPY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 7957 } VkHostImageCopyFlagBits; 7958 typedef VkFlags VkHostImageCopyFlags; 7959 typedef struct VkPhysicalDeviceVulkan14Features { 7960 VkStructureType sType; 7961 void* pNext; 7962 VkBool32 globalPriorityQuery; 7963 VkBool32 shaderSubgroupRotate; 7964 VkBool32 shaderSubgroupRotateClustered; 7965 VkBool32 shaderFloatControls2; 7966 VkBool32 shaderExpectAssume; 7967 VkBool32 rectangularLines; 7968 VkBool32 bresenhamLines; 7969 VkBool32 smoothLines; 7970 VkBool32 stippledRectangularLines; 7971 VkBool32 stippledBresenhamLines; 7972 VkBool32 stippledSmoothLines; 7973 VkBool32 vertexAttributeInstanceRateDivisor; 7974 VkBool32 vertexAttributeInstanceRateZeroDivisor; 7975 VkBool32 indexTypeUint8; 7976 VkBool32 dynamicRenderingLocalRead; 7977 VkBool32 maintenance5; 7978 VkBool32 maintenance6; 7979 VkBool32 pipelineProtectedAccess; 7980 VkBool32 pipelineRobustness; 7981 VkBool32 hostImageCopy; 7982 VkBool32 pushDescriptor; 7983 } VkPhysicalDeviceVulkan14Features; 7984 7985 typedef struct VkPhysicalDeviceVulkan14Properties { 7986 VkStructureType sType; 7987 void* pNext; 7988 uint32_t lineSubPixelPrecisionBits; 7989 uint32_t maxVertexAttribDivisor; 7990 VkBool32 supportsNonZeroFirstInstance; 7991 uint32_t maxPushDescriptors; 7992 VkBool32 dynamicRenderingLocalReadDepthStencilAttachments; 7993 VkBool32 dynamicRenderingLocalReadMultisampledAttachments; 7994 VkBool32 earlyFragmentMultisampleCoverageAfterSampleCounting; 7995 VkBool32 earlyFragmentSampleMaskTestBeforeSampleCounting; 7996 VkBool32 depthStencilSwizzleOneSupport; 7997 VkBool32 polygonModePointSize; 7998 VkBool32 nonStrictSinglePixelWideLinesUseParallelogram; 7999 VkBool32 nonStrictWideLinesUseParallelogram; 8000 VkBool32 blockTexelViewCompatibleMultipleLayers; 8001 uint32_t maxCombinedImageSamplerDescriptorCount; 8002 VkBool32 fragmentShadingRateClampCombinerInputs; 8003 VkPipelineRobustnessBufferBehavior defaultRobustnessStorageBuffers; 8004 VkPipelineRobustnessBufferBehavior defaultRobustnessUniformBuffers; 8005 VkPipelineRobustnessBufferBehavior defaultRobustnessVertexInputs; 8006 VkPipelineRobustnessImageBehavior defaultRobustnessImages; 8007 uint32_t copySrcLayoutCount; 8008 VkImageLayout* pCopySrcLayouts; 8009 uint32_t copyDstLayoutCount; 8010 VkImageLayout* pCopyDstLayouts; 8011 uint8_t optimalTilingLayoutUUID[VK_UUID_SIZE]; 8012 VkBool32 identicalMemoryTypeRequirements; 8013 } VkPhysicalDeviceVulkan14Properties; 8014 8015 typedef struct VkDeviceQueueGlobalPriorityCreateInfo { 8016 VkStructureType sType; 8017 const void* pNext; 8018 VkQueueGlobalPriority globalPriority; 8019 } VkDeviceQueueGlobalPriorityCreateInfo; 8020 8021 typedef struct VkPhysicalDeviceGlobalPriorityQueryFeatures { 8022 VkStructureType sType; 8023 void* pNext; 8024 VkBool32 globalPriorityQuery; 8025 } VkPhysicalDeviceGlobalPriorityQueryFeatures; 8026 8027 typedef struct VkQueueFamilyGlobalPriorityProperties { 8028 VkStructureType sType; 8029 void* pNext; 8030 uint32_t priorityCount; 8031 VkQueueGlobalPriority priorities[VK_MAX_GLOBAL_PRIORITY_SIZE]; 8032 } VkQueueFamilyGlobalPriorityProperties; 8033 8034 typedef struct VkPhysicalDeviceShaderSubgroupRotateFeatures { 8035 VkStructureType sType; 8036 void* pNext; 8037 VkBool32 shaderSubgroupRotate; 8038 VkBool32 shaderSubgroupRotateClustered; 8039 } VkPhysicalDeviceShaderSubgroupRotateFeatures; 8040 8041 typedef struct VkPhysicalDeviceShaderFloatControls2Features { 8042 VkStructureType sType; 8043 void* pNext; 8044 VkBool32 shaderFloatControls2; 8045 } VkPhysicalDeviceShaderFloatControls2Features; 8046 8047 typedef struct VkPhysicalDeviceShaderExpectAssumeFeatures { 8048 VkStructureType sType; 8049 void* pNext; 8050 VkBool32 shaderExpectAssume; 8051 } VkPhysicalDeviceShaderExpectAssumeFeatures; 8052 8053 typedef struct VkPhysicalDeviceLineRasterizationFeatures { 8054 VkStructureType sType; 8055 void* pNext; 8056 VkBool32 rectangularLines; 8057 VkBool32 bresenhamLines; 8058 VkBool32 smoothLines; 8059 VkBool32 stippledRectangularLines; 8060 VkBool32 stippledBresenhamLines; 8061 VkBool32 stippledSmoothLines; 8062 } VkPhysicalDeviceLineRasterizationFeatures; 8063 8064 typedef struct VkPhysicalDeviceLineRasterizationProperties { 8065 VkStructureType sType; 8066 void* pNext; 8067 uint32_t lineSubPixelPrecisionBits; 8068 } VkPhysicalDeviceLineRasterizationProperties; 8069 8070 typedef struct VkPipelineRasterizationLineStateCreateInfo { 8071 VkStructureType sType; 8072 const void* pNext; 8073 VkLineRasterizationMode lineRasterizationMode; 8074 VkBool32 stippledLineEnable; 8075 uint32_t lineStippleFactor; 8076 uint16_t lineStipplePattern; 8077 } VkPipelineRasterizationLineStateCreateInfo; 8078 8079 typedef struct VkPhysicalDeviceVertexAttributeDivisorProperties { 8080 VkStructureType sType; 8081 void* pNext; 8082 uint32_t maxVertexAttribDivisor; 8083 VkBool32 supportsNonZeroFirstInstance; 8084 } VkPhysicalDeviceVertexAttributeDivisorProperties; 8085 8086 typedef struct VkVertexInputBindingDivisorDescription { 8087 uint32_t binding; 8088 uint32_t divisor; 8089 } VkVertexInputBindingDivisorDescription; 8090 8091 typedef struct VkPipelineVertexInputDivisorStateCreateInfo { 8092 VkStructureType sType; 8093 const void* pNext; 8094 uint32_t vertexBindingDivisorCount; 8095 const VkVertexInputBindingDivisorDescription* pVertexBindingDivisors; 8096 } VkPipelineVertexInputDivisorStateCreateInfo; 8097 8098 typedef struct VkPhysicalDeviceVertexAttributeDivisorFeatures { 8099 VkStructureType sType; 8100 void* pNext; 8101 VkBool32 vertexAttributeInstanceRateDivisor; 8102 VkBool32 vertexAttributeInstanceRateZeroDivisor; 8103 } VkPhysicalDeviceVertexAttributeDivisorFeatures; 8104 8105 typedef struct VkPhysicalDeviceIndexTypeUint8Features { 8106 VkStructureType sType; 8107 void* pNext; 8108 VkBool32 indexTypeUint8; 8109 } VkPhysicalDeviceIndexTypeUint8Features; 8110 8111 typedef struct VkMemoryMapInfo { 8112 VkStructureType sType; 8113 const void* pNext; 8114 VkMemoryMapFlags flags; 8115 VkDeviceMemory memory; 8116 VkDeviceSize offset; 8117 VkDeviceSize size; 8118 } VkMemoryMapInfo; 8119 8120 typedef struct VkMemoryUnmapInfo { 8121 VkStructureType sType; 8122 const void* pNext; 8123 VkMemoryUnmapFlags flags; 8124 VkDeviceMemory memory; 8125 } VkMemoryUnmapInfo; 8126 8127 typedef struct VkPhysicalDeviceMaintenance5Features { 8128 VkStructureType sType; 8129 void* pNext; 8130 VkBool32 maintenance5; 8131 } VkPhysicalDeviceMaintenance5Features; 8132 8133 typedef struct VkPhysicalDeviceMaintenance5Properties { 8134 VkStructureType sType; 8135 void* pNext; 8136 VkBool32 earlyFragmentMultisampleCoverageAfterSampleCounting; 8137 VkBool32 earlyFragmentSampleMaskTestBeforeSampleCounting; 8138 VkBool32 depthStencilSwizzleOneSupport; 8139 VkBool32 polygonModePointSize; 8140 VkBool32 nonStrictSinglePixelWideLinesUseParallelogram; 8141 VkBool32 nonStrictWideLinesUseParallelogram; 8142 } VkPhysicalDeviceMaintenance5Properties; 8143 8144 typedef struct VkRenderingAreaInfo { 8145 VkStructureType sType; 8146 const void* pNext; 8147 uint32_t viewMask; 8148 uint32_t colorAttachmentCount; 8149 const VkFormat* pColorAttachmentFormats; 8150 VkFormat depthAttachmentFormat; 8151 VkFormat stencilAttachmentFormat; 8152 } VkRenderingAreaInfo; 8153 8154 typedef struct VkImageSubresource2 { 8155 VkStructureType sType; 8156 void* pNext; 8157 VkImageSubresource imageSubresource; 8158 } VkImageSubresource2; 8159 8160 typedef struct VkDeviceImageSubresourceInfo { 8161 VkStructureType sType; 8162 const void* pNext; 8163 const VkImageCreateInfo* pCreateInfo; 8164 const VkImageSubresource2* pSubresource; 8165 } VkDeviceImageSubresourceInfo; 8166 8167 typedef struct VkSubresourceLayout2 { 8168 VkStructureType sType; 8169 void* pNext; 8170 VkSubresourceLayout subresourceLayout; 8171 } VkSubresourceLayout2; 8172 8173 typedef struct VkPipelineCreateFlags2CreateInfo { 8174 VkStructureType sType; 8175 const void* pNext; 8176 VkPipelineCreateFlags2 flags; 8177 } VkPipelineCreateFlags2CreateInfo; 8178 8179 typedef struct VkBufferUsageFlags2CreateInfo { 8180 VkStructureType sType; 8181 const void* pNext; 8182 VkBufferUsageFlags2 usage; 8183 } VkBufferUsageFlags2CreateInfo; 8184 8185 typedef struct VkPhysicalDevicePushDescriptorProperties { 8186 VkStructureType sType; 8187 void* pNext; 8188 uint32_t maxPushDescriptors; 8189 } VkPhysicalDevicePushDescriptorProperties; 8190 8191 typedef struct VkPhysicalDeviceDynamicRenderingLocalReadFeatures { 8192 VkStructureType sType; 8193 void* pNext; 8194 VkBool32 dynamicRenderingLocalRead; 8195 } VkPhysicalDeviceDynamicRenderingLocalReadFeatures; 8196 8197 typedef struct VkRenderingAttachmentLocationInfo { 8198 VkStructureType sType; 8199 const void* pNext; 8200 uint32_t colorAttachmentCount; 8201 const uint32_t* pColorAttachmentLocations; 8202 } VkRenderingAttachmentLocationInfo; 8203 8204 typedef struct VkRenderingInputAttachmentIndexInfo { 8205 VkStructureType sType; 8206 const void* pNext; 8207 uint32_t colorAttachmentCount; 8208 const uint32_t* pColorAttachmentInputIndices; 8209 const uint32_t* pDepthInputAttachmentIndex; 8210 const uint32_t* pStencilInputAttachmentIndex; 8211 } VkRenderingInputAttachmentIndexInfo; 8212 8213 typedef struct VkPhysicalDeviceMaintenance6Features { 8214 VkStructureType sType; 8215 void* pNext; 8216 VkBool32 maintenance6; 8217 } VkPhysicalDeviceMaintenance6Features; 8218 8219 typedef struct VkPhysicalDeviceMaintenance6Properties { 8220 VkStructureType sType; 8221 void* pNext; 8222 VkBool32 blockTexelViewCompatibleMultipleLayers; 8223 uint32_t maxCombinedImageSamplerDescriptorCount; 8224 VkBool32 fragmentShadingRateClampCombinerInputs; 8225 } VkPhysicalDeviceMaintenance6Properties; 8226 8227 typedef struct VkBindMemoryStatus { 8228 VkStructureType sType; 8229 const void* pNext; 8230 VkResult* pResult; 8231 } VkBindMemoryStatus; 8232 8233 typedef struct VkBindDescriptorSetsInfo { 8234 VkStructureType sType; 8235 const void* pNext; 8236 VkShaderStageFlags stageFlags; 8237 VkPipelineLayout layout; 8238 uint32_t firstSet; 8239 uint32_t descriptorSetCount; 8240 const VkDescriptorSet* pDescriptorSets; 8241 uint32_t dynamicOffsetCount; 8242 const uint32_t* pDynamicOffsets; 8243 } VkBindDescriptorSetsInfo; 8244 8245 typedef struct VkPushConstantsInfo { 8246 VkStructureType sType; 8247 const void* pNext; 8248 VkPipelineLayout layout; 8249 VkShaderStageFlags stageFlags; 8250 uint32_t offset; 8251 uint32_t size; 8252 const void* pValues; 8253 } VkPushConstantsInfo; 8254 8255 typedef struct VkPushDescriptorSetInfo { 8256 VkStructureType sType; 8257 const void* pNext; 8258 VkShaderStageFlags stageFlags; 8259 VkPipelineLayout layout; 8260 uint32_t set; 8261 uint32_t descriptorWriteCount; 8262 const VkWriteDescriptorSet* pDescriptorWrites; 8263 } VkPushDescriptorSetInfo; 8264 8265 typedef struct VkPushDescriptorSetWithTemplateInfo { 8266 VkStructureType sType; 8267 const void* pNext; 8268 VkDescriptorUpdateTemplate descriptorUpdateTemplate; 8269 VkPipelineLayout layout; 8270 uint32_t set; 8271 const void* pData; 8272 } VkPushDescriptorSetWithTemplateInfo; 8273 8274 typedef struct VkPhysicalDevicePipelineProtectedAccessFeatures { 8275 VkStructureType sType; 8276 void* pNext; 8277 VkBool32 pipelineProtectedAccess; 8278 } VkPhysicalDevicePipelineProtectedAccessFeatures; 8279 8280 typedef struct VkPhysicalDevicePipelineRobustnessFeatures { 8281 VkStructureType sType; 8282 void* pNext; 8283 VkBool32 pipelineRobustness; 8284 } VkPhysicalDevicePipelineRobustnessFeatures; 8285 8286 typedef struct VkPhysicalDevicePipelineRobustnessProperties { 8287 VkStructureType sType; 8288 void* pNext; 8289 VkPipelineRobustnessBufferBehavior defaultRobustnessStorageBuffers; 8290 VkPipelineRobustnessBufferBehavior defaultRobustnessUniformBuffers; 8291 VkPipelineRobustnessBufferBehavior defaultRobustnessVertexInputs; 8292 VkPipelineRobustnessImageBehavior defaultRobustnessImages; 8293 } VkPhysicalDevicePipelineRobustnessProperties; 8294 8295 typedef struct VkPipelineRobustnessCreateInfo { 8296 VkStructureType sType; 8297 const void* pNext; 8298 VkPipelineRobustnessBufferBehavior storageBuffers; 8299 VkPipelineRobustnessBufferBehavior uniformBuffers; 8300 VkPipelineRobustnessBufferBehavior vertexInputs; 8301 VkPipelineRobustnessImageBehavior images; 8302 } VkPipelineRobustnessCreateInfo; 8303 8304 typedef struct VkPhysicalDeviceHostImageCopyFeatures { 8305 VkStructureType sType; 8306 void* pNext; 8307 VkBool32 hostImageCopy; 8308 } VkPhysicalDeviceHostImageCopyFeatures; 8309 8310 typedef struct VkPhysicalDeviceHostImageCopyProperties { 8311 VkStructureType sType; 8312 void* pNext; 8313 uint32_t copySrcLayoutCount; 8314 VkImageLayout* pCopySrcLayouts; 8315 uint32_t copyDstLayoutCount; 8316 VkImageLayout* pCopyDstLayouts; 8317 uint8_t optimalTilingLayoutUUID[VK_UUID_SIZE]; 8318 VkBool32 identicalMemoryTypeRequirements; 8319 } VkPhysicalDeviceHostImageCopyProperties; 8320 8321 typedef struct VkMemoryToImageCopy { 8322 VkStructureType sType; 8323 const void* pNext; 8324 const void* pHostPointer; 8325 uint32_t memoryRowLength; 8326 uint32_t memoryImageHeight; 8327 VkImageSubresourceLayers imageSubresource; 8328 VkOffset3D imageOffset; 8329 VkExtent3D imageExtent; 8330 } VkMemoryToImageCopy; 8331 8332 typedef struct VkImageToMemoryCopy { 8333 VkStructureType sType; 8334 const void* pNext; 8335 void* pHostPointer; 8336 uint32_t memoryRowLength; 8337 uint32_t memoryImageHeight; 8338 VkImageSubresourceLayers imageSubresource; 8339 VkOffset3D imageOffset; 8340 VkExtent3D imageExtent; 8341 } VkImageToMemoryCopy; 8342 8343 typedef struct VkCopyMemoryToImageInfo { 8344 VkStructureType sType; 8345 const void* pNext; 8346 VkHostImageCopyFlags flags; 8347 VkImage dstImage; 8348 VkImageLayout dstImageLayout; 8349 uint32_t regionCount; 8350 const VkMemoryToImageCopy* pRegions; 8351 } VkCopyMemoryToImageInfo; 8352 8353 typedef struct VkCopyImageToMemoryInfo { 8354 VkStructureType sType; 8355 const void* pNext; 8356 VkHostImageCopyFlags flags; 8357 VkImage srcImage; 8358 VkImageLayout srcImageLayout; 8359 uint32_t regionCount; 8360 const VkImageToMemoryCopy* pRegions; 8361 } VkCopyImageToMemoryInfo; 8362 8363 typedef struct VkCopyImageToImageInfo { 8364 VkStructureType sType; 8365 const void* pNext; 8366 VkHostImageCopyFlags flags; 8367 VkImage srcImage; 8368 VkImageLayout srcImageLayout; 8369 VkImage dstImage; 8370 VkImageLayout dstImageLayout; 8371 uint32_t regionCount; 8372 const VkImageCopy2* pRegions; 8373 } VkCopyImageToImageInfo; 8374 8375 typedef struct VkHostImageLayoutTransitionInfo { 8376 VkStructureType sType; 8377 const void* pNext; 8378 VkImage image; 8379 VkImageLayout oldLayout; 8380 VkImageLayout newLayout; 8381 VkImageSubresourceRange subresourceRange; 8382 } VkHostImageLayoutTransitionInfo; 8383 8384 typedef struct VkSubresourceHostMemcpySize { 8385 VkStructureType sType; 8386 void* pNext; 8387 VkDeviceSize size; 8388 } VkSubresourceHostMemcpySize; 8389 8390 typedef struct VkHostImageCopyDevicePerformanceQuery { 8391 VkStructureType sType; 8392 void* pNext; 8393 VkBool32 optimalDeviceAccess; 8394 VkBool32 identicalMemoryLayout; 8395 } VkHostImageCopyDevicePerformanceQuery; 8396 8397 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStipple)(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern); 8398 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory2)(VkDevice device, const VkMemoryMapInfo* pMemoryMapInfo, void** ppData); 8399 typedef VkResult (VKAPI_PTR *PFN_vkUnmapMemory2)(VkDevice device, const VkMemoryUnmapInfo* pMemoryUnmapInfo); 8400 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer2)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType); 8401 typedef void (VKAPI_PTR *PFN_vkGetRenderingAreaGranularity)(VkDevice device, const VkRenderingAreaInfo* pRenderingAreaInfo, VkExtent2D* pGranularity); 8402 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSubresourceLayout)(VkDevice device, const VkDeviceImageSubresourceInfo* pInfo, VkSubresourceLayout2* pLayout); 8403 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout2)(VkDevice device, VkImage image, const VkImageSubresource2* pSubresource, VkSubresourceLayout2* pLayout); 8404 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSet)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites); 8405 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplate)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData); 8406 typedef void (VKAPI_PTR *PFN_vkCmdSetRenderingAttachmentLocations)(VkCommandBuffer commandBuffer, const VkRenderingAttachmentLocationInfo* pLocationInfo); 8407 typedef void (VKAPI_PTR *PFN_vkCmdSetRenderingInputAttachmentIndices)(VkCommandBuffer commandBuffer, const VkRenderingInputAttachmentIndexInfo* pInputAttachmentIndexInfo); 8408 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets2)(VkCommandBuffer commandBuffer, const VkBindDescriptorSetsInfo* pBindDescriptorSetsInfo); 8409 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants2)(VkCommandBuffer commandBuffer, const VkPushConstantsInfo* pPushConstantsInfo); 8410 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSet2)(VkCommandBuffer commandBuffer, const VkPushDescriptorSetInfo* pPushDescriptorSetInfo); 8411 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplate2)(VkCommandBuffer commandBuffer, const VkPushDescriptorSetWithTemplateInfo* pPushDescriptorSetWithTemplateInfo); 8412 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToImage)(VkDevice device, const VkCopyMemoryToImageInfo* pCopyMemoryToImageInfo); 8413 typedef VkResult (VKAPI_PTR *PFN_vkCopyImageToMemory)(VkDevice device, const VkCopyImageToMemoryInfo* pCopyImageToMemoryInfo); 8414 typedef VkResult (VKAPI_PTR *PFN_vkCopyImageToImage)(VkDevice device, const VkCopyImageToImageInfo* pCopyImageToImageInfo); 8415 typedef VkResult (VKAPI_PTR *PFN_vkTransitionImageLayout)(VkDevice device, uint32_t transitionCount, const VkHostImageLayoutTransitionInfo* pTransitions); 8416 8417 #ifndef VK_NO_PROTOTYPES 8418 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStipple( 8419 VkCommandBuffer commandBuffer, 8420 uint32_t lineStippleFactor, 8421 uint16_t lineStipplePattern); 8422 8423 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory2( 8424 VkDevice device, 8425 const VkMemoryMapInfo* pMemoryMapInfo, 8426 void** ppData); 8427 8428 VKAPI_ATTR VkResult VKAPI_CALL vkUnmapMemory2( 8429 VkDevice device, 8430 const VkMemoryUnmapInfo* pMemoryUnmapInfo); 8431 8432 VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer2( 8433 VkCommandBuffer commandBuffer, 8434 VkBuffer buffer, 8435 VkDeviceSize offset, 8436 VkDeviceSize size, 8437 VkIndexType indexType); 8438 8439 VKAPI_ATTR void VKAPI_CALL vkGetRenderingAreaGranularity( 8440 VkDevice device, 8441 const VkRenderingAreaInfo* pRenderingAreaInfo, 8442 VkExtent2D* pGranularity); 8443 8444 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSubresourceLayout( 8445 VkDevice device, 8446 const VkDeviceImageSubresourceInfo* pInfo, 8447 VkSubresourceLayout2* pLayout); 8448 8449 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout2( 8450 VkDevice device, 8451 VkImage image, 8452 const VkImageSubresource2* pSubresource, 8453 VkSubresourceLayout2* pLayout); 8454 8455 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSet( 8456 VkCommandBuffer commandBuffer, 8457 VkPipelineBindPoint pipelineBindPoint, 8458 VkPipelineLayout layout, 8459 uint32_t set, 8460 uint32_t descriptorWriteCount, 8461 const VkWriteDescriptorSet* pDescriptorWrites); 8462 8463 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplate( 8464 VkCommandBuffer commandBuffer, 8465 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 8466 VkPipelineLayout layout, 8467 uint32_t set, 8468 const void* pData); 8469 8470 VKAPI_ATTR void VKAPI_CALL vkCmdSetRenderingAttachmentLocations( 8471 VkCommandBuffer commandBuffer, 8472 const VkRenderingAttachmentLocationInfo* pLocationInfo); 8473 8474 VKAPI_ATTR void VKAPI_CALL vkCmdSetRenderingInputAttachmentIndices( 8475 VkCommandBuffer commandBuffer, 8476 const VkRenderingInputAttachmentIndexInfo* pInputAttachmentIndexInfo); 8477 8478 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets2( 8479 VkCommandBuffer commandBuffer, 8480 const VkBindDescriptorSetsInfo* pBindDescriptorSetsInfo); 8481 8482 VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants2( 8483 VkCommandBuffer commandBuffer, 8484 const VkPushConstantsInfo* pPushConstantsInfo); 8485 8486 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSet2( 8487 VkCommandBuffer commandBuffer, 8488 const VkPushDescriptorSetInfo* pPushDescriptorSetInfo); 8489 8490 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplate2( 8491 VkCommandBuffer commandBuffer, 8492 const VkPushDescriptorSetWithTemplateInfo* pPushDescriptorSetWithTemplateInfo); 8493 8494 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToImage( 8495 VkDevice device, 8496 const VkCopyMemoryToImageInfo* pCopyMemoryToImageInfo); 8497 8498 VKAPI_ATTR VkResult VKAPI_CALL vkCopyImageToMemory( 8499 VkDevice device, 8500 const VkCopyImageToMemoryInfo* pCopyImageToMemoryInfo); 8501 8502 VKAPI_ATTR VkResult VKAPI_CALL vkCopyImageToImage( 8503 VkDevice device, 8504 const VkCopyImageToImageInfo* pCopyImageToImageInfo); 8505 8506 VKAPI_ATTR VkResult VKAPI_CALL vkTransitionImageLayout( 8507 VkDevice device, 8508 uint32_t transitionCount, 8509 const VkHostImageLayoutTransitionInfo* pTransitions); 8510 #endif 8511 8512 8513 // VK_KHR_surface is a preprocessor guard. Do not pass it to API calls. 8514 #define VK_KHR_surface 1 8515 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR) 8516 #define VK_KHR_SURFACE_SPEC_VERSION 25 8517 #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface" 8518 8519 typedef enum VkPresentModeKHR { 8520 VK_PRESENT_MODE_IMMEDIATE_KHR = 0, 8521 VK_PRESENT_MODE_MAILBOX_KHR = 1, 8522 VK_PRESENT_MODE_FIFO_KHR = 2, 8523 VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3, 8524 VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000, 8525 VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001, 8526 VK_PRESENT_MODE_FIFO_LATEST_READY_EXT = 1000361000, 8527 VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 8528 } VkPresentModeKHR; 8529 8530 typedef enum VkColorSpaceKHR { 8531 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0, 8532 VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001, 8533 VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002, 8534 VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003, 8535 VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004, 8536 VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005, 8537 VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006, 8538 VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007, 8539 VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008, 8540 // VK_COLOR_SPACE_DOLBYVISION_EXT is deprecated, but no reason was given in the API XML 8541 VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009, 8542 VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010, 8543 VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011, 8544 VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012, 8545 VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013, 8546 VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014, 8547 VK_COLOR_SPACE_DISPLAY_NATIVE_AMD = 1000213000, 8548 // VK_COLORSPACE_SRGB_NONLINEAR_KHR is a deprecated alias 8549 VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR, 8550 // VK_COLOR_SPACE_DCI_P3_LINEAR_EXT is a deprecated alias 8551 VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT, 8552 VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF 8553 } VkColorSpaceKHR; 8554 8555 typedef enum VkSurfaceTransformFlagBitsKHR { 8556 VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001, 8557 VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002, 8558 VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004, 8559 VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008, 8560 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010, 8561 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020, 8562 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040, 8563 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080, 8564 VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100, 8565 VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8566 } VkSurfaceTransformFlagBitsKHR; 8567 8568 typedef enum VkCompositeAlphaFlagBitsKHR { 8569 VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001, 8570 VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002, 8571 VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004, 8572 VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008, 8573 VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8574 } VkCompositeAlphaFlagBitsKHR; 8575 typedef VkFlags VkCompositeAlphaFlagsKHR; 8576 typedef VkFlags VkSurfaceTransformFlagsKHR; 8577 typedef struct VkSurfaceCapabilitiesKHR { 8578 uint32_t minImageCount; 8579 uint32_t maxImageCount; 8580 VkExtent2D currentExtent; 8581 VkExtent2D minImageExtent; 8582 VkExtent2D maxImageExtent; 8583 uint32_t maxImageArrayLayers; 8584 VkSurfaceTransformFlagsKHR supportedTransforms; 8585 VkSurfaceTransformFlagBitsKHR currentTransform; 8586 VkCompositeAlphaFlagsKHR supportedCompositeAlpha; 8587 VkImageUsageFlags supportedUsageFlags; 8588 } VkSurfaceCapabilitiesKHR; 8589 8590 typedef struct VkSurfaceFormatKHR { 8591 VkFormat format; 8592 VkColorSpaceKHR colorSpace; 8593 } VkSurfaceFormatKHR; 8594 8595 typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator); 8596 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported); 8597 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities); 8598 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats); 8599 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes); 8600 8601 #ifndef VK_NO_PROTOTYPES 8602 VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR( 8603 VkInstance instance, 8604 VkSurfaceKHR surface, 8605 const VkAllocationCallbacks* pAllocator); 8606 8607 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR( 8608 VkPhysicalDevice physicalDevice, 8609 uint32_t queueFamilyIndex, 8610 VkSurfaceKHR surface, 8611 VkBool32* pSupported); 8612 8613 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR( 8614 VkPhysicalDevice physicalDevice, 8615 VkSurfaceKHR surface, 8616 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities); 8617 8618 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR( 8619 VkPhysicalDevice physicalDevice, 8620 VkSurfaceKHR surface, 8621 uint32_t* pSurfaceFormatCount, 8622 VkSurfaceFormatKHR* pSurfaceFormats); 8623 8624 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR( 8625 VkPhysicalDevice physicalDevice, 8626 VkSurfaceKHR surface, 8627 uint32_t* pPresentModeCount, 8628 VkPresentModeKHR* pPresentModes); 8629 #endif 8630 8631 8632 // VK_KHR_swapchain is a preprocessor guard. Do not pass it to API calls. 8633 #define VK_KHR_swapchain 1 8634 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR) 8635 #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70 8636 #define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain" 8637 8638 typedef enum VkSwapchainCreateFlagBitsKHR { 8639 VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001, 8640 VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002, 8641 VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004, 8642 VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_EXT = 0x00000008, 8643 VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8644 } VkSwapchainCreateFlagBitsKHR; 8645 typedef VkFlags VkSwapchainCreateFlagsKHR; 8646 8647 typedef enum VkDeviceGroupPresentModeFlagBitsKHR { 8648 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0x00000001, 8649 VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0x00000002, 8650 VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0x00000004, 8651 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008, 8652 VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8653 } VkDeviceGroupPresentModeFlagBitsKHR; 8654 typedef VkFlags VkDeviceGroupPresentModeFlagsKHR; 8655 typedef struct VkSwapchainCreateInfoKHR { 8656 VkStructureType sType; 8657 const void* pNext; 8658 VkSwapchainCreateFlagsKHR flags; 8659 VkSurfaceKHR surface; 8660 uint32_t minImageCount; 8661 VkFormat imageFormat; 8662 VkColorSpaceKHR imageColorSpace; 8663 VkExtent2D imageExtent; 8664 uint32_t imageArrayLayers; 8665 VkImageUsageFlags imageUsage; 8666 VkSharingMode imageSharingMode; 8667 uint32_t queueFamilyIndexCount; 8668 const uint32_t* pQueueFamilyIndices; 8669 VkSurfaceTransformFlagBitsKHR preTransform; 8670 VkCompositeAlphaFlagBitsKHR compositeAlpha; 8671 VkPresentModeKHR presentMode; 8672 VkBool32 clipped; 8673 VkSwapchainKHR oldSwapchain; 8674 } VkSwapchainCreateInfoKHR; 8675 8676 typedef struct VkPresentInfoKHR { 8677 VkStructureType sType; 8678 const void* pNext; 8679 uint32_t waitSemaphoreCount; 8680 const VkSemaphore* pWaitSemaphores; 8681 uint32_t swapchainCount; 8682 const VkSwapchainKHR* pSwapchains; 8683 const uint32_t* pImageIndices; 8684 VkResult* pResults; 8685 } VkPresentInfoKHR; 8686 8687 typedef struct VkImageSwapchainCreateInfoKHR { 8688 VkStructureType sType; 8689 const void* pNext; 8690 VkSwapchainKHR swapchain; 8691 } VkImageSwapchainCreateInfoKHR; 8692 8693 typedef struct VkBindImageMemorySwapchainInfoKHR { 8694 VkStructureType sType; 8695 const void* pNext; 8696 VkSwapchainKHR swapchain; 8697 uint32_t imageIndex; 8698 } VkBindImageMemorySwapchainInfoKHR; 8699 8700 typedef struct VkAcquireNextImageInfoKHR { 8701 VkStructureType sType; 8702 const void* pNext; 8703 VkSwapchainKHR swapchain; 8704 uint64_t timeout; 8705 VkSemaphore semaphore; 8706 VkFence fence; 8707 uint32_t deviceMask; 8708 } VkAcquireNextImageInfoKHR; 8709 8710 typedef struct VkDeviceGroupPresentCapabilitiesKHR { 8711 VkStructureType sType; 8712 void* pNext; 8713 uint32_t presentMask[VK_MAX_DEVICE_GROUP_SIZE]; 8714 VkDeviceGroupPresentModeFlagsKHR modes; 8715 } VkDeviceGroupPresentCapabilitiesKHR; 8716 8717 typedef struct VkDeviceGroupPresentInfoKHR { 8718 VkStructureType sType; 8719 const void* pNext; 8720 uint32_t swapchainCount; 8721 const uint32_t* pDeviceMasks; 8722 VkDeviceGroupPresentModeFlagBitsKHR mode; 8723 } VkDeviceGroupPresentInfoKHR; 8724 8725 typedef struct VkDeviceGroupSwapchainCreateInfoKHR { 8726 VkStructureType sType; 8727 const void* pNext; 8728 VkDeviceGroupPresentModeFlagsKHR modes; 8729 } VkDeviceGroupSwapchainCreateInfoKHR; 8730 8731 typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain); 8732 typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator); 8733 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages); 8734 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex); 8735 typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo); 8736 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities); 8737 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes); 8738 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pRectCount, VkRect2D* pRects); 8739 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex); 8740 8741 #ifndef VK_NO_PROTOTYPES 8742 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR( 8743 VkDevice device, 8744 const VkSwapchainCreateInfoKHR* pCreateInfo, 8745 const VkAllocationCallbacks* pAllocator, 8746 VkSwapchainKHR* pSwapchain); 8747 8748 VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR( 8749 VkDevice device, 8750 VkSwapchainKHR swapchain, 8751 const VkAllocationCallbacks* pAllocator); 8752 8753 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR( 8754 VkDevice device, 8755 VkSwapchainKHR swapchain, 8756 uint32_t* pSwapchainImageCount, 8757 VkImage* pSwapchainImages); 8758 8759 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR( 8760 VkDevice device, 8761 VkSwapchainKHR swapchain, 8762 uint64_t timeout, 8763 VkSemaphore semaphore, 8764 VkFence fence, 8765 uint32_t* pImageIndex); 8766 8767 VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR( 8768 VkQueue queue, 8769 const VkPresentInfoKHR* pPresentInfo); 8770 8771 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHR( 8772 VkDevice device, 8773 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities); 8774 8775 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR( 8776 VkDevice device, 8777 VkSurfaceKHR surface, 8778 VkDeviceGroupPresentModeFlagsKHR* pModes); 8779 8780 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR( 8781 VkPhysicalDevice physicalDevice, 8782 VkSurfaceKHR surface, 8783 uint32_t* pRectCount, 8784 VkRect2D* pRects); 8785 8786 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHR( 8787 VkDevice device, 8788 const VkAcquireNextImageInfoKHR* pAcquireInfo, 8789 uint32_t* pImageIndex); 8790 #endif 8791 8792 8793 // VK_KHR_display is a preprocessor guard. Do not pass it to API calls. 8794 #define VK_KHR_display 1 8795 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR) 8796 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR) 8797 #define VK_KHR_DISPLAY_SPEC_VERSION 23 8798 #define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display" 8799 typedef VkFlags VkDisplayModeCreateFlagsKHR; 8800 8801 typedef enum VkDisplayPlaneAlphaFlagBitsKHR { 8802 VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001, 8803 VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002, 8804 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004, 8805 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008, 8806 VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8807 } VkDisplayPlaneAlphaFlagBitsKHR; 8808 typedef VkFlags VkDisplayPlaneAlphaFlagsKHR; 8809 typedef VkFlags VkDisplaySurfaceCreateFlagsKHR; 8810 typedef struct VkDisplayModeParametersKHR { 8811 VkExtent2D visibleRegion; 8812 uint32_t refreshRate; 8813 } VkDisplayModeParametersKHR; 8814 8815 typedef struct VkDisplayModeCreateInfoKHR { 8816 VkStructureType sType; 8817 const void* pNext; 8818 VkDisplayModeCreateFlagsKHR flags; 8819 VkDisplayModeParametersKHR parameters; 8820 } VkDisplayModeCreateInfoKHR; 8821 8822 typedef struct VkDisplayModePropertiesKHR { 8823 VkDisplayModeKHR displayMode; 8824 VkDisplayModeParametersKHR parameters; 8825 } VkDisplayModePropertiesKHR; 8826 8827 typedef struct VkDisplayPlaneCapabilitiesKHR { 8828 VkDisplayPlaneAlphaFlagsKHR supportedAlpha; 8829 VkOffset2D minSrcPosition; 8830 VkOffset2D maxSrcPosition; 8831 VkExtent2D minSrcExtent; 8832 VkExtent2D maxSrcExtent; 8833 VkOffset2D minDstPosition; 8834 VkOffset2D maxDstPosition; 8835 VkExtent2D minDstExtent; 8836 VkExtent2D maxDstExtent; 8837 } VkDisplayPlaneCapabilitiesKHR; 8838 8839 typedef struct VkDisplayPlanePropertiesKHR { 8840 VkDisplayKHR currentDisplay; 8841 uint32_t currentStackIndex; 8842 } VkDisplayPlanePropertiesKHR; 8843 8844 typedef struct VkDisplayPropertiesKHR { 8845 VkDisplayKHR display; 8846 const char* displayName; 8847 VkExtent2D physicalDimensions; 8848 VkExtent2D physicalResolution; 8849 VkSurfaceTransformFlagsKHR supportedTransforms; 8850 VkBool32 planeReorderPossible; 8851 VkBool32 persistentContent; 8852 } VkDisplayPropertiesKHR; 8853 8854 typedef struct VkDisplaySurfaceCreateInfoKHR { 8855 VkStructureType sType; 8856 const void* pNext; 8857 VkDisplaySurfaceCreateFlagsKHR flags; 8858 VkDisplayModeKHR displayMode; 8859 uint32_t planeIndex; 8860 uint32_t planeStackIndex; 8861 VkSurfaceTransformFlagBitsKHR transform; 8862 float globalAlpha; 8863 VkDisplayPlaneAlphaFlagBitsKHR alphaMode; 8864 VkExtent2D imageExtent; 8865 } VkDisplaySurfaceCreateInfoKHR; 8866 8867 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPropertiesKHR* pProperties); 8868 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties); 8869 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t* pDisplayCount, VkDisplayKHR* pDisplays); 8870 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModePropertiesKHR* pProperties); 8871 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode); 8872 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities); 8873 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); 8874 8875 #ifndef VK_NO_PROTOTYPES 8876 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR( 8877 VkPhysicalDevice physicalDevice, 8878 uint32_t* pPropertyCount, 8879 VkDisplayPropertiesKHR* pProperties); 8880 8881 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR( 8882 VkPhysicalDevice physicalDevice, 8883 uint32_t* pPropertyCount, 8884 VkDisplayPlanePropertiesKHR* pProperties); 8885 8886 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR( 8887 VkPhysicalDevice physicalDevice, 8888 uint32_t planeIndex, 8889 uint32_t* pDisplayCount, 8890 VkDisplayKHR* pDisplays); 8891 8892 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR( 8893 VkPhysicalDevice physicalDevice, 8894 VkDisplayKHR display, 8895 uint32_t* pPropertyCount, 8896 VkDisplayModePropertiesKHR* pProperties); 8897 8898 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR( 8899 VkPhysicalDevice physicalDevice, 8900 VkDisplayKHR display, 8901 const VkDisplayModeCreateInfoKHR* pCreateInfo, 8902 const VkAllocationCallbacks* pAllocator, 8903 VkDisplayModeKHR* pMode); 8904 8905 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR( 8906 VkPhysicalDevice physicalDevice, 8907 VkDisplayModeKHR mode, 8908 uint32_t planeIndex, 8909 VkDisplayPlaneCapabilitiesKHR* pCapabilities); 8910 8911 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR( 8912 VkInstance instance, 8913 const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, 8914 const VkAllocationCallbacks* pAllocator, 8915 VkSurfaceKHR* pSurface); 8916 #endif 8917 8918 8919 // VK_KHR_display_swapchain is a preprocessor guard. Do not pass it to API calls. 8920 #define VK_KHR_display_swapchain 1 8921 #define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 10 8922 #define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain" 8923 typedef struct VkDisplayPresentInfoKHR { 8924 VkStructureType sType; 8925 const void* pNext; 8926 VkRect2D srcRect; 8927 VkRect2D dstRect; 8928 VkBool32 persistent; 8929 } VkDisplayPresentInfoKHR; 8930 8931 typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains); 8932 8933 #ifndef VK_NO_PROTOTYPES 8934 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR( 8935 VkDevice device, 8936 uint32_t swapchainCount, 8937 const VkSwapchainCreateInfoKHR* pCreateInfos, 8938 const VkAllocationCallbacks* pAllocator, 8939 VkSwapchainKHR* pSwapchains); 8940 #endif 8941 8942 8943 // VK_KHR_sampler_mirror_clamp_to_edge is a preprocessor guard. Do not pass it to API calls. 8944 #define VK_KHR_sampler_mirror_clamp_to_edge 1 8945 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 3 8946 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge" 8947 8948 8949 // VK_KHR_video_queue is a preprocessor guard. Do not pass it to API calls. 8950 #define VK_KHR_video_queue 1 8951 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionKHR) 8952 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionParametersKHR) 8953 #define VK_KHR_VIDEO_QUEUE_SPEC_VERSION 8 8954 #define VK_KHR_VIDEO_QUEUE_EXTENSION_NAME "VK_KHR_video_queue" 8955 8956 typedef enum VkQueryResultStatusKHR { 8957 VK_QUERY_RESULT_STATUS_ERROR_KHR = -1, 8958 VK_QUERY_RESULT_STATUS_NOT_READY_KHR = 0, 8959 VK_QUERY_RESULT_STATUS_COMPLETE_KHR = 1, 8960 VK_QUERY_RESULT_STATUS_INSUFFICIENT_BITSTREAM_BUFFER_RANGE_KHR = -1000299000, 8961 VK_QUERY_RESULT_STATUS_MAX_ENUM_KHR = 0x7FFFFFFF 8962 } VkQueryResultStatusKHR; 8963 8964 typedef enum VkVideoCodecOperationFlagBitsKHR { 8965 VK_VIDEO_CODEC_OPERATION_NONE_KHR = 0, 8966 VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR = 0x00010000, 8967 VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR = 0x00020000, 8968 VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR = 0x00000001, 8969 VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR = 0x00000002, 8970 VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR = 0x00000004, 8971 VK_VIDEO_CODEC_OPERATION_ENCODE_AV1_BIT_KHR = 0x00040000, 8972 VK_VIDEO_CODEC_OPERATION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8973 } VkVideoCodecOperationFlagBitsKHR; 8974 typedef VkFlags VkVideoCodecOperationFlagsKHR; 8975 8976 typedef enum VkVideoChromaSubsamplingFlagBitsKHR { 8977 VK_VIDEO_CHROMA_SUBSAMPLING_INVALID_KHR = 0, 8978 VK_VIDEO_CHROMA_SUBSAMPLING_MONOCHROME_BIT_KHR = 0x00000001, 8979 VK_VIDEO_CHROMA_SUBSAMPLING_420_BIT_KHR = 0x00000002, 8980 VK_VIDEO_CHROMA_SUBSAMPLING_422_BIT_KHR = 0x00000004, 8981 VK_VIDEO_CHROMA_SUBSAMPLING_444_BIT_KHR = 0x00000008, 8982 VK_VIDEO_CHROMA_SUBSAMPLING_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8983 } VkVideoChromaSubsamplingFlagBitsKHR; 8984 typedef VkFlags VkVideoChromaSubsamplingFlagsKHR; 8985 8986 typedef enum VkVideoComponentBitDepthFlagBitsKHR { 8987 VK_VIDEO_COMPONENT_BIT_DEPTH_INVALID_KHR = 0, 8988 VK_VIDEO_COMPONENT_BIT_DEPTH_8_BIT_KHR = 0x00000001, 8989 VK_VIDEO_COMPONENT_BIT_DEPTH_10_BIT_KHR = 0x00000004, 8990 VK_VIDEO_COMPONENT_BIT_DEPTH_12_BIT_KHR = 0x00000010, 8991 VK_VIDEO_COMPONENT_BIT_DEPTH_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8992 } VkVideoComponentBitDepthFlagBitsKHR; 8993 typedef VkFlags VkVideoComponentBitDepthFlagsKHR; 8994 8995 typedef enum VkVideoCapabilityFlagBitsKHR { 8996 VK_VIDEO_CAPABILITY_PROTECTED_CONTENT_BIT_KHR = 0x00000001, 8997 VK_VIDEO_CAPABILITY_SEPARATE_REFERENCE_IMAGES_BIT_KHR = 0x00000002, 8998 VK_VIDEO_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8999 } VkVideoCapabilityFlagBitsKHR; 9000 typedef VkFlags VkVideoCapabilityFlagsKHR; 9001 9002 typedef enum VkVideoSessionCreateFlagBitsKHR { 9003 VK_VIDEO_SESSION_CREATE_PROTECTED_CONTENT_BIT_KHR = 0x00000001, 9004 VK_VIDEO_SESSION_CREATE_ALLOW_ENCODE_PARAMETER_OPTIMIZATIONS_BIT_KHR = 0x00000002, 9005 VK_VIDEO_SESSION_CREATE_INLINE_QUERIES_BIT_KHR = 0x00000004, 9006 VK_VIDEO_SESSION_CREATE_ALLOW_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR = 0x00000008, 9007 VK_VIDEO_SESSION_CREATE_ALLOW_ENCODE_EMPHASIS_MAP_BIT_KHR = 0x00000010, 9008 VK_VIDEO_SESSION_CREATE_INLINE_SESSION_PARAMETERS_BIT_KHR = 0x00000020, 9009 VK_VIDEO_SESSION_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9010 } VkVideoSessionCreateFlagBitsKHR; 9011 typedef VkFlags VkVideoSessionCreateFlagsKHR; 9012 9013 typedef enum VkVideoSessionParametersCreateFlagBitsKHR { 9014 VK_VIDEO_SESSION_PARAMETERS_CREATE_QUANTIZATION_MAP_COMPATIBLE_BIT_KHR = 0x00000001, 9015 VK_VIDEO_SESSION_PARAMETERS_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9016 } VkVideoSessionParametersCreateFlagBitsKHR; 9017 typedef VkFlags VkVideoSessionParametersCreateFlagsKHR; 9018 typedef VkFlags VkVideoBeginCodingFlagsKHR; 9019 typedef VkFlags VkVideoEndCodingFlagsKHR; 9020 9021 typedef enum VkVideoCodingControlFlagBitsKHR { 9022 VK_VIDEO_CODING_CONTROL_RESET_BIT_KHR = 0x00000001, 9023 VK_VIDEO_CODING_CONTROL_ENCODE_RATE_CONTROL_BIT_KHR = 0x00000002, 9024 VK_VIDEO_CODING_CONTROL_ENCODE_QUALITY_LEVEL_BIT_KHR = 0x00000004, 9025 VK_VIDEO_CODING_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9026 } VkVideoCodingControlFlagBitsKHR; 9027 typedef VkFlags VkVideoCodingControlFlagsKHR; 9028 typedef struct VkQueueFamilyQueryResultStatusPropertiesKHR { 9029 VkStructureType sType; 9030 void* pNext; 9031 VkBool32 queryResultStatusSupport; 9032 } VkQueueFamilyQueryResultStatusPropertiesKHR; 9033 9034 typedef struct VkQueueFamilyVideoPropertiesKHR { 9035 VkStructureType sType; 9036 void* pNext; 9037 VkVideoCodecOperationFlagsKHR videoCodecOperations; 9038 } VkQueueFamilyVideoPropertiesKHR; 9039 9040 typedef struct VkVideoProfileInfoKHR { 9041 VkStructureType sType; 9042 const void* pNext; 9043 VkVideoCodecOperationFlagBitsKHR videoCodecOperation; 9044 VkVideoChromaSubsamplingFlagsKHR chromaSubsampling; 9045 VkVideoComponentBitDepthFlagsKHR lumaBitDepth; 9046 VkVideoComponentBitDepthFlagsKHR chromaBitDepth; 9047 } VkVideoProfileInfoKHR; 9048 9049 typedef struct VkVideoProfileListInfoKHR { 9050 VkStructureType sType; 9051 const void* pNext; 9052 uint32_t profileCount; 9053 const VkVideoProfileInfoKHR* pProfiles; 9054 } VkVideoProfileListInfoKHR; 9055 9056 typedef struct VkVideoCapabilitiesKHR { 9057 VkStructureType sType; 9058 void* pNext; 9059 VkVideoCapabilityFlagsKHR flags; 9060 VkDeviceSize minBitstreamBufferOffsetAlignment; 9061 VkDeviceSize minBitstreamBufferSizeAlignment; 9062 VkExtent2D pictureAccessGranularity; 9063 VkExtent2D minCodedExtent; 9064 VkExtent2D maxCodedExtent; 9065 uint32_t maxDpbSlots; 9066 uint32_t maxActiveReferencePictures; 9067 VkExtensionProperties stdHeaderVersion; 9068 } VkVideoCapabilitiesKHR; 9069 9070 typedef struct VkPhysicalDeviceVideoFormatInfoKHR { 9071 VkStructureType sType; 9072 const void* pNext; 9073 VkImageUsageFlags imageUsage; 9074 } VkPhysicalDeviceVideoFormatInfoKHR; 9075 9076 typedef struct VkVideoFormatPropertiesKHR { 9077 VkStructureType sType; 9078 void* pNext; 9079 VkFormat format; 9080 VkComponentMapping componentMapping; 9081 VkImageCreateFlags imageCreateFlags; 9082 VkImageType imageType; 9083 VkImageTiling imageTiling; 9084 VkImageUsageFlags imageUsageFlags; 9085 } VkVideoFormatPropertiesKHR; 9086 9087 typedef struct VkVideoPictureResourceInfoKHR { 9088 VkStructureType sType; 9089 const void* pNext; 9090 VkOffset2D codedOffset; 9091 VkExtent2D codedExtent; 9092 uint32_t baseArrayLayer; 9093 VkImageView imageViewBinding; 9094 } VkVideoPictureResourceInfoKHR; 9095 9096 typedef struct VkVideoReferenceSlotInfoKHR { 9097 VkStructureType sType; 9098 const void* pNext; 9099 int32_t slotIndex; 9100 const VkVideoPictureResourceInfoKHR* pPictureResource; 9101 } VkVideoReferenceSlotInfoKHR; 9102 9103 typedef struct VkVideoSessionMemoryRequirementsKHR { 9104 VkStructureType sType; 9105 void* pNext; 9106 uint32_t memoryBindIndex; 9107 VkMemoryRequirements memoryRequirements; 9108 } VkVideoSessionMemoryRequirementsKHR; 9109 9110 typedef struct VkBindVideoSessionMemoryInfoKHR { 9111 VkStructureType sType; 9112 const void* pNext; 9113 uint32_t memoryBindIndex; 9114 VkDeviceMemory memory; 9115 VkDeviceSize memoryOffset; 9116 VkDeviceSize memorySize; 9117 } VkBindVideoSessionMemoryInfoKHR; 9118 9119 typedef struct VkVideoSessionCreateInfoKHR { 9120 VkStructureType sType; 9121 const void* pNext; 9122 uint32_t queueFamilyIndex; 9123 VkVideoSessionCreateFlagsKHR flags; 9124 const VkVideoProfileInfoKHR* pVideoProfile; 9125 VkFormat pictureFormat; 9126 VkExtent2D maxCodedExtent; 9127 VkFormat referencePictureFormat; 9128 uint32_t maxDpbSlots; 9129 uint32_t maxActiveReferencePictures; 9130 const VkExtensionProperties* pStdHeaderVersion; 9131 } VkVideoSessionCreateInfoKHR; 9132 9133 typedef struct VkVideoSessionParametersCreateInfoKHR { 9134 VkStructureType sType; 9135 const void* pNext; 9136 VkVideoSessionParametersCreateFlagsKHR flags; 9137 VkVideoSessionParametersKHR videoSessionParametersTemplate; 9138 VkVideoSessionKHR videoSession; 9139 } VkVideoSessionParametersCreateInfoKHR; 9140 9141 typedef struct VkVideoSessionParametersUpdateInfoKHR { 9142 VkStructureType sType; 9143 const void* pNext; 9144 uint32_t updateSequenceCount; 9145 } VkVideoSessionParametersUpdateInfoKHR; 9146 9147 typedef struct VkVideoBeginCodingInfoKHR { 9148 VkStructureType sType; 9149 const void* pNext; 9150 VkVideoBeginCodingFlagsKHR flags; 9151 VkVideoSessionKHR videoSession; 9152 VkVideoSessionParametersKHR videoSessionParameters; 9153 uint32_t referenceSlotCount; 9154 const VkVideoReferenceSlotInfoKHR* pReferenceSlots; 9155 } VkVideoBeginCodingInfoKHR; 9156 9157 typedef struct VkVideoEndCodingInfoKHR { 9158 VkStructureType sType; 9159 const void* pNext; 9160 VkVideoEndCodingFlagsKHR flags; 9161 } VkVideoEndCodingInfoKHR; 9162 9163 typedef struct VkVideoCodingControlInfoKHR { 9164 VkStructureType sType; 9165 const void* pNext; 9166 VkVideoCodingControlFlagsKHR flags; 9167 } VkVideoCodingControlInfoKHR; 9168 9169 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR)(VkPhysicalDevice physicalDevice, const VkVideoProfileInfoKHR* pVideoProfile, VkVideoCapabilitiesKHR* pCapabilities); 9170 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceVideoFormatInfoKHR* pVideoFormatInfo, uint32_t* pVideoFormatPropertyCount, VkVideoFormatPropertiesKHR* pVideoFormatProperties); 9171 typedef VkResult (VKAPI_PTR *PFN_vkCreateVideoSessionKHR)(VkDevice device, const VkVideoSessionCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionKHR* pVideoSession); 9172 typedef void (VKAPI_PTR *PFN_vkDestroyVideoSessionKHR)(VkDevice device, VkVideoSessionKHR videoSession, const VkAllocationCallbacks* pAllocator); 9173 typedef VkResult (VKAPI_PTR *PFN_vkGetVideoSessionMemoryRequirementsKHR)(VkDevice device, VkVideoSessionKHR videoSession, uint32_t* pMemoryRequirementsCount, VkVideoSessionMemoryRequirementsKHR* pMemoryRequirements); 9174 typedef VkResult (VKAPI_PTR *PFN_vkBindVideoSessionMemoryKHR)(VkDevice device, VkVideoSessionKHR videoSession, uint32_t bindSessionMemoryInfoCount, const VkBindVideoSessionMemoryInfoKHR* pBindSessionMemoryInfos); 9175 typedef VkResult (VKAPI_PTR *PFN_vkCreateVideoSessionParametersKHR)(VkDevice device, const VkVideoSessionParametersCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionParametersKHR* pVideoSessionParameters); 9176 typedef VkResult (VKAPI_PTR *PFN_vkUpdateVideoSessionParametersKHR)(VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo); 9177 typedef void (VKAPI_PTR *PFN_vkDestroyVideoSessionParametersKHR)(VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkAllocationCallbacks* pAllocator); 9178 typedef void (VKAPI_PTR *PFN_vkCmdBeginVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoBeginCodingInfoKHR* pBeginInfo); 9179 typedef void (VKAPI_PTR *PFN_vkCmdEndVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoEndCodingInfoKHR* pEndCodingInfo); 9180 typedef void (VKAPI_PTR *PFN_vkCmdControlVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoCodingControlInfoKHR* pCodingControlInfo); 9181 9182 #ifndef VK_NO_PROTOTYPES 9183 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceVideoCapabilitiesKHR( 9184 VkPhysicalDevice physicalDevice, 9185 const VkVideoProfileInfoKHR* pVideoProfile, 9186 VkVideoCapabilitiesKHR* pCapabilities); 9187 9188 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceVideoFormatPropertiesKHR( 9189 VkPhysicalDevice physicalDevice, 9190 const VkPhysicalDeviceVideoFormatInfoKHR* pVideoFormatInfo, 9191 uint32_t* pVideoFormatPropertyCount, 9192 VkVideoFormatPropertiesKHR* pVideoFormatProperties); 9193 9194 VKAPI_ATTR VkResult VKAPI_CALL vkCreateVideoSessionKHR( 9195 VkDevice device, 9196 const VkVideoSessionCreateInfoKHR* pCreateInfo, 9197 const VkAllocationCallbacks* pAllocator, 9198 VkVideoSessionKHR* pVideoSession); 9199 9200 VKAPI_ATTR void VKAPI_CALL vkDestroyVideoSessionKHR( 9201 VkDevice device, 9202 VkVideoSessionKHR videoSession, 9203 const VkAllocationCallbacks* pAllocator); 9204 9205 VKAPI_ATTR VkResult VKAPI_CALL vkGetVideoSessionMemoryRequirementsKHR( 9206 VkDevice device, 9207 VkVideoSessionKHR videoSession, 9208 uint32_t* pMemoryRequirementsCount, 9209 VkVideoSessionMemoryRequirementsKHR* pMemoryRequirements); 9210 9211 VKAPI_ATTR VkResult VKAPI_CALL vkBindVideoSessionMemoryKHR( 9212 VkDevice device, 9213 VkVideoSessionKHR videoSession, 9214 uint32_t bindSessionMemoryInfoCount, 9215 const VkBindVideoSessionMemoryInfoKHR* pBindSessionMemoryInfos); 9216 9217 VKAPI_ATTR VkResult VKAPI_CALL vkCreateVideoSessionParametersKHR( 9218 VkDevice device, 9219 const VkVideoSessionParametersCreateInfoKHR* pCreateInfo, 9220 const VkAllocationCallbacks* pAllocator, 9221 VkVideoSessionParametersKHR* pVideoSessionParameters); 9222 9223 VKAPI_ATTR VkResult VKAPI_CALL vkUpdateVideoSessionParametersKHR( 9224 VkDevice device, 9225 VkVideoSessionParametersKHR videoSessionParameters, 9226 const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo); 9227 9228 VKAPI_ATTR void VKAPI_CALL vkDestroyVideoSessionParametersKHR( 9229 VkDevice device, 9230 VkVideoSessionParametersKHR videoSessionParameters, 9231 const VkAllocationCallbacks* pAllocator); 9232 9233 VKAPI_ATTR void VKAPI_CALL vkCmdBeginVideoCodingKHR( 9234 VkCommandBuffer commandBuffer, 9235 const VkVideoBeginCodingInfoKHR* pBeginInfo); 9236 9237 VKAPI_ATTR void VKAPI_CALL vkCmdEndVideoCodingKHR( 9238 VkCommandBuffer commandBuffer, 9239 const VkVideoEndCodingInfoKHR* pEndCodingInfo); 9240 9241 VKAPI_ATTR void VKAPI_CALL vkCmdControlVideoCodingKHR( 9242 VkCommandBuffer commandBuffer, 9243 const VkVideoCodingControlInfoKHR* pCodingControlInfo); 9244 #endif 9245 9246 9247 // VK_KHR_video_decode_queue is a preprocessor guard. Do not pass it to API calls. 9248 #define VK_KHR_video_decode_queue 1 9249 #define VK_KHR_VIDEO_DECODE_QUEUE_SPEC_VERSION 8 9250 #define VK_KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME "VK_KHR_video_decode_queue" 9251 9252 typedef enum VkVideoDecodeCapabilityFlagBitsKHR { 9253 VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_COINCIDE_BIT_KHR = 0x00000001, 9254 VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_DISTINCT_BIT_KHR = 0x00000002, 9255 VK_VIDEO_DECODE_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9256 } VkVideoDecodeCapabilityFlagBitsKHR; 9257 typedef VkFlags VkVideoDecodeCapabilityFlagsKHR; 9258 9259 typedef enum VkVideoDecodeUsageFlagBitsKHR { 9260 VK_VIDEO_DECODE_USAGE_DEFAULT_KHR = 0, 9261 VK_VIDEO_DECODE_USAGE_TRANSCODING_BIT_KHR = 0x00000001, 9262 VK_VIDEO_DECODE_USAGE_OFFLINE_BIT_KHR = 0x00000002, 9263 VK_VIDEO_DECODE_USAGE_STREAMING_BIT_KHR = 0x00000004, 9264 VK_VIDEO_DECODE_USAGE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9265 } VkVideoDecodeUsageFlagBitsKHR; 9266 typedef VkFlags VkVideoDecodeUsageFlagsKHR; 9267 typedef VkFlags VkVideoDecodeFlagsKHR; 9268 typedef struct VkVideoDecodeCapabilitiesKHR { 9269 VkStructureType sType; 9270 void* pNext; 9271 VkVideoDecodeCapabilityFlagsKHR flags; 9272 } VkVideoDecodeCapabilitiesKHR; 9273 9274 typedef struct VkVideoDecodeUsageInfoKHR { 9275 VkStructureType sType; 9276 const void* pNext; 9277 VkVideoDecodeUsageFlagsKHR videoUsageHints; 9278 } VkVideoDecodeUsageInfoKHR; 9279 9280 typedef struct VkVideoDecodeInfoKHR { 9281 VkStructureType sType; 9282 const void* pNext; 9283 VkVideoDecodeFlagsKHR flags; 9284 VkBuffer srcBuffer; 9285 VkDeviceSize srcBufferOffset; 9286 VkDeviceSize srcBufferRange; 9287 VkVideoPictureResourceInfoKHR dstPictureResource; 9288 const VkVideoReferenceSlotInfoKHR* pSetupReferenceSlot; 9289 uint32_t referenceSlotCount; 9290 const VkVideoReferenceSlotInfoKHR* pReferenceSlots; 9291 } VkVideoDecodeInfoKHR; 9292 9293 typedef void (VKAPI_PTR *PFN_vkCmdDecodeVideoKHR)(VkCommandBuffer commandBuffer, const VkVideoDecodeInfoKHR* pDecodeInfo); 9294 9295 #ifndef VK_NO_PROTOTYPES 9296 VKAPI_ATTR void VKAPI_CALL vkCmdDecodeVideoKHR( 9297 VkCommandBuffer commandBuffer, 9298 const VkVideoDecodeInfoKHR* pDecodeInfo); 9299 #endif 9300 9301 9302 // VK_KHR_video_encode_h264 is a preprocessor guard. Do not pass it to API calls. 9303 #define VK_KHR_video_encode_h264 1 9304 #include "vk_video/vulkan_video_codec_h264std.h" 9305 #include "vk_video/vulkan_video_codec_h264std_encode.h" 9306 #define VK_KHR_VIDEO_ENCODE_H264_SPEC_VERSION 14 9307 #define VK_KHR_VIDEO_ENCODE_H264_EXTENSION_NAME "VK_KHR_video_encode_h264" 9308 9309 typedef enum VkVideoEncodeH264CapabilityFlagBitsKHR { 9310 VK_VIDEO_ENCODE_H264_CAPABILITY_HRD_COMPLIANCE_BIT_KHR = 0x00000001, 9311 VK_VIDEO_ENCODE_H264_CAPABILITY_PREDICTION_WEIGHT_TABLE_GENERATED_BIT_KHR = 0x00000002, 9312 VK_VIDEO_ENCODE_H264_CAPABILITY_ROW_UNALIGNED_SLICE_BIT_KHR = 0x00000004, 9313 VK_VIDEO_ENCODE_H264_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_KHR = 0x00000008, 9314 VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L0_LIST_BIT_KHR = 0x00000010, 9315 VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_KHR = 0x00000020, 9316 VK_VIDEO_ENCODE_H264_CAPABILITY_PER_PICTURE_TYPE_MIN_MAX_QP_BIT_KHR = 0x00000040, 9317 VK_VIDEO_ENCODE_H264_CAPABILITY_PER_SLICE_CONSTANT_QP_BIT_KHR = 0x00000080, 9318 VK_VIDEO_ENCODE_H264_CAPABILITY_GENERATE_PREFIX_NALU_BIT_KHR = 0x00000100, 9319 VK_VIDEO_ENCODE_H264_CAPABILITY_MB_QP_DIFF_WRAPAROUND_BIT_KHR = 0x00000200, 9320 VK_VIDEO_ENCODE_H264_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9321 } VkVideoEncodeH264CapabilityFlagBitsKHR; 9322 typedef VkFlags VkVideoEncodeH264CapabilityFlagsKHR; 9323 9324 typedef enum VkVideoEncodeH264StdFlagBitsKHR { 9325 VK_VIDEO_ENCODE_H264_STD_SEPARATE_COLOR_PLANE_FLAG_SET_BIT_KHR = 0x00000001, 9326 VK_VIDEO_ENCODE_H264_STD_QPPRIME_Y_ZERO_TRANSFORM_BYPASS_FLAG_SET_BIT_KHR = 0x00000002, 9327 VK_VIDEO_ENCODE_H264_STD_SCALING_MATRIX_PRESENT_FLAG_SET_BIT_KHR = 0x00000004, 9328 VK_VIDEO_ENCODE_H264_STD_CHROMA_QP_INDEX_OFFSET_BIT_KHR = 0x00000008, 9329 VK_VIDEO_ENCODE_H264_STD_SECOND_CHROMA_QP_INDEX_OFFSET_BIT_KHR = 0x00000010, 9330 VK_VIDEO_ENCODE_H264_STD_PIC_INIT_QP_MINUS26_BIT_KHR = 0x00000020, 9331 VK_VIDEO_ENCODE_H264_STD_WEIGHTED_PRED_FLAG_SET_BIT_KHR = 0x00000040, 9332 VK_VIDEO_ENCODE_H264_STD_WEIGHTED_BIPRED_IDC_EXPLICIT_BIT_KHR = 0x00000080, 9333 VK_VIDEO_ENCODE_H264_STD_WEIGHTED_BIPRED_IDC_IMPLICIT_BIT_KHR = 0x00000100, 9334 VK_VIDEO_ENCODE_H264_STD_TRANSFORM_8X8_MODE_FLAG_SET_BIT_KHR = 0x00000200, 9335 VK_VIDEO_ENCODE_H264_STD_DIRECT_SPATIAL_MV_PRED_FLAG_UNSET_BIT_KHR = 0x00000400, 9336 VK_VIDEO_ENCODE_H264_STD_ENTROPY_CODING_MODE_FLAG_UNSET_BIT_KHR = 0x00000800, 9337 VK_VIDEO_ENCODE_H264_STD_ENTROPY_CODING_MODE_FLAG_SET_BIT_KHR = 0x00001000, 9338 VK_VIDEO_ENCODE_H264_STD_DIRECT_8X8_INFERENCE_FLAG_UNSET_BIT_KHR = 0x00002000, 9339 VK_VIDEO_ENCODE_H264_STD_CONSTRAINED_INTRA_PRED_FLAG_SET_BIT_KHR = 0x00004000, 9340 VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_DISABLED_BIT_KHR = 0x00008000, 9341 VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_ENABLED_BIT_KHR = 0x00010000, 9342 VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_PARTIAL_BIT_KHR = 0x00020000, 9343 VK_VIDEO_ENCODE_H264_STD_SLICE_QP_DELTA_BIT_KHR = 0x00080000, 9344 VK_VIDEO_ENCODE_H264_STD_DIFFERENT_SLICE_QP_DELTA_BIT_KHR = 0x00100000, 9345 VK_VIDEO_ENCODE_H264_STD_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9346 } VkVideoEncodeH264StdFlagBitsKHR; 9347 typedef VkFlags VkVideoEncodeH264StdFlagsKHR; 9348 9349 typedef enum VkVideoEncodeH264RateControlFlagBitsKHR { 9350 VK_VIDEO_ENCODE_H264_RATE_CONTROL_ATTEMPT_HRD_COMPLIANCE_BIT_KHR = 0x00000001, 9351 VK_VIDEO_ENCODE_H264_RATE_CONTROL_REGULAR_GOP_BIT_KHR = 0x00000002, 9352 VK_VIDEO_ENCODE_H264_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_KHR = 0x00000004, 9353 VK_VIDEO_ENCODE_H264_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_KHR = 0x00000008, 9354 VK_VIDEO_ENCODE_H264_RATE_CONTROL_TEMPORAL_LAYER_PATTERN_DYADIC_BIT_KHR = 0x00000010, 9355 VK_VIDEO_ENCODE_H264_RATE_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9356 } VkVideoEncodeH264RateControlFlagBitsKHR; 9357 typedef VkFlags VkVideoEncodeH264RateControlFlagsKHR; 9358 typedef struct VkVideoEncodeH264CapabilitiesKHR { 9359 VkStructureType sType; 9360 void* pNext; 9361 VkVideoEncodeH264CapabilityFlagsKHR flags; 9362 StdVideoH264LevelIdc maxLevelIdc; 9363 uint32_t maxSliceCount; 9364 uint32_t maxPPictureL0ReferenceCount; 9365 uint32_t maxBPictureL0ReferenceCount; 9366 uint32_t maxL1ReferenceCount; 9367 uint32_t maxTemporalLayerCount; 9368 VkBool32 expectDyadicTemporalLayerPattern; 9369 int32_t minQp; 9370 int32_t maxQp; 9371 VkBool32 prefersGopRemainingFrames; 9372 VkBool32 requiresGopRemainingFrames; 9373 VkVideoEncodeH264StdFlagsKHR stdSyntaxFlags; 9374 } VkVideoEncodeH264CapabilitiesKHR; 9375 9376 typedef struct VkVideoEncodeH264QpKHR { 9377 int32_t qpI; 9378 int32_t qpP; 9379 int32_t qpB; 9380 } VkVideoEncodeH264QpKHR; 9381 9382 typedef struct VkVideoEncodeH264QualityLevelPropertiesKHR { 9383 VkStructureType sType; 9384 void* pNext; 9385 VkVideoEncodeH264RateControlFlagsKHR preferredRateControlFlags; 9386 uint32_t preferredGopFrameCount; 9387 uint32_t preferredIdrPeriod; 9388 uint32_t preferredConsecutiveBFrameCount; 9389 uint32_t preferredTemporalLayerCount; 9390 VkVideoEncodeH264QpKHR preferredConstantQp; 9391 uint32_t preferredMaxL0ReferenceCount; 9392 uint32_t preferredMaxL1ReferenceCount; 9393 VkBool32 preferredStdEntropyCodingModeFlag; 9394 } VkVideoEncodeH264QualityLevelPropertiesKHR; 9395 9396 typedef struct VkVideoEncodeH264SessionCreateInfoKHR { 9397 VkStructureType sType; 9398 const void* pNext; 9399 VkBool32 useMaxLevelIdc; 9400 StdVideoH264LevelIdc maxLevelIdc; 9401 } VkVideoEncodeH264SessionCreateInfoKHR; 9402 9403 typedef struct VkVideoEncodeH264SessionParametersAddInfoKHR { 9404 VkStructureType sType; 9405 const void* pNext; 9406 uint32_t stdSPSCount; 9407 const StdVideoH264SequenceParameterSet* pStdSPSs; 9408 uint32_t stdPPSCount; 9409 const StdVideoH264PictureParameterSet* pStdPPSs; 9410 } VkVideoEncodeH264SessionParametersAddInfoKHR; 9411 9412 typedef struct VkVideoEncodeH264SessionParametersCreateInfoKHR { 9413 VkStructureType sType; 9414 const void* pNext; 9415 uint32_t maxStdSPSCount; 9416 uint32_t maxStdPPSCount; 9417 const VkVideoEncodeH264SessionParametersAddInfoKHR* pParametersAddInfo; 9418 } VkVideoEncodeH264SessionParametersCreateInfoKHR; 9419 9420 typedef struct VkVideoEncodeH264SessionParametersGetInfoKHR { 9421 VkStructureType sType; 9422 const void* pNext; 9423 VkBool32 writeStdSPS; 9424 VkBool32 writeStdPPS; 9425 uint32_t stdSPSId; 9426 uint32_t stdPPSId; 9427 } VkVideoEncodeH264SessionParametersGetInfoKHR; 9428 9429 typedef struct VkVideoEncodeH264SessionParametersFeedbackInfoKHR { 9430 VkStructureType sType; 9431 void* pNext; 9432 VkBool32 hasStdSPSOverrides; 9433 VkBool32 hasStdPPSOverrides; 9434 } VkVideoEncodeH264SessionParametersFeedbackInfoKHR; 9435 9436 typedef struct VkVideoEncodeH264NaluSliceInfoKHR { 9437 VkStructureType sType; 9438 const void* pNext; 9439 int32_t constantQp; 9440 const StdVideoEncodeH264SliceHeader* pStdSliceHeader; 9441 } VkVideoEncodeH264NaluSliceInfoKHR; 9442 9443 typedef struct VkVideoEncodeH264PictureInfoKHR { 9444 VkStructureType sType; 9445 const void* pNext; 9446 uint32_t naluSliceEntryCount; 9447 const VkVideoEncodeH264NaluSliceInfoKHR* pNaluSliceEntries; 9448 const StdVideoEncodeH264PictureInfo* pStdPictureInfo; 9449 VkBool32 generatePrefixNalu; 9450 } VkVideoEncodeH264PictureInfoKHR; 9451 9452 typedef struct VkVideoEncodeH264DpbSlotInfoKHR { 9453 VkStructureType sType; 9454 const void* pNext; 9455 const StdVideoEncodeH264ReferenceInfo* pStdReferenceInfo; 9456 } VkVideoEncodeH264DpbSlotInfoKHR; 9457 9458 typedef struct VkVideoEncodeH264ProfileInfoKHR { 9459 VkStructureType sType; 9460 const void* pNext; 9461 StdVideoH264ProfileIdc stdProfileIdc; 9462 } VkVideoEncodeH264ProfileInfoKHR; 9463 9464 typedef struct VkVideoEncodeH264RateControlInfoKHR { 9465 VkStructureType sType; 9466 const void* pNext; 9467 VkVideoEncodeH264RateControlFlagsKHR flags; 9468 uint32_t gopFrameCount; 9469 uint32_t idrPeriod; 9470 uint32_t consecutiveBFrameCount; 9471 uint32_t temporalLayerCount; 9472 } VkVideoEncodeH264RateControlInfoKHR; 9473 9474 typedef struct VkVideoEncodeH264FrameSizeKHR { 9475 uint32_t frameISize; 9476 uint32_t framePSize; 9477 uint32_t frameBSize; 9478 } VkVideoEncodeH264FrameSizeKHR; 9479 9480 typedef struct VkVideoEncodeH264RateControlLayerInfoKHR { 9481 VkStructureType sType; 9482 const void* pNext; 9483 VkBool32 useMinQp; 9484 VkVideoEncodeH264QpKHR minQp; 9485 VkBool32 useMaxQp; 9486 VkVideoEncodeH264QpKHR maxQp; 9487 VkBool32 useMaxFrameSize; 9488 VkVideoEncodeH264FrameSizeKHR maxFrameSize; 9489 } VkVideoEncodeH264RateControlLayerInfoKHR; 9490 9491 typedef struct VkVideoEncodeH264GopRemainingFrameInfoKHR { 9492 VkStructureType sType; 9493 const void* pNext; 9494 VkBool32 useGopRemainingFrames; 9495 uint32_t gopRemainingI; 9496 uint32_t gopRemainingP; 9497 uint32_t gopRemainingB; 9498 } VkVideoEncodeH264GopRemainingFrameInfoKHR; 9499 9500 9501 9502 // VK_KHR_video_encode_h265 is a preprocessor guard. Do not pass it to API calls. 9503 #define VK_KHR_video_encode_h265 1 9504 #include "vk_video/vulkan_video_codec_h265std.h" 9505 #include "vk_video/vulkan_video_codec_h265std_encode.h" 9506 #define VK_KHR_VIDEO_ENCODE_H265_SPEC_VERSION 14 9507 #define VK_KHR_VIDEO_ENCODE_H265_EXTENSION_NAME "VK_KHR_video_encode_h265" 9508 9509 typedef enum VkVideoEncodeH265CapabilityFlagBitsKHR { 9510 VK_VIDEO_ENCODE_H265_CAPABILITY_HRD_COMPLIANCE_BIT_KHR = 0x00000001, 9511 VK_VIDEO_ENCODE_H265_CAPABILITY_PREDICTION_WEIGHT_TABLE_GENERATED_BIT_KHR = 0x00000002, 9512 VK_VIDEO_ENCODE_H265_CAPABILITY_ROW_UNALIGNED_SLICE_SEGMENT_BIT_KHR = 0x00000004, 9513 VK_VIDEO_ENCODE_H265_CAPABILITY_DIFFERENT_SLICE_SEGMENT_TYPE_BIT_KHR = 0x00000008, 9514 VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L0_LIST_BIT_KHR = 0x00000010, 9515 VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_KHR = 0x00000020, 9516 VK_VIDEO_ENCODE_H265_CAPABILITY_PER_PICTURE_TYPE_MIN_MAX_QP_BIT_KHR = 0x00000040, 9517 VK_VIDEO_ENCODE_H265_CAPABILITY_PER_SLICE_SEGMENT_CONSTANT_QP_BIT_KHR = 0x00000080, 9518 VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILES_PER_SLICE_SEGMENT_BIT_KHR = 0x00000100, 9519 VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_SLICE_SEGMENTS_PER_TILE_BIT_KHR = 0x00000200, 9520 VK_VIDEO_ENCODE_H265_CAPABILITY_CU_QP_DIFF_WRAPAROUND_BIT_KHR = 0x00000400, 9521 VK_VIDEO_ENCODE_H265_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9522 } VkVideoEncodeH265CapabilityFlagBitsKHR; 9523 typedef VkFlags VkVideoEncodeH265CapabilityFlagsKHR; 9524 9525 typedef enum VkVideoEncodeH265StdFlagBitsKHR { 9526 VK_VIDEO_ENCODE_H265_STD_SEPARATE_COLOR_PLANE_FLAG_SET_BIT_KHR = 0x00000001, 9527 VK_VIDEO_ENCODE_H265_STD_SAMPLE_ADAPTIVE_OFFSET_ENABLED_FLAG_SET_BIT_KHR = 0x00000002, 9528 VK_VIDEO_ENCODE_H265_STD_SCALING_LIST_DATA_PRESENT_FLAG_SET_BIT_KHR = 0x00000004, 9529 VK_VIDEO_ENCODE_H265_STD_PCM_ENABLED_FLAG_SET_BIT_KHR = 0x00000008, 9530 VK_VIDEO_ENCODE_H265_STD_SPS_TEMPORAL_MVP_ENABLED_FLAG_SET_BIT_KHR = 0x00000010, 9531 VK_VIDEO_ENCODE_H265_STD_INIT_QP_MINUS26_BIT_KHR = 0x00000020, 9532 VK_VIDEO_ENCODE_H265_STD_WEIGHTED_PRED_FLAG_SET_BIT_KHR = 0x00000040, 9533 VK_VIDEO_ENCODE_H265_STD_WEIGHTED_BIPRED_FLAG_SET_BIT_KHR = 0x00000080, 9534 VK_VIDEO_ENCODE_H265_STD_LOG2_PARALLEL_MERGE_LEVEL_MINUS2_BIT_KHR = 0x00000100, 9535 VK_VIDEO_ENCODE_H265_STD_SIGN_DATA_HIDING_ENABLED_FLAG_SET_BIT_KHR = 0x00000200, 9536 VK_VIDEO_ENCODE_H265_STD_TRANSFORM_SKIP_ENABLED_FLAG_SET_BIT_KHR = 0x00000400, 9537 VK_VIDEO_ENCODE_H265_STD_TRANSFORM_SKIP_ENABLED_FLAG_UNSET_BIT_KHR = 0x00000800, 9538 VK_VIDEO_ENCODE_H265_STD_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT_FLAG_SET_BIT_KHR = 0x00001000, 9539 VK_VIDEO_ENCODE_H265_STD_TRANSQUANT_BYPASS_ENABLED_FLAG_SET_BIT_KHR = 0x00002000, 9540 VK_VIDEO_ENCODE_H265_STD_CONSTRAINED_INTRA_PRED_FLAG_SET_BIT_KHR = 0x00004000, 9541 VK_VIDEO_ENCODE_H265_STD_ENTROPY_CODING_SYNC_ENABLED_FLAG_SET_BIT_KHR = 0x00008000, 9542 VK_VIDEO_ENCODE_H265_STD_DEBLOCKING_FILTER_OVERRIDE_ENABLED_FLAG_SET_BIT_KHR = 0x00010000, 9543 VK_VIDEO_ENCODE_H265_STD_DEPENDENT_SLICE_SEGMENTS_ENABLED_FLAG_SET_BIT_KHR = 0x00020000, 9544 VK_VIDEO_ENCODE_H265_STD_DEPENDENT_SLICE_SEGMENT_FLAG_SET_BIT_KHR = 0x00040000, 9545 VK_VIDEO_ENCODE_H265_STD_SLICE_QP_DELTA_BIT_KHR = 0x00080000, 9546 VK_VIDEO_ENCODE_H265_STD_DIFFERENT_SLICE_QP_DELTA_BIT_KHR = 0x00100000, 9547 VK_VIDEO_ENCODE_H265_STD_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9548 } VkVideoEncodeH265StdFlagBitsKHR; 9549 typedef VkFlags VkVideoEncodeH265StdFlagsKHR; 9550 9551 typedef enum VkVideoEncodeH265CtbSizeFlagBitsKHR { 9552 VK_VIDEO_ENCODE_H265_CTB_SIZE_16_BIT_KHR = 0x00000001, 9553 VK_VIDEO_ENCODE_H265_CTB_SIZE_32_BIT_KHR = 0x00000002, 9554 VK_VIDEO_ENCODE_H265_CTB_SIZE_64_BIT_KHR = 0x00000004, 9555 VK_VIDEO_ENCODE_H265_CTB_SIZE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9556 } VkVideoEncodeH265CtbSizeFlagBitsKHR; 9557 typedef VkFlags VkVideoEncodeH265CtbSizeFlagsKHR; 9558 9559 typedef enum VkVideoEncodeH265TransformBlockSizeFlagBitsKHR { 9560 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_4_BIT_KHR = 0x00000001, 9561 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_8_BIT_KHR = 0x00000002, 9562 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_16_BIT_KHR = 0x00000004, 9563 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_32_BIT_KHR = 0x00000008, 9564 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9565 } VkVideoEncodeH265TransformBlockSizeFlagBitsKHR; 9566 typedef VkFlags VkVideoEncodeH265TransformBlockSizeFlagsKHR; 9567 9568 typedef enum VkVideoEncodeH265RateControlFlagBitsKHR { 9569 VK_VIDEO_ENCODE_H265_RATE_CONTROL_ATTEMPT_HRD_COMPLIANCE_BIT_KHR = 0x00000001, 9570 VK_VIDEO_ENCODE_H265_RATE_CONTROL_REGULAR_GOP_BIT_KHR = 0x00000002, 9571 VK_VIDEO_ENCODE_H265_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_KHR = 0x00000004, 9572 VK_VIDEO_ENCODE_H265_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_KHR = 0x00000008, 9573 VK_VIDEO_ENCODE_H265_RATE_CONTROL_TEMPORAL_SUB_LAYER_PATTERN_DYADIC_BIT_KHR = 0x00000010, 9574 VK_VIDEO_ENCODE_H265_RATE_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9575 } VkVideoEncodeH265RateControlFlagBitsKHR; 9576 typedef VkFlags VkVideoEncodeH265RateControlFlagsKHR; 9577 typedef struct VkVideoEncodeH265CapabilitiesKHR { 9578 VkStructureType sType; 9579 void* pNext; 9580 VkVideoEncodeH265CapabilityFlagsKHR flags; 9581 StdVideoH265LevelIdc maxLevelIdc; 9582 uint32_t maxSliceSegmentCount; 9583 VkExtent2D maxTiles; 9584 VkVideoEncodeH265CtbSizeFlagsKHR ctbSizes; 9585 VkVideoEncodeH265TransformBlockSizeFlagsKHR transformBlockSizes; 9586 uint32_t maxPPictureL0ReferenceCount; 9587 uint32_t maxBPictureL0ReferenceCount; 9588 uint32_t maxL1ReferenceCount; 9589 uint32_t maxSubLayerCount; 9590 VkBool32 expectDyadicTemporalSubLayerPattern; 9591 int32_t minQp; 9592 int32_t maxQp; 9593 VkBool32 prefersGopRemainingFrames; 9594 VkBool32 requiresGopRemainingFrames; 9595 VkVideoEncodeH265StdFlagsKHR stdSyntaxFlags; 9596 } VkVideoEncodeH265CapabilitiesKHR; 9597 9598 typedef struct VkVideoEncodeH265SessionCreateInfoKHR { 9599 VkStructureType sType; 9600 const void* pNext; 9601 VkBool32 useMaxLevelIdc; 9602 StdVideoH265LevelIdc maxLevelIdc; 9603 } VkVideoEncodeH265SessionCreateInfoKHR; 9604 9605 typedef struct VkVideoEncodeH265QpKHR { 9606 int32_t qpI; 9607 int32_t qpP; 9608 int32_t qpB; 9609 } VkVideoEncodeH265QpKHR; 9610 9611 typedef struct VkVideoEncodeH265QualityLevelPropertiesKHR { 9612 VkStructureType sType; 9613 void* pNext; 9614 VkVideoEncodeH265RateControlFlagsKHR preferredRateControlFlags; 9615 uint32_t preferredGopFrameCount; 9616 uint32_t preferredIdrPeriod; 9617 uint32_t preferredConsecutiveBFrameCount; 9618 uint32_t preferredSubLayerCount; 9619 VkVideoEncodeH265QpKHR preferredConstantQp; 9620 uint32_t preferredMaxL0ReferenceCount; 9621 uint32_t preferredMaxL1ReferenceCount; 9622 } VkVideoEncodeH265QualityLevelPropertiesKHR; 9623 9624 typedef struct VkVideoEncodeH265SessionParametersAddInfoKHR { 9625 VkStructureType sType; 9626 const void* pNext; 9627 uint32_t stdVPSCount; 9628 const StdVideoH265VideoParameterSet* pStdVPSs; 9629 uint32_t stdSPSCount; 9630 const StdVideoH265SequenceParameterSet* pStdSPSs; 9631 uint32_t stdPPSCount; 9632 const StdVideoH265PictureParameterSet* pStdPPSs; 9633 } VkVideoEncodeH265SessionParametersAddInfoKHR; 9634 9635 typedef struct VkVideoEncodeH265SessionParametersCreateInfoKHR { 9636 VkStructureType sType; 9637 const void* pNext; 9638 uint32_t maxStdVPSCount; 9639 uint32_t maxStdSPSCount; 9640 uint32_t maxStdPPSCount; 9641 const VkVideoEncodeH265SessionParametersAddInfoKHR* pParametersAddInfo; 9642 } VkVideoEncodeH265SessionParametersCreateInfoKHR; 9643 9644 typedef struct VkVideoEncodeH265SessionParametersGetInfoKHR { 9645 VkStructureType sType; 9646 const void* pNext; 9647 VkBool32 writeStdVPS; 9648 VkBool32 writeStdSPS; 9649 VkBool32 writeStdPPS; 9650 uint32_t stdVPSId; 9651 uint32_t stdSPSId; 9652 uint32_t stdPPSId; 9653 } VkVideoEncodeH265SessionParametersGetInfoKHR; 9654 9655 typedef struct VkVideoEncodeH265SessionParametersFeedbackInfoKHR { 9656 VkStructureType sType; 9657 void* pNext; 9658 VkBool32 hasStdVPSOverrides; 9659 VkBool32 hasStdSPSOverrides; 9660 VkBool32 hasStdPPSOverrides; 9661 } VkVideoEncodeH265SessionParametersFeedbackInfoKHR; 9662 9663 typedef struct VkVideoEncodeH265NaluSliceSegmentInfoKHR { 9664 VkStructureType sType; 9665 const void* pNext; 9666 int32_t constantQp; 9667 const StdVideoEncodeH265SliceSegmentHeader* pStdSliceSegmentHeader; 9668 } VkVideoEncodeH265NaluSliceSegmentInfoKHR; 9669 9670 typedef struct VkVideoEncodeH265PictureInfoKHR { 9671 VkStructureType sType; 9672 const void* pNext; 9673 uint32_t naluSliceSegmentEntryCount; 9674 const VkVideoEncodeH265NaluSliceSegmentInfoKHR* pNaluSliceSegmentEntries; 9675 const StdVideoEncodeH265PictureInfo* pStdPictureInfo; 9676 } VkVideoEncodeH265PictureInfoKHR; 9677 9678 typedef struct VkVideoEncodeH265DpbSlotInfoKHR { 9679 VkStructureType sType; 9680 const void* pNext; 9681 const StdVideoEncodeH265ReferenceInfo* pStdReferenceInfo; 9682 } VkVideoEncodeH265DpbSlotInfoKHR; 9683 9684 typedef struct VkVideoEncodeH265ProfileInfoKHR { 9685 VkStructureType sType; 9686 const void* pNext; 9687 StdVideoH265ProfileIdc stdProfileIdc; 9688 } VkVideoEncodeH265ProfileInfoKHR; 9689 9690 typedef struct VkVideoEncodeH265RateControlInfoKHR { 9691 VkStructureType sType; 9692 const void* pNext; 9693 VkVideoEncodeH265RateControlFlagsKHR flags; 9694 uint32_t gopFrameCount; 9695 uint32_t idrPeriod; 9696 uint32_t consecutiveBFrameCount; 9697 uint32_t subLayerCount; 9698 } VkVideoEncodeH265RateControlInfoKHR; 9699 9700 typedef struct VkVideoEncodeH265FrameSizeKHR { 9701 uint32_t frameISize; 9702 uint32_t framePSize; 9703 uint32_t frameBSize; 9704 } VkVideoEncodeH265FrameSizeKHR; 9705 9706 typedef struct VkVideoEncodeH265RateControlLayerInfoKHR { 9707 VkStructureType sType; 9708 const void* pNext; 9709 VkBool32 useMinQp; 9710 VkVideoEncodeH265QpKHR minQp; 9711 VkBool32 useMaxQp; 9712 VkVideoEncodeH265QpKHR maxQp; 9713 VkBool32 useMaxFrameSize; 9714 VkVideoEncodeH265FrameSizeKHR maxFrameSize; 9715 } VkVideoEncodeH265RateControlLayerInfoKHR; 9716 9717 typedef struct VkVideoEncodeH265GopRemainingFrameInfoKHR { 9718 VkStructureType sType; 9719 const void* pNext; 9720 VkBool32 useGopRemainingFrames; 9721 uint32_t gopRemainingI; 9722 uint32_t gopRemainingP; 9723 uint32_t gopRemainingB; 9724 } VkVideoEncodeH265GopRemainingFrameInfoKHR; 9725 9726 9727 9728 // VK_KHR_video_decode_h264 is a preprocessor guard. Do not pass it to API calls. 9729 #define VK_KHR_video_decode_h264 1 9730 #include "vk_video/vulkan_video_codec_h264std_decode.h" 9731 #define VK_KHR_VIDEO_DECODE_H264_SPEC_VERSION 9 9732 #define VK_KHR_VIDEO_DECODE_H264_EXTENSION_NAME "VK_KHR_video_decode_h264" 9733 9734 typedef enum VkVideoDecodeH264PictureLayoutFlagBitsKHR { 9735 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_PROGRESSIVE_KHR = 0, 9736 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_INTERLEAVED_LINES_BIT_KHR = 0x00000001, 9737 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_SEPARATE_PLANES_BIT_KHR = 0x00000002, 9738 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9739 } VkVideoDecodeH264PictureLayoutFlagBitsKHR; 9740 typedef VkFlags VkVideoDecodeH264PictureLayoutFlagsKHR; 9741 typedef struct VkVideoDecodeH264ProfileInfoKHR { 9742 VkStructureType sType; 9743 const void* pNext; 9744 StdVideoH264ProfileIdc stdProfileIdc; 9745 VkVideoDecodeH264PictureLayoutFlagBitsKHR pictureLayout; 9746 } VkVideoDecodeH264ProfileInfoKHR; 9747 9748 typedef struct VkVideoDecodeH264CapabilitiesKHR { 9749 VkStructureType sType; 9750 void* pNext; 9751 StdVideoH264LevelIdc maxLevelIdc; 9752 VkOffset2D fieldOffsetGranularity; 9753 } VkVideoDecodeH264CapabilitiesKHR; 9754 9755 typedef struct VkVideoDecodeH264SessionParametersAddInfoKHR { 9756 VkStructureType sType; 9757 const void* pNext; 9758 uint32_t stdSPSCount; 9759 const StdVideoH264SequenceParameterSet* pStdSPSs; 9760 uint32_t stdPPSCount; 9761 const StdVideoH264PictureParameterSet* pStdPPSs; 9762 } VkVideoDecodeH264SessionParametersAddInfoKHR; 9763 9764 typedef struct VkVideoDecodeH264SessionParametersCreateInfoKHR { 9765 VkStructureType sType; 9766 const void* pNext; 9767 uint32_t maxStdSPSCount; 9768 uint32_t maxStdPPSCount; 9769 const VkVideoDecodeH264SessionParametersAddInfoKHR* pParametersAddInfo; 9770 } VkVideoDecodeH264SessionParametersCreateInfoKHR; 9771 9772 typedef struct VkVideoDecodeH264PictureInfoKHR { 9773 VkStructureType sType; 9774 const void* pNext; 9775 const StdVideoDecodeH264PictureInfo* pStdPictureInfo; 9776 uint32_t sliceCount; 9777 const uint32_t* pSliceOffsets; 9778 } VkVideoDecodeH264PictureInfoKHR; 9779 9780 typedef struct VkVideoDecodeH264DpbSlotInfoKHR { 9781 VkStructureType sType; 9782 const void* pNext; 9783 const StdVideoDecodeH264ReferenceInfo* pStdReferenceInfo; 9784 } VkVideoDecodeH264DpbSlotInfoKHR; 9785 9786 9787 9788 // VK_KHR_dynamic_rendering is a preprocessor guard. Do not pass it to API calls. 9789 #define VK_KHR_dynamic_rendering 1 9790 #define VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION 1 9791 #define VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME "VK_KHR_dynamic_rendering" 9792 typedef VkRenderingFlags VkRenderingFlagsKHR; 9793 9794 typedef VkRenderingFlagBits VkRenderingFlagBitsKHR; 9795 9796 typedef VkRenderingInfo VkRenderingInfoKHR; 9797 9798 typedef VkRenderingAttachmentInfo VkRenderingAttachmentInfoKHR; 9799 9800 typedef VkPipelineRenderingCreateInfo VkPipelineRenderingCreateInfoKHR; 9801 9802 typedef VkPhysicalDeviceDynamicRenderingFeatures VkPhysicalDeviceDynamicRenderingFeaturesKHR; 9803 9804 typedef VkCommandBufferInheritanceRenderingInfo VkCommandBufferInheritanceRenderingInfoKHR; 9805 9806 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderingKHR)(VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo); 9807 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderingKHR)(VkCommandBuffer commandBuffer); 9808 9809 #ifndef VK_NO_PROTOTYPES 9810 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderingKHR( 9811 VkCommandBuffer commandBuffer, 9812 const VkRenderingInfo* pRenderingInfo); 9813 9814 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderingKHR( 9815 VkCommandBuffer commandBuffer); 9816 #endif 9817 9818 9819 // VK_KHR_multiview is a preprocessor guard. Do not pass it to API calls. 9820 #define VK_KHR_multiview 1 9821 #define VK_KHR_MULTIVIEW_SPEC_VERSION 1 9822 #define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview" 9823 typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR; 9824 9825 typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR; 9826 9827 typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR; 9828 9829 9830 9831 // VK_KHR_get_physical_device_properties2 is a preprocessor guard. Do not pass it to API calls. 9832 #define VK_KHR_get_physical_device_properties2 1 9833 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 2 9834 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2" 9835 typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR; 9836 9837 typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR; 9838 9839 typedef VkFormatProperties2 VkFormatProperties2KHR; 9840 9841 typedef VkImageFormatProperties2 VkImageFormatProperties2KHR; 9842 9843 typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR; 9844 9845 typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR; 9846 9847 typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR; 9848 9849 typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR; 9850 9851 typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR; 9852 9853 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures); 9854 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties); 9855 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties); 9856 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties); 9857 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties); 9858 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 9859 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties); 9860 9861 #ifndef VK_NO_PROTOTYPES 9862 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR( 9863 VkPhysicalDevice physicalDevice, 9864 VkPhysicalDeviceFeatures2* pFeatures); 9865 9866 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR( 9867 VkPhysicalDevice physicalDevice, 9868 VkPhysicalDeviceProperties2* pProperties); 9869 9870 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR( 9871 VkPhysicalDevice physicalDevice, 9872 VkFormat format, 9873 VkFormatProperties2* pFormatProperties); 9874 9875 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR( 9876 VkPhysicalDevice physicalDevice, 9877 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, 9878 VkImageFormatProperties2* pImageFormatProperties); 9879 9880 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR( 9881 VkPhysicalDevice physicalDevice, 9882 uint32_t* pQueueFamilyPropertyCount, 9883 VkQueueFamilyProperties2* pQueueFamilyProperties); 9884 9885 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR( 9886 VkPhysicalDevice physicalDevice, 9887 VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 9888 9889 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR( 9890 VkPhysicalDevice physicalDevice, 9891 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, 9892 uint32_t* pPropertyCount, 9893 VkSparseImageFormatProperties2* pProperties); 9894 #endif 9895 9896 9897 // VK_KHR_device_group is a preprocessor guard. Do not pass it to API calls. 9898 #define VK_KHR_device_group 1 9899 #define VK_KHR_DEVICE_GROUP_SPEC_VERSION 4 9900 #define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group" 9901 typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR; 9902 9903 typedef VkPeerMemoryFeatureFlagBits VkPeerMemoryFeatureFlagBitsKHR; 9904 9905 typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR; 9906 9907 typedef VkMemoryAllocateFlagBits VkMemoryAllocateFlagBitsKHR; 9908 9909 typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR; 9910 9911 typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR; 9912 9913 typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR; 9914 9915 typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR; 9916 9917 typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR; 9918 9919 typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR; 9920 9921 typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR; 9922 9923 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 9924 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer commandBuffer, uint32_t deviceMask); 9925 typedef void (VKAPI_PTR *PFN_vkCmdDispatchBaseKHR)(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ); 9926 9927 #ifndef VK_NO_PROTOTYPES 9928 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHR( 9929 VkDevice device, 9930 uint32_t heapIndex, 9931 uint32_t localDeviceIndex, 9932 uint32_t remoteDeviceIndex, 9933 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 9934 9935 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMaskKHR( 9936 VkCommandBuffer commandBuffer, 9937 uint32_t deviceMask); 9938 9939 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHR( 9940 VkCommandBuffer commandBuffer, 9941 uint32_t baseGroupX, 9942 uint32_t baseGroupY, 9943 uint32_t baseGroupZ, 9944 uint32_t groupCountX, 9945 uint32_t groupCountY, 9946 uint32_t groupCountZ); 9947 #endif 9948 9949 9950 // VK_KHR_shader_draw_parameters is a preprocessor guard. Do not pass it to API calls. 9951 #define VK_KHR_shader_draw_parameters 1 9952 #define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1 9953 #define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters" 9954 9955 9956 // VK_KHR_maintenance1 is a preprocessor guard. Do not pass it to API calls. 9957 #define VK_KHR_maintenance1 1 9958 #define VK_KHR_MAINTENANCE_1_SPEC_VERSION 2 9959 #define VK_KHR_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_maintenance1" 9960 // VK_KHR_MAINTENANCE1_SPEC_VERSION is a deprecated alias 9961 #define VK_KHR_MAINTENANCE1_SPEC_VERSION VK_KHR_MAINTENANCE_1_SPEC_VERSION 9962 // VK_KHR_MAINTENANCE1_EXTENSION_NAME is a deprecated alias 9963 #define VK_KHR_MAINTENANCE1_EXTENSION_NAME VK_KHR_MAINTENANCE_1_EXTENSION_NAME 9964 typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR; 9965 9966 typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags); 9967 9968 #ifndef VK_NO_PROTOTYPES 9969 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR( 9970 VkDevice device, 9971 VkCommandPool commandPool, 9972 VkCommandPoolTrimFlags flags); 9973 #endif 9974 9975 9976 // VK_KHR_device_group_creation is a preprocessor guard. Do not pass it to API calls. 9977 #define VK_KHR_device_group_creation 1 9978 #define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1 9979 #define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation" 9980 #define VK_MAX_DEVICE_GROUP_SIZE_KHR VK_MAX_DEVICE_GROUP_SIZE 9981 typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR; 9982 9983 typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR; 9984 9985 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 9986 9987 #ifndef VK_NO_PROTOTYPES 9988 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHR( 9989 VkInstance instance, 9990 uint32_t* pPhysicalDeviceGroupCount, 9991 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 9992 #endif 9993 9994 9995 // VK_KHR_external_memory_capabilities is a preprocessor guard. Do not pass it to API calls. 9996 #define VK_KHR_external_memory_capabilities 1 9997 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1 9998 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities" 9999 #define VK_LUID_SIZE_KHR VK_LUID_SIZE 10000 typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR; 10001 10002 typedef VkExternalMemoryHandleTypeFlagBits VkExternalMemoryHandleTypeFlagBitsKHR; 10003 10004 typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR; 10005 10006 typedef VkExternalMemoryFeatureFlagBits VkExternalMemoryFeatureFlagBitsKHR; 10007 10008 typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR; 10009 10010 typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR; 10011 10012 typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR; 10013 10014 typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR; 10015 10016 typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR; 10017 10018 typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR; 10019 10020 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties); 10021 10022 #ifndef VK_NO_PROTOTYPES 10023 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR( 10024 VkPhysicalDevice physicalDevice, 10025 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, 10026 VkExternalBufferProperties* pExternalBufferProperties); 10027 #endif 10028 10029 10030 // VK_KHR_external_memory is a preprocessor guard. Do not pass it to API calls. 10031 #define VK_KHR_external_memory 1 10032 #define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1 10033 #define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory" 10034 #define VK_QUEUE_FAMILY_EXTERNAL_KHR VK_QUEUE_FAMILY_EXTERNAL 10035 typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR; 10036 10037 typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR; 10038 10039 typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR; 10040 10041 10042 10043 // VK_KHR_external_memory_fd is a preprocessor guard. Do not pass it to API calls. 10044 #define VK_KHR_external_memory_fd 1 10045 #define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1 10046 #define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd" 10047 typedef struct VkImportMemoryFdInfoKHR { 10048 VkStructureType sType; 10049 const void* pNext; 10050 VkExternalMemoryHandleTypeFlagBits handleType; 10051 int fd; 10052 } VkImportMemoryFdInfoKHR; 10053 10054 typedef struct VkMemoryFdPropertiesKHR { 10055 VkStructureType sType; 10056 void* pNext; 10057 uint32_t memoryTypeBits; 10058 } VkMemoryFdPropertiesKHR; 10059 10060 typedef struct VkMemoryGetFdInfoKHR { 10061 VkStructureType sType; 10062 const void* pNext; 10063 VkDeviceMemory memory; 10064 VkExternalMemoryHandleTypeFlagBits handleType; 10065 } VkMemoryGetFdInfoKHR; 10066 10067 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd); 10068 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdPropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties); 10069 10070 #ifndef VK_NO_PROTOTYPES 10071 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR( 10072 VkDevice device, 10073 const VkMemoryGetFdInfoKHR* pGetFdInfo, 10074 int* pFd); 10075 10076 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR( 10077 VkDevice device, 10078 VkExternalMemoryHandleTypeFlagBits handleType, 10079 int fd, 10080 VkMemoryFdPropertiesKHR* pMemoryFdProperties); 10081 #endif 10082 10083 10084 // VK_KHR_external_semaphore_capabilities is a preprocessor guard. Do not pass it to API calls. 10085 #define VK_KHR_external_semaphore_capabilities 1 10086 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1 10087 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities" 10088 typedef VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreHandleTypeFlagsKHR; 10089 10090 typedef VkExternalSemaphoreHandleTypeFlagBits VkExternalSemaphoreHandleTypeFlagBitsKHR; 10091 10092 typedef VkExternalSemaphoreFeatureFlags VkExternalSemaphoreFeatureFlagsKHR; 10093 10094 typedef VkExternalSemaphoreFeatureFlagBits VkExternalSemaphoreFeatureFlagBitsKHR; 10095 10096 typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR; 10097 10098 typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR; 10099 10100 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 10101 10102 #ifndef VK_NO_PROTOTYPES 10103 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( 10104 VkPhysicalDevice physicalDevice, 10105 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, 10106 VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 10107 #endif 10108 10109 10110 // VK_KHR_external_semaphore is a preprocessor guard. Do not pass it to API calls. 10111 #define VK_KHR_external_semaphore 1 10112 #define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1 10113 #define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore" 10114 typedef VkSemaphoreImportFlags VkSemaphoreImportFlagsKHR; 10115 10116 typedef VkSemaphoreImportFlagBits VkSemaphoreImportFlagBitsKHR; 10117 10118 typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR; 10119 10120 10121 10122 // VK_KHR_external_semaphore_fd is a preprocessor guard. Do not pass it to API calls. 10123 #define VK_KHR_external_semaphore_fd 1 10124 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1 10125 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd" 10126 typedef struct VkImportSemaphoreFdInfoKHR { 10127 VkStructureType sType; 10128 const void* pNext; 10129 VkSemaphore semaphore; 10130 VkSemaphoreImportFlags flags; 10131 VkExternalSemaphoreHandleTypeFlagBits handleType; 10132 int fd; 10133 } VkImportSemaphoreFdInfoKHR; 10134 10135 typedef struct VkSemaphoreGetFdInfoKHR { 10136 VkStructureType sType; 10137 const void* pNext; 10138 VkSemaphore semaphore; 10139 VkExternalSemaphoreHandleTypeFlagBits handleType; 10140 } VkSemaphoreGetFdInfoKHR; 10141 10142 typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo); 10143 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd); 10144 10145 #ifndef VK_NO_PROTOTYPES 10146 VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR( 10147 VkDevice device, 10148 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo); 10149 10150 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR( 10151 VkDevice device, 10152 const VkSemaphoreGetFdInfoKHR* pGetFdInfo, 10153 int* pFd); 10154 #endif 10155 10156 10157 // VK_KHR_push_descriptor is a preprocessor guard. Do not pass it to API calls. 10158 #define VK_KHR_push_descriptor 1 10159 #define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2 10160 #define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor" 10161 typedef VkPhysicalDevicePushDescriptorProperties VkPhysicalDevicePushDescriptorPropertiesKHR; 10162 10163 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites); 10164 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData); 10165 10166 #ifndef VK_NO_PROTOTYPES 10167 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR( 10168 VkCommandBuffer commandBuffer, 10169 VkPipelineBindPoint pipelineBindPoint, 10170 VkPipelineLayout layout, 10171 uint32_t set, 10172 uint32_t descriptorWriteCount, 10173 const VkWriteDescriptorSet* pDescriptorWrites); 10174 10175 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR( 10176 VkCommandBuffer commandBuffer, 10177 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 10178 VkPipelineLayout layout, 10179 uint32_t set, 10180 const void* pData); 10181 #endif 10182 10183 10184 // VK_KHR_shader_float16_int8 is a preprocessor guard. Do not pass it to API calls. 10185 #define VK_KHR_shader_float16_int8 1 10186 #define VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION 1 10187 #define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8" 10188 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceShaderFloat16Int8FeaturesKHR; 10189 10190 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceFloat16Int8FeaturesKHR; 10191 10192 10193 10194 // VK_KHR_16bit_storage is a preprocessor guard. Do not pass it to API calls. 10195 #define VK_KHR_16bit_storage 1 10196 #define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1 10197 #define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage" 10198 typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR; 10199 10200 10201 10202 // VK_KHR_incremental_present is a preprocessor guard. Do not pass it to API calls. 10203 #define VK_KHR_incremental_present 1 10204 #define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 2 10205 #define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present" 10206 typedef struct VkRectLayerKHR { 10207 VkOffset2D offset; 10208 VkExtent2D extent; 10209 uint32_t layer; 10210 } VkRectLayerKHR; 10211 10212 typedef struct VkPresentRegionKHR { 10213 uint32_t rectangleCount; 10214 const VkRectLayerKHR* pRectangles; 10215 } VkPresentRegionKHR; 10216 10217 typedef struct VkPresentRegionsKHR { 10218 VkStructureType sType; 10219 const void* pNext; 10220 uint32_t swapchainCount; 10221 const VkPresentRegionKHR* pRegions; 10222 } VkPresentRegionsKHR; 10223 10224 10225 10226 // VK_KHR_descriptor_update_template is a preprocessor guard. Do not pass it to API calls. 10227 #define VK_KHR_descriptor_update_template 1 10228 typedef VkDescriptorUpdateTemplate VkDescriptorUpdateTemplateKHR; 10229 10230 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1 10231 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template" 10232 typedef VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateTypeKHR; 10233 10234 typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR; 10235 10236 typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR; 10237 10238 typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR; 10239 10240 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 10241 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator); 10242 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData); 10243 10244 #ifndef VK_NO_PROTOTYPES 10245 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR( 10246 VkDevice device, 10247 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, 10248 const VkAllocationCallbacks* pAllocator, 10249 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 10250 10251 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR( 10252 VkDevice device, 10253 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 10254 const VkAllocationCallbacks* pAllocator); 10255 10256 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR( 10257 VkDevice device, 10258 VkDescriptorSet descriptorSet, 10259 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 10260 const void* pData); 10261 #endif 10262 10263 10264 // VK_KHR_imageless_framebuffer is a preprocessor guard. Do not pass it to API calls. 10265 #define VK_KHR_imageless_framebuffer 1 10266 #define VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION 1 10267 #define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer" 10268 typedef VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeaturesKHR; 10269 10270 typedef VkFramebufferAttachmentsCreateInfo VkFramebufferAttachmentsCreateInfoKHR; 10271 10272 typedef VkFramebufferAttachmentImageInfo VkFramebufferAttachmentImageInfoKHR; 10273 10274 typedef VkRenderPassAttachmentBeginInfo VkRenderPassAttachmentBeginInfoKHR; 10275 10276 10277 10278 // VK_KHR_create_renderpass2 is a preprocessor guard. Do not pass it to API calls. 10279 #define VK_KHR_create_renderpass2 1 10280 #define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1 10281 #define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2" 10282 typedef VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR; 10283 10284 typedef VkAttachmentDescription2 VkAttachmentDescription2KHR; 10285 10286 typedef VkAttachmentReference2 VkAttachmentReference2KHR; 10287 10288 typedef VkSubpassDescription2 VkSubpassDescription2KHR; 10289 10290 typedef VkSubpassDependency2 VkSubpassDependency2KHR; 10291 10292 typedef VkSubpassBeginInfo VkSubpassBeginInfoKHR; 10293 10294 typedef VkSubpassEndInfo VkSubpassEndInfoKHR; 10295 10296 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2KHR)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); 10297 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo); 10298 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo); 10299 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo); 10300 10301 #ifndef VK_NO_PROTOTYPES 10302 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2KHR( 10303 VkDevice device, 10304 const VkRenderPassCreateInfo2* pCreateInfo, 10305 const VkAllocationCallbacks* pAllocator, 10306 VkRenderPass* pRenderPass); 10307 10308 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2KHR( 10309 VkCommandBuffer commandBuffer, 10310 const VkRenderPassBeginInfo* pRenderPassBegin, 10311 const VkSubpassBeginInfo* pSubpassBeginInfo); 10312 10313 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2KHR( 10314 VkCommandBuffer commandBuffer, 10315 const VkSubpassBeginInfo* pSubpassBeginInfo, 10316 const VkSubpassEndInfo* pSubpassEndInfo); 10317 10318 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2KHR( 10319 VkCommandBuffer commandBuffer, 10320 const VkSubpassEndInfo* pSubpassEndInfo); 10321 #endif 10322 10323 10324 // VK_KHR_shared_presentable_image is a preprocessor guard. Do not pass it to API calls. 10325 #define VK_KHR_shared_presentable_image 1 10326 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1 10327 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image" 10328 typedef struct VkSharedPresentSurfaceCapabilitiesKHR { 10329 VkStructureType sType; 10330 void* pNext; 10331 VkImageUsageFlags sharedPresentSupportedUsageFlags; 10332 } VkSharedPresentSurfaceCapabilitiesKHR; 10333 10334 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain); 10335 10336 #ifndef VK_NO_PROTOTYPES 10337 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR( 10338 VkDevice device, 10339 VkSwapchainKHR swapchain); 10340 #endif 10341 10342 10343 // VK_KHR_external_fence_capabilities is a preprocessor guard. Do not pass it to API calls. 10344 #define VK_KHR_external_fence_capabilities 1 10345 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1 10346 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities" 10347 typedef VkExternalFenceHandleTypeFlags VkExternalFenceHandleTypeFlagsKHR; 10348 10349 typedef VkExternalFenceHandleTypeFlagBits VkExternalFenceHandleTypeFlagBitsKHR; 10350 10351 typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR; 10352 10353 typedef VkExternalFenceFeatureFlagBits VkExternalFenceFeatureFlagBitsKHR; 10354 10355 typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR; 10356 10357 typedef VkExternalFenceProperties VkExternalFencePropertiesKHR; 10358 10359 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties); 10360 10361 #ifndef VK_NO_PROTOTYPES 10362 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFencePropertiesKHR( 10363 VkPhysicalDevice physicalDevice, 10364 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, 10365 VkExternalFenceProperties* pExternalFenceProperties); 10366 #endif 10367 10368 10369 // VK_KHR_external_fence is a preprocessor guard. Do not pass it to API calls. 10370 #define VK_KHR_external_fence 1 10371 #define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1 10372 #define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence" 10373 typedef VkFenceImportFlags VkFenceImportFlagsKHR; 10374 10375 typedef VkFenceImportFlagBits VkFenceImportFlagBitsKHR; 10376 10377 typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR; 10378 10379 10380 10381 // VK_KHR_external_fence_fd is a preprocessor guard. Do not pass it to API calls. 10382 #define VK_KHR_external_fence_fd 1 10383 #define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1 10384 #define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd" 10385 typedef struct VkImportFenceFdInfoKHR { 10386 VkStructureType sType; 10387 const void* pNext; 10388 VkFence fence; 10389 VkFenceImportFlags flags; 10390 VkExternalFenceHandleTypeFlagBits handleType; 10391 int fd; 10392 } VkImportFenceFdInfoKHR; 10393 10394 typedef struct VkFenceGetFdInfoKHR { 10395 VkStructureType sType; 10396 const void* pNext; 10397 VkFence fence; 10398 VkExternalFenceHandleTypeFlagBits handleType; 10399 } VkFenceGetFdInfoKHR; 10400 10401 typedef VkResult (VKAPI_PTR *PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo); 10402 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd); 10403 10404 #ifndef VK_NO_PROTOTYPES 10405 VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceFdKHR( 10406 VkDevice device, 10407 const VkImportFenceFdInfoKHR* pImportFenceFdInfo); 10408 10409 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceFdKHR( 10410 VkDevice device, 10411 const VkFenceGetFdInfoKHR* pGetFdInfo, 10412 int* pFd); 10413 #endif 10414 10415 10416 // VK_KHR_performance_query is a preprocessor guard. Do not pass it to API calls. 10417 #define VK_KHR_performance_query 1 10418 #define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1 10419 #define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query" 10420 10421 typedef enum VkPerformanceCounterUnitKHR { 10422 VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0, 10423 VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1, 10424 VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR = 2, 10425 VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR = 3, 10426 VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR = 4, 10427 VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR = 5, 10428 VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR = 6, 10429 VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR = 7, 10430 VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8, 10431 VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9, 10432 VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10, 10433 VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR = 0x7FFFFFFF 10434 } VkPerformanceCounterUnitKHR; 10435 10436 typedef enum VkPerformanceCounterScopeKHR { 10437 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR = 0, 10438 VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR = 1, 10439 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR = 2, 10440 // VK_QUERY_SCOPE_COMMAND_BUFFER_KHR is a deprecated alias 10441 VK_QUERY_SCOPE_COMMAND_BUFFER_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR, 10442 // VK_QUERY_SCOPE_RENDER_PASS_KHR is a deprecated alias 10443 VK_QUERY_SCOPE_RENDER_PASS_KHR = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR, 10444 // VK_QUERY_SCOPE_COMMAND_KHR is a deprecated alias 10445 VK_QUERY_SCOPE_COMMAND_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR, 10446 VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF 10447 } VkPerformanceCounterScopeKHR; 10448 10449 typedef enum VkPerformanceCounterStorageKHR { 10450 VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR = 0, 10451 VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR = 1, 10452 VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR = 2, 10453 VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3, 10454 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4, 10455 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5, 10456 VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = 0x7FFFFFFF 10457 } VkPerformanceCounterStorageKHR; 10458 10459 typedef enum VkPerformanceCounterDescriptionFlagBitsKHR { 10460 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR = 0x00000001, 10461 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR = 0x00000002, 10462 // VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR is a deprecated alias 10463 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR, 10464 // VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR is a deprecated alias 10465 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR, 10466 VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 10467 } VkPerformanceCounterDescriptionFlagBitsKHR; 10468 typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR; 10469 10470 typedef enum VkAcquireProfilingLockFlagBitsKHR { 10471 VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 10472 } VkAcquireProfilingLockFlagBitsKHR; 10473 typedef VkFlags VkAcquireProfilingLockFlagsKHR; 10474 typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR { 10475 VkStructureType sType; 10476 void* pNext; 10477 VkBool32 performanceCounterQueryPools; 10478 VkBool32 performanceCounterMultipleQueryPools; 10479 } VkPhysicalDevicePerformanceQueryFeaturesKHR; 10480 10481 typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR { 10482 VkStructureType sType; 10483 void* pNext; 10484 VkBool32 allowCommandBufferQueryCopies; 10485 } VkPhysicalDevicePerformanceQueryPropertiesKHR; 10486 10487 typedef struct VkPerformanceCounterKHR { 10488 VkStructureType sType; 10489 void* pNext; 10490 VkPerformanceCounterUnitKHR unit; 10491 VkPerformanceCounterScopeKHR scope; 10492 VkPerformanceCounterStorageKHR storage; 10493 uint8_t uuid[VK_UUID_SIZE]; 10494 } VkPerformanceCounterKHR; 10495 10496 typedef struct VkPerformanceCounterDescriptionKHR { 10497 VkStructureType sType; 10498 void* pNext; 10499 VkPerformanceCounterDescriptionFlagsKHR flags; 10500 char name[VK_MAX_DESCRIPTION_SIZE]; 10501 char category[VK_MAX_DESCRIPTION_SIZE]; 10502 char description[VK_MAX_DESCRIPTION_SIZE]; 10503 } VkPerformanceCounterDescriptionKHR; 10504 10505 typedef struct VkQueryPoolPerformanceCreateInfoKHR { 10506 VkStructureType sType; 10507 const void* pNext; 10508 uint32_t queueFamilyIndex; 10509 uint32_t counterIndexCount; 10510 const uint32_t* pCounterIndices; 10511 } VkQueryPoolPerformanceCreateInfoKHR; 10512 10513 typedef union VkPerformanceCounterResultKHR { 10514 int32_t int32; 10515 int64_t int64; 10516 uint32_t uint32; 10517 uint64_t uint64; 10518 float float32; 10519 double float64; 10520 } VkPerformanceCounterResultKHR; 10521 10522 typedef struct VkAcquireProfilingLockInfoKHR { 10523 VkStructureType sType; 10524 const void* pNext; 10525 VkAcquireProfilingLockFlagsKHR flags; 10526 uint64_t timeout; 10527 } VkAcquireProfilingLockInfoKHR; 10528 10529 typedef struct VkPerformanceQuerySubmitInfoKHR { 10530 VkStructureType sType; 10531 const void* pNext; 10532 uint32_t counterPassIndex; 10533 } VkPerformanceQuerySubmitInfoKHR; 10534 10535 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, uint32_t* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions); 10536 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)(VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, uint32_t* pNumPasses); 10537 typedef VkResult (VKAPI_PTR *PFN_vkAcquireProfilingLockKHR)(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo); 10538 typedef void (VKAPI_PTR *PFN_vkReleaseProfilingLockKHR)(VkDevice device); 10539 10540 #ifndef VK_NO_PROTOTYPES 10541 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( 10542 VkPhysicalDevice physicalDevice, 10543 uint32_t queueFamilyIndex, 10544 uint32_t* pCounterCount, 10545 VkPerformanceCounterKHR* pCounters, 10546 VkPerformanceCounterDescriptionKHR* pCounterDescriptions); 10547 10548 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR( 10549 VkPhysicalDevice physicalDevice, 10550 const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, 10551 uint32_t* pNumPasses); 10552 10553 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireProfilingLockKHR( 10554 VkDevice device, 10555 const VkAcquireProfilingLockInfoKHR* pInfo); 10556 10557 VKAPI_ATTR void VKAPI_CALL vkReleaseProfilingLockKHR( 10558 VkDevice device); 10559 #endif 10560 10561 10562 // VK_KHR_maintenance2 is a preprocessor guard. Do not pass it to API calls. 10563 #define VK_KHR_maintenance2 1 10564 #define VK_KHR_MAINTENANCE_2_SPEC_VERSION 1 10565 #define VK_KHR_MAINTENANCE_2_EXTENSION_NAME "VK_KHR_maintenance2" 10566 // VK_KHR_MAINTENANCE2_SPEC_VERSION is a deprecated alias 10567 #define VK_KHR_MAINTENANCE2_SPEC_VERSION VK_KHR_MAINTENANCE_2_SPEC_VERSION 10568 // VK_KHR_MAINTENANCE2_EXTENSION_NAME is a deprecated alias 10569 #define VK_KHR_MAINTENANCE2_EXTENSION_NAME VK_KHR_MAINTENANCE_2_EXTENSION_NAME 10570 typedef VkPointClippingBehavior VkPointClippingBehaviorKHR; 10571 10572 typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR; 10573 10574 typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR; 10575 10576 typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR; 10577 10578 typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR; 10579 10580 typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR; 10581 10582 typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR; 10583 10584 10585 10586 // VK_KHR_get_surface_capabilities2 is a preprocessor guard. Do not pass it to API calls. 10587 #define VK_KHR_get_surface_capabilities2 1 10588 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1 10589 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2" 10590 typedef struct VkPhysicalDeviceSurfaceInfo2KHR { 10591 VkStructureType sType; 10592 const void* pNext; 10593 VkSurfaceKHR surface; 10594 } VkPhysicalDeviceSurfaceInfo2KHR; 10595 10596 typedef struct VkSurfaceCapabilities2KHR { 10597 VkStructureType sType; 10598 void* pNext; 10599 VkSurfaceCapabilitiesKHR surfaceCapabilities; 10600 } VkSurfaceCapabilities2KHR; 10601 10602 typedef struct VkSurfaceFormat2KHR { 10603 VkStructureType sType; 10604 void* pNext; 10605 VkSurfaceFormatKHR surfaceFormat; 10606 } VkSurfaceFormat2KHR; 10607 10608 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities); 10609 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats); 10610 10611 #ifndef VK_NO_PROTOTYPES 10612 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR( 10613 VkPhysicalDevice physicalDevice, 10614 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, 10615 VkSurfaceCapabilities2KHR* pSurfaceCapabilities); 10616 10617 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR( 10618 VkPhysicalDevice physicalDevice, 10619 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, 10620 uint32_t* pSurfaceFormatCount, 10621 VkSurfaceFormat2KHR* pSurfaceFormats); 10622 #endif 10623 10624 10625 // VK_KHR_variable_pointers is a preprocessor guard. Do not pass it to API calls. 10626 #define VK_KHR_variable_pointers 1 10627 #define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1 10628 #define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers" 10629 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeaturesKHR; 10630 10631 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointersFeaturesKHR; 10632 10633 10634 10635 // VK_KHR_get_display_properties2 is a preprocessor guard. Do not pass it to API calls. 10636 #define VK_KHR_get_display_properties2 1 10637 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1 10638 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2" 10639 typedef struct VkDisplayProperties2KHR { 10640 VkStructureType sType; 10641 void* pNext; 10642 VkDisplayPropertiesKHR displayProperties; 10643 } VkDisplayProperties2KHR; 10644 10645 typedef struct VkDisplayPlaneProperties2KHR { 10646 VkStructureType sType; 10647 void* pNext; 10648 VkDisplayPlanePropertiesKHR displayPlaneProperties; 10649 } VkDisplayPlaneProperties2KHR; 10650 10651 typedef struct VkDisplayModeProperties2KHR { 10652 VkStructureType sType; 10653 void* pNext; 10654 VkDisplayModePropertiesKHR displayModeProperties; 10655 } VkDisplayModeProperties2KHR; 10656 10657 typedef struct VkDisplayPlaneInfo2KHR { 10658 VkStructureType sType; 10659 const void* pNext; 10660 VkDisplayModeKHR mode; 10661 uint32_t planeIndex; 10662 } VkDisplayPlaneInfo2KHR; 10663 10664 typedef struct VkDisplayPlaneCapabilities2KHR { 10665 VkStructureType sType; 10666 void* pNext; 10667 VkDisplayPlaneCapabilitiesKHR capabilities; 10668 } VkDisplayPlaneCapabilities2KHR; 10669 10670 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayProperties2KHR* pProperties); 10671 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties); 10672 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModeProperties2KHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModeProperties2KHR* pProperties); 10673 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities); 10674 10675 #ifndef VK_NO_PROTOTYPES 10676 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayProperties2KHR( 10677 VkPhysicalDevice physicalDevice, 10678 uint32_t* pPropertyCount, 10679 VkDisplayProperties2KHR* pProperties); 10680 10681 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlaneProperties2KHR( 10682 VkPhysicalDevice physicalDevice, 10683 uint32_t* pPropertyCount, 10684 VkDisplayPlaneProperties2KHR* pProperties); 10685 10686 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModeProperties2KHR( 10687 VkPhysicalDevice physicalDevice, 10688 VkDisplayKHR display, 10689 uint32_t* pPropertyCount, 10690 VkDisplayModeProperties2KHR* pProperties); 10691 10692 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilities2KHR( 10693 VkPhysicalDevice physicalDevice, 10694 const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, 10695 VkDisplayPlaneCapabilities2KHR* pCapabilities); 10696 #endif 10697 10698 10699 // VK_KHR_dedicated_allocation is a preprocessor guard. Do not pass it to API calls. 10700 #define VK_KHR_dedicated_allocation 1 10701 #define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3 10702 #define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation" 10703 typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR; 10704 10705 typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR; 10706 10707 10708 10709 // VK_KHR_storage_buffer_storage_class is a preprocessor guard. Do not pass it to API calls. 10710 #define VK_KHR_storage_buffer_storage_class 1 10711 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1 10712 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class" 10713 10714 10715 // VK_KHR_relaxed_block_layout is a preprocessor guard. Do not pass it to API calls. 10716 #define VK_KHR_relaxed_block_layout 1 10717 #define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1 10718 #define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout" 10719 10720 10721 // VK_KHR_get_memory_requirements2 is a preprocessor guard. Do not pass it to API calls. 10722 #define VK_KHR_get_memory_requirements2 1 10723 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1 10724 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2" 10725 typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR; 10726 10727 typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR; 10728 10729 typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR; 10730 10731 typedef VkMemoryRequirements2 VkMemoryRequirements2KHR; 10732 10733 typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR; 10734 10735 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); 10736 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); 10737 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 10738 10739 #ifndef VK_NO_PROTOTYPES 10740 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2KHR( 10741 VkDevice device, 10742 const VkImageMemoryRequirementsInfo2* pInfo, 10743 VkMemoryRequirements2* pMemoryRequirements); 10744 10745 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2KHR( 10746 VkDevice device, 10747 const VkBufferMemoryRequirementsInfo2* pInfo, 10748 VkMemoryRequirements2* pMemoryRequirements); 10749 10750 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR( 10751 VkDevice device, 10752 const VkImageSparseMemoryRequirementsInfo2* pInfo, 10753 uint32_t* pSparseMemoryRequirementCount, 10754 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 10755 #endif 10756 10757 10758 // VK_KHR_image_format_list is a preprocessor guard. Do not pass it to API calls. 10759 #define VK_KHR_image_format_list 1 10760 #define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1 10761 #define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list" 10762 typedef VkImageFormatListCreateInfo VkImageFormatListCreateInfoKHR; 10763 10764 10765 10766 // VK_KHR_sampler_ycbcr_conversion is a preprocessor guard. Do not pass it to API calls. 10767 #define VK_KHR_sampler_ycbcr_conversion 1 10768 typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR; 10769 10770 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 14 10771 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion" 10772 typedef VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR; 10773 10774 typedef VkSamplerYcbcrRange VkSamplerYcbcrRangeKHR; 10775 10776 typedef VkChromaLocation VkChromaLocationKHR; 10777 10778 typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR; 10779 10780 typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR; 10781 10782 typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR; 10783 10784 typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR; 10785 10786 typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR; 10787 10788 typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR; 10789 10790 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion); 10791 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator); 10792 10793 #ifndef VK_NO_PROTOTYPES 10794 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversionKHR( 10795 VkDevice device, 10796 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, 10797 const VkAllocationCallbacks* pAllocator, 10798 VkSamplerYcbcrConversion* pYcbcrConversion); 10799 10800 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversionKHR( 10801 VkDevice device, 10802 VkSamplerYcbcrConversion ycbcrConversion, 10803 const VkAllocationCallbacks* pAllocator); 10804 #endif 10805 10806 10807 // VK_KHR_bind_memory2 is a preprocessor guard. Do not pass it to API calls. 10808 #define VK_KHR_bind_memory2 1 10809 #define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1 10810 #define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2" 10811 typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR; 10812 10813 typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR; 10814 10815 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos); 10816 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos); 10817 10818 #ifndef VK_NO_PROTOTYPES 10819 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2KHR( 10820 VkDevice device, 10821 uint32_t bindInfoCount, 10822 const VkBindBufferMemoryInfo* pBindInfos); 10823 10824 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR( 10825 VkDevice device, 10826 uint32_t bindInfoCount, 10827 const VkBindImageMemoryInfo* pBindInfos); 10828 #endif 10829 10830 10831 // VK_KHR_maintenance3 is a preprocessor guard. Do not pass it to API calls. 10832 #define VK_KHR_maintenance3 1 10833 #define VK_KHR_MAINTENANCE_3_SPEC_VERSION 1 10834 #define VK_KHR_MAINTENANCE_3_EXTENSION_NAME "VK_KHR_maintenance3" 10835 // VK_KHR_MAINTENANCE3_SPEC_VERSION is a deprecated alias 10836 #define VK_KHR_MAINTENANCE3_SPEC_VERSION VK_KHR_MAINTENANCE_3_SPEC_VERSION 10837 // VK_KHR_MAINTENANCE3_EXTENSION_NAME is a deprecated alias 10838 #define VK_KHR_MAINTENANCE3_EXTENSION_NAME VK_KHR_MAINTENANCE_3_EXTENSION_NAME 10839 typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR; 10840 10841 typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR; 10842 10843 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport); 10844 10845 #ifndef VK_NO_PROTOTYPES 10846 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR( 10847 VkDevice device, 10848 const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 10849 VkDescriptorSetLayoutSupport* pSupport); 10850 #endif 10851 10852 10853 // VK_KHR_draw_indirect_count is a preprocessor guard. Do not pass it to API calls. 10854 #define VK_KHR_draw_indirect_count 1 10855 #define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1 10856 #define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count" 10857 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 10858 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 10859 10860 #ifndef VK_NO_PROTOTYPES 10861 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountKHR( 10862 VkCommandBuffer commandBuffer, 10863 VkBuffer buffer, 10864 VkDeviceSize offset, 10865 VkBuffer countBuffer, 10866 VkDeviceSize countBufferOffset, 10867 uint32_t maxDrawCount, 10868 uint32_t stride); 10869 10870 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountKHR( 10871 VkCommandBuffer commandBuffer, 10872 VkBuffer buffer, 10873 VkDeviceSize offset, 10874 VkBuffer countBuffer, 10875 VkDeviceSize countBufferOffset, 10876 uint32_t maxDrawCount, 10877 uint32_t stride); 10878 #endif 10879 10880 10881 // VK_KHR_shader_subgroup_extended_types is a preprocessor guard. Do not pass it to API calls. 10882 #define VK_KHR_shader_subgroup_extended_types 1 10883 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION 1 10884 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME "VK_KHR_shader_subgroup_extended_types" 10885 typedef VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR; 10886 10887 10888 10889 // VK_KHR_8bit_storage is a preprocessor guard. Do not pass it to API calls. 10890 #define VK_KHR_8bit_storage 1 10891 #define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1 10892 #define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage" 10893 typedef VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeaturesKHR; 10894 10895 10896 10897 // VK_KHR_shader_atomic_int64 is a preprocessor guard. Do not pass it to API calls. 10898 #define VK_KHR_shader_atomic_int64 1 10899 #define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1 10900 #define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64" 10901 typedef VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64FeaturesKHR; 10902 10903 10904 10905 // VK_KHR_shader_clock is a preprocessor guard. Do not pass it to API calls. 10906 #define VK_KHR_shader_clock 1 10907 #define VK_KHR_SHADER_CLOCK_SPEC_VERSION 1 10908 #define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock" 10909 typedef struct VkPhysicalDeviceShaderClockFeaturesKHR { 10910 VkStructureType sType; 10911 void* pNext; 10912 VkBool32 shaderSubgroupClock; 10913 VkBool32 shaderDeviceClock; 10914 } VkPhysicalDeviceShaderClockFeaturesKHR; 10915 10916 10917 10918 // VK_KHR_video_decode_h265 is a preprocessor guard. Do not pass it to API calls. 10919 #define VK_KHR_video_decode_h265 1 10920 #include "vk_video/vulkan_video_codec_h265std_decode.h" 10921 #define VK_KHR_VIDEO_DECODE_H265_SPEC_VERSION 8 10922 #define VK_KHR_VIDEO_DECODE_H265_EXTENSION_NAME "VK_KHR_video_decode_h265" 10923 typedef struct VkVideoDecodeH265ProfileInfoKHR { 10924 VkStructureType sType; 10925 const void* pNext; 10926 StdVideoH265ProfileIdc stdProfileIdc; 10927 } VkVideoDecodeH265ProfileInfoKHR; 10928 10929 typedef struct VkVideoDecodeH265CapabilitiesKHR { 10930 VkStructureType sType; 10931 void* pNext; 10932 StdVideoH265LevelIdc maxLevelIdc; 10933 } VkVideoDecodeH265CapabilitiesKHR; 10934 10935 typedef struct VkVideoDecodeH265SessionParametersAddInfoKHR { 10936 VkStructureType sType; 10937 const void* pNext; 10938 uint32_t stdVPSCount; 10939 const StdVideoH265VideoParameterSet* pStdVPSs; 10940 uint32_t stdSPSCount; 10941 const StdVideoH265SequenceParameterSet* pStdSPSs; 10942 uint32_t stdPPSCount; 10943 const StdVideoH265PictureParameterSet* pStdPPSs; 10944 } VkVideoDecodeH265SessionParametersAddInfoKHR; 10945 10946 typedef struct VkVideoDecodeH265SessionParametersCreateInfoKHR { 10947 VkStructureType sType; 10948 const void* pNext; 10949 uint32_t maxStdVPSCount; 10950 uint32_t maxStdSPSCount; 10951 uint32_t maxStdPPSCount; 10952 const VkVideoDecodeH265SessionParametersAddInfoKHR* pParametersAddInfo; 10953 } VkVideoDecodeH265SessionParametersCreateInfoKHR; 10954 10955 typedef struct VkVideoDecodeH265PictureInfoKHR { 10956 VkStructureType sType; 10957 const void* pNext; 10958 const StdVideoDecodeH265PictureInfo* pStdPictureInfo; 10959 uint32_t sliceSegmentCount; 10960 const uint32_t* pSliceSegmentOffsets; 10961 } VkVideoDecodeH265PictureInfoKHR; 10962 10963 typedef struct VkVideoDecodeH265DpbSlotInfoKHR { 10964 VkStructureType sType; 10965 const void* pNext; 10966 const StdVideoDecodeH265ReferenceInfo* pStdReferenceInfo; 10967 } VkVideoDecodeH265DpbSlotInfoKHR; 10968 10969 10970 10971 // VK_KHR_global_priority is a preprocessor guard. Do not pass it to API calls. 10972 #define VK_KHR_global_priority 1 10973 #define VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION 1 10974 #define VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME "VK_KHR_global_priority" 10975 #define VK_MAX_GLOBAL_PRIORITY_SIZE_KHR VK_MAX_GLOBAL_PRIORITY_SIZE 10976 typedef VkQueueGlobalPriority VkQueueGlobalPriorityKHR; 10977 10978 typedef VkDeviceQueueGlobalPriorityCreateInfo VkDeviceQueueGlobalPriorityCreateInfoKHR; 10979 10980 typedef VkPhysicalDeviceGlobalPriorityQueryFeatures VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR; 10981 10982 typedef VkQueueFamilyGlobalPriorityProperties VkQueueFamilyGlobalPriorityPropertiesKHR; 10983 10984 10985 10986 // VK_KHR_driver_properties is a preprocessor guard. Do not pass it to API calls. 10987 #define VK_KHR_driver_properties 1 10988 #define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1 10989 #define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties" 10990 #define VK_MAX_DRIVER_NAME_SIZE_KHR VK_MAX_DRIVER_NAME_SIZE 10991 #define VK_MAX_DRIVER_INFO_SIZE_KHR VK_MAX_DRIVER_INFO_SIZE 10992 typedef VkDriverId VkDriverIdKHR; 10993 10994 typedef VkConformanceVersion VkConformanceVersionKHR; 10995 10996 typedef VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverPropertiesKHR; 10997 10998 10999 11000 // VK_KHR_shader_float_controls is a preprocessor guard. Do not pass it to API calls. 11001 #define VK_KHR_shader_float_controls 1 11002 #define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 4 11003 #define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls" 11004 typedef VkShaderFloatControlsIndependence VkShaderFloatControlsIndependenceKHR; 11005 11006 typedef VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsPropertiesKHR; 11007 11008 11009 11010 // VK_KHR_depth_stencil_resolve is a preprocessor guard. Do not pass it to API calls. 11011 #define VK_KHR_depth_stencil_resolve 1 11012 #define VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION 1 11013 #define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME "VK_KHR_depth_stencil_resolve" 11014 typedef VkResolveModeFlagBits VkResolveModeFlagBitsKHR; 11015 11016 typedef VkResolveModeFlags VkResolveModeFlagsKHR; 11017 11018 typedef VkSubpassDescriptionDepthStencilResolve VkSubpassDescriptionDepthStencilResolveKHR; 11019 11020 typedef VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolvePropertiesKHR; 11021 11022 11023 11024 // VK_KHR_swapchain_mutable_format is a preprocessor guard. Do not pass it to API calls. 11025 #define VK_KHR_swapchain_mutable_format 1 11026 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1 11027 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME "VK_KHR_swapchain_mutable_format" 11028 11029 11030 // VK_KHR_timeline_semaphore is a preprocessor guard. Do not pass it to API calls. 11031 #define VK_KHR_timeline_semaphore 1 11032 #define VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION 2 11033 #define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore" 11034 typedef VkSemaphoreType VkSemaphoreTypeKHR; 11035 11036 typedef VkSemaphoreWaitFlagBits VkSemaphoreWaitFlagBitsKHR; 11037 11038 typedef VkSemaphoreWaitFlags VkSemaphoreWaitFlagsKHR; 11039 11040 typedef VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeaturesKHR; 11041 11042 typedef VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphorePropertiesKHR; 11043 11044 typedef VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR; 11045 11046 typedef VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR; 11047 11048 typedef VkSemaphoreWaitInfo VkSemaphoreWaitInfoKHR; 11049 11050 typedef VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR; 11051 11052 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValueKHR)(VkDevice device, VkSemaphore semaphore, uint64_t* pValue); 11053 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphoresKHR)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout); 11054 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphoreKHR)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo); 11055 11056 #ifndef VK_NO_PROTOTYPES 11057 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValueKHR( 11058 VkDevice device, 11059 VkSemaphore semaphore, 11060 uint64_t* pValue); 11061 11062 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphoresKHR( 11063 VkDevice device, 11064 const VkSemaphoreWaitInfo* pWaitInfo, 11065 uint64_t timeout); 11066 11067 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphoreKHR( 11068 VkDevice device, 11069 const VkSemaphoreSignalInfo* pSignalInfo); 11070 #endif 11071 11072 11073 // VK_KHR_vulkan_memory_model is a preprocessor guard. Do not pass it to API calls. 11074 #define VK_KHR_vulkan_memory_model 1 11075 #define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3 11076 #define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model" 11077 typedef VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeaturesKHR; 11078 11079 11080 11081 // VK_KHR_shader_terminate_invocation is a preprocessor guard. Do not pass it to API calls. 11082 #define VK_KHR_shader_terminate_invocation 1 11083 #define VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION 1 11084 #define VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME "VK_KHR_shader_terminate_invocation" 11085 typedef VkPhysicalDeviceShaderTerminateInvocationFeatures VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR; 11086 11087 11088 11089 // VK_KHR_fragment_shading_rate is a preprocessor guard. Do not pass it to API calls. 11090 #define VK_KHR_fragment_shading_rate 1 11091 #define VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION 2 11092 #define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate" 11093 11094 typedef enum VkFragmentShadingRateCombinerOpKHR { 11095 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0, 11096 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR = 1, 11097 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR = 2, 11098 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR = 3, 11099 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR = 4, 11100 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_ENUM_KHR = 0x7FFFFFFF 11101 } VkFragmentShadingRateCombinerOpKHR; 11102 typedef struct VkFragmentShadingRateAttachmentInfoKHR { 11103 VkStructureType sType; 11104 const void* pNext; 11105 const VkAttachmentReference2* pFragmentShadingRateAttachment; 11106 VkExtent2D shadingRateAttachmentTexelSize; 11107 } VkFragmentShadingRateAttachmentInfoKHR; 11108 11109 typedef struct VkPipelineFragmentShadingRateStateCreateInfoKHR { 11110 VkStructureType sType; 11111 const void* pNext; 11112 VkExtent2D fragmentSize; 11113 VkFragmentShadingRateCombinerOpKHR combinerOps[2]; 11114 } VkPipelineFragmentShadingRateStateCreateInfoKHR; 11115 11116 typedef struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR { 11117 VkStructureType sType; 11118 void* pNext; 11119 VkBool32 pipelineFragmentShadingRate; 11120 VkBool32 primitiveFragmentShadingRate; 11121 VkBool32 attachmentFragmentShadingRate; 11122 } VkPhysicalDeviceFragmentShadingRateFeaturesKHR; 11123 11124 typedef struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR { 11125 VkStructureType sType; 11126 void* pNext; 11127 VkExtent2D minFragmentShadingRateAttachmentTexelSize; 11128 VkExtent2D maxFragmentShadingRateAttachmentTexelSize; 11129 uint32_t maxFragmentShadingRateAttachmentTexelSizeAspectRatio; 11130 VkBool32 primitiveFragmentShadingRateWithMultipleViewports; 11131 VkBool32 layeredShadingRateAttachments; 11132 VkBool32 fragmentShadingRateNonTrivialCombinerOps; 11133 VkExtent2D maxFragmentSize; 11134 uint32_t maxFragmentSizeAspectRatio; 11135 uint32_t maxFragmentShadingRateCoverageSamples; 11136 VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples; 11137 VkBool32 fragmentShadingRateWithShaderDepthStencilWrites; 11138 VkBool32 fragmentShadingRateWithSampleMask; 11139 VkBool32 fragmentShadingRateWithShaderSampleMask; 11140 VkBool32 fragmentShadingRateWithConservativeRasterization; 11141 VkBool32 fragmentShadingRateWithFragmentShaderInterlock; 11142 VkBool32 fragmentShadingRateWithCustomSampleLocations; 11143 VkBool32 fragmentShadingRateStrictMultiplyCombiner; 11144 } VkPhysicalDeviceFragmentShadingRatePropertiesKHR; 11145 11146 typedef struct VkPhysicalDeviceFragmentShadingRateKHR { 11147 VkStructureType sType; 11148 void* pNext; 11149 VkSampleCountFlags sampleCounts; 11150 VkExtent2D fragmentSize; 11151 } VkPhysicalDeviceFragmentShadingRateKHR; 11152 11153 typedef struct VkRenderingFragmentShadingRateAttachmentInfoKHR { 11154 VkStructureType sType; 11155 const void* pNext; 11156 VkImageView imageView; 11157 VkImageLayout imageLayout; 11158 VkExtent2D shadingRateAttachmentTexelSize; 11159 } VkRenderingFragmentShadingRateAttachmentInfoKHR; 11160 11161 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates); 11162 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateKHR)(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); 11163 11164 #ifndef VK_NO_PROTOTYPES 11165 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceFragmentShadingRatesKHR( 11166 VkPhysicalDevice physicalDevice, 11167 uint32_t* pFragmentShadingRateCount, 11168 VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates); 11169 11170 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateKHR( 11171 VkCommandBuffer commandBuffer, 11172 const VkExtent2D* pFragmentSize, 11173 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); 11174 #endif 11175 11176 11177 // VK_KHR_dynamic_rendering_local_read is a preprocessor guard. Do not pass it to API calls. 11178 #define VK_KHR_dynamic_rendering_local_read 1 11179 #define VK_KHR_DYNAMIC_RENDERING_LOCAL_READ_SPEC_VERSION 1 11180 #define VK_KHR_DYNAMIC_RENDERING_LOCAL_READ_EXTENSION_NAME "VK_KHR_dynamic_rendering_local_read" 11181 typedef VkPhysicalDeviceDynamicRenderingLocalReadFeatures VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR; 11182 11183 typedef VkRenderingAttachmentLocationInfo VkRenderingAttachmentLocationInfoKHR; 11184 11185 typedef VkRenderingInputAttachmentIndexInfo VkRenderingInputAttachmentIndexInfoKHR; 11186 11187 typedef void (VKAPI_PTR *PFN_vkCmdSetRenderingAttachmentLocationsKHR)(VkCommandBuffer commandBuffer, const VkRenderingAttachmentLocationInfo* pLocationInfo); 11188 typedef void (VKAPI_PTR *PFN_vkCmdSetRenderingInputAttachmentIndicesKHR)(VkCommandBuffer commandBuffer, const VkRenderingInputAttachmentIndexInfo* pInputAttachmentIndexInfo); 11189 11190 #ifndef VK_NO_PROTOTYPES 11191 VKAPI_ATTR void VKAPI_CALL vkCmdSetRenderingAttachmentLocationsKHR( 11192 VkCommandBuffer commandBuffer, 11193 const VkRenderingAttachmentLocationInfo* pLocationInfo); 11194 11195 VKAPI_ATTR void VKAPI_CALL vkCmdSetRenderingInputAttachmentIndicesKHR( 11196 VkCommandBuffer commandBuffer, 11197 const VkRenderingInputAttachmentIndexInfo* pInputAttachmentIndexInfo); 11198 #endif 11199 11200 11201 // VK_KHR_shader_quad_control is a preprocessor guard. Do not pass it to API calls. 11202 #define VK_KHR_shader_quad_control 1 11203 #define VK_KHR_SHADER_QUAD_CONTROL_SPEC_VERSION 1 11204 #define VK_KHR_SHADER_QUAD_CONTROL_EXTENSION_NAME "VK_KHR_shader_quad_control" 11205 typedef struct VkPhysicalDeviceShaderQuadControlFeaturesKHR { 11206 VkStructureType sType; 11207 void* pNext; 11208 VkBool32 shaderQuadControl; 11209 } VkPhysicalDeviceShaderQuadControlFeaturesKHR; 11210 11211 11212 11213 // VK_KHR_spirv_1_4 is a preprocessor guard. Do not pass it to API calls. 11214 #define VK_KHR_spirv_1_4 1 11215 #define VK_KHR_SPIRV_1_4_SPEC_VERSION 1 11216 #define VK_KHR_SPIRV_1_4_EXTENSION_NAME "VK_KHR_spirv_1_4" 11217 11218 11219 // VK_KHR_surface_protected_capabilities is a preprocessor guard. Do not pass it to API calls. 11220 #define VK_KHR_surface_protected_capabilities 1 11221 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION 1 11222 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME "VK_KHR_surface_protected_capabilities" 11223 typedef struct VkSurfaceProtectedCapabilitiesKHR { 11224 VkStructureType sType; 11225 const void* pNext; 11226 VkBool32 supportsProtected; 11227 } VkSurfaceProtectedCapabilitiesKHR; 11228 11229 11230 11231 // VK_KHR_separate_depth_stencil_layouts is a preprocessor guard. Do not pass it to API calls. 11232 #define VK_KHR_separate_depth_stencil_layouts 1 11233 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION 1 11234 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME "VK_KHR_separate_depth_stencil_layouts" 11235 typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR; 11236 11237 typedef VkAttachmentReferenceStencilLayout VkAttachmentReferenceStencilLayoutKHR; 11238 11239 typedef VkAttachmentDescriptionStencilLayout VkAttachmentDescriptionStencilLayoutKHR; 11240 11241 11242 11243 // VK_KHR_present_wait is a preprocessor guard. Do not pass it to API calls. 11244 #define VK_KHR_present_wait 1 11245 #define VK_KHR_PRESENT_WAIT_SPEC_VERSION 1 11246 #define VK_KHR_PRESENT_WAIT_EXTENSION_NAME "VK_KHR_present_wait" 11247 typedef struct VkPhysicalDevicePresentWaitFeaturesKHR { 11248 VkStructureType sType; 11249 void* pNext; 11250 VkBool32 presentWait; 11251 } VkPhysicalDevicePresentWaitFeaturesKHR; 11252 11253 typedef VkResult (VKAPI_PTR *PFN_vkWaitForPresentKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout); 11254 11255 #ifndef VK_NO_PROTOTYPES 11256 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForPresentKHR( 11257 VkDevice device, 11258 VkSwapchainKHR swapchain, 11259 uint64_t presentId, 11260 uint64_t timeout); 11261 #endif 11262 11263 11264 // VK_KHR_uniform_buffer_standard_layout is a preprocessor guard. Do not pass it to API calls. 11265 #define VK_KHR_uniform_buffer_standard_layout 1 11266 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION 1 11267 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout" 11268 typedef VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR; 11269 11270 11271 11272 // VK_KHR_buffer_device_address is a preprocessor guard. Do not pass it to API calls. 11273 #define VK_KHR_buffer_device_address 1 11274 #define VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 1 11275 #define VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_KHR_buffer_device_address" 11276 typedef VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR; 11277 11278 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoKHR; 11279 11280 typedef VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfoKHR; 11281 11282 typedef VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR; 11283 11284 typedef VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR; 11285 11286 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 11287 typedef uint64_t (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 11288 typedef uint64_t (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); 11289 11290 #ifndef VK_NO_PROTOTYPES 11291 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressKHR( 11292 VkDevice device, 11293 const VkBufferDeviceAddressInfo* pInfo); 11294 11295 VKAPI_ATTR uint64_t VKAPI_CALL vkGetBufferOpaqueCaptureAddressKHR( 11296 VkDevice device, 11297 const VkBufferDeviceAddressInfo* pInfo); 11298 11299 VKAPI_ATTR uint64_t VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddressKHR( 11300 VkDevice device, 11301 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); 11302 #endif 11303 11304 11305 // VK_KHR_deferred_host_operations is a preprocessor guard. Do not pass it to API calls. 11306 #define VK_KHR_deferred_host_operations 1 11307 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR) 11308 #define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 4 11309 #define VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME "VK_KHR_deferred_host_operations" 11310 typedef VkResult (VKAPI_PTR *PFN_vkCreateDeferredOperationKHR)(VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation); 11311 typedef void (VKAPI_PTR *PFN_vkDestroyDeferredOperationKHR)(VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator); 11312 typedef uint32_t (VKAPI_PTR *PFN_vkGetDeferredOperationMaxConcurrencyKHR)(VkDevice device, VkDeferredOperationKHR operation); 11313 typedef VkResult (VKAPI_PTR *PFN_vkGetDeferredOperationResultKHR)(VkDevice device, VkDeferredOperationKHR operation); 11314 typedef VkResult (VKAPI_PTR *PFN_vkDeferredOperationJoinKHR)(VkDevice device, VkDeferredOperationKHR operation); 11315 11316 #ifndef VK_NO_PROTOTYPES 11317 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDeferredOperationKHR( 11318 VkDevice device, 11319 const VkAllocationCallbacks* pAllocator, 11320 VkDeferredOperationKHR* pDeferredOperation); 11321 11322 VKAPI_ATTR void VKAPI_CALL vkDestroyDeferredOperationKHR( 11323 VkDevice device, 11324 VkDeferredOperationKHR operation, 11325 const VkAllocationCallbacks* pAllocator); 11326 11327 VKAPI_ATTR uint32_t VKAPI_CALL vkGetDeferredOperationMaxConcurrencyKHR( 11328 VkDevice device, 11329 VkDeferredOperationKHR operation); 11330 11331 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeferredOperationResultKHR( 11332 VkDevice device, 11333 VkDeferredOperationKHR operation); 11334 11335 VKAPI_ATTR VkResult VKAPI_CALL vkDeferredOperationJoinKHR( 11336 VkDevice device, 11337 VkDeferredOperationKHR operation); 11338 #endif 11339 11340 11341 // VK_KHR_pipeline_executable_properties is a preprocessor guard. Do not pass it to API calls. 11342 #define VK_KHR_pipeline_executable_properties 1 11343 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION 1 11344 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties" 11345 11346 typedef enum VkPipelineExecutableStatisticFormatKHR { 11347 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR = 0, 11348 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR = 1, 11349 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR = 2, 11350 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR = 3, 11351 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR = 0x7FFFFFFF 11352 } VkPipelineExecutableStatisticFormatKHR; 11353 typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR { 11354 VkStructureType sType; 11355 void* pNext; 11356 VkBool32 pipelineExecutableInfo; 11357 } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR; 11358 11359 typedef struct VkPipelineInfoKHR { 11360 VkStructureType sType; 11361 const void* pNext; 11362 VkPipeline pipeline; 11363 } VkPipelineInfoKHR; 11364 11365 typedef struct VkPipelineExecutablePropertiesKHR { 11366 VkStructureType sType; 11367 void* pNext; 11368 VkShaderStageFlags stages; 11369 char name[VK_MAX_DESCRIPTION_SIZE]; 11370 char description[VK_MAX_DESCRIPTION_SIZE]; 11371 uint32_t subgroupSize; 11372 } VkPipelineExecutablePropertiesKHR; 11373 11374 typedef struct VkPipelineExecutableInfoKHR { 11375 VkStructureType sType; 11376 const void* pNext; 11377 VkPipeline pipeline; 11378 uint32_t executableIndex; 11379 } VkPipelineExecutableInfoKHR; 11380 11381 typedef union VkPipelineExecutableStatisticValueKHR { 11382 VkBool32 b32; 11383 int64_t i64; 11384 uint64_t u64; 11385 double f64; 11386 } VkPipelineExecutableStatisticValueKHR; 11387 11388 typedef struct VkPipelineExecutableStatisticKHR { 11389 VkStructureType sType; 11390 void* pNext; 11391 char name[VK_MAX_DESCRIPTION_SIZE]; 11392 char description[VK_MAX_DESCRIPTION_SIZE]; 11393 VkPipelineExecutableStatisticFormatKHR format; 11394 VkPipelineExecutableStatisticValueKHR value; 11395 } VkPipelineExecutableStatisticKHR; 11396 11397 typedef struct VkPipelineExecutableInternalRepresentationKHR { 11398 VkStructureType sType; 11399 void* pNext; 11400 char name[VK_MAX_DESCRIPTION_SIZE]; 11401 char description[VK_MAX_DESCRIPTION_SIZE]; 11402 VkBool32 isText; 11403 size_t dataSize; 11404 void* pData; 11405 } VkPipelineExecutableInternalRepresentationKHR; 11406 11407 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutablePropertiesKHR)(VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties); 11408 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableStatisticsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics); 11409 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableInternalRepresentationsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations); 11410 11411 #ifndef VK_NO_PROTOTYPES 11412 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutablePropertiesKHR( 11413 VkDevice device, 11414 const VkPipelineInfoKHR* pPipelineInfo, 11415 uint32_t* pExecutableCount, 11416 VkPipelineExecutablePropertiesKHR* pProperties); 11417 11418 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableStatisticsKHR( 11419 VkDevice device, 11420 const VkPipelineExecutableInfoKHR* pExecutableInfo, 11421 uint32_t* pStatisticCount, 11422 VkPipelineExecutableStatisticKHR* pStatistics); 11423 11424 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableInternalRepresentationsKHR( 11425 VkDevice device, 11426 const VkPipelineExecutableInfoKHR* pExecutableInfo, 11427 uint32_t* pInternalRepresentationCount, 11428 VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations); 11429 #endif 11430 11431 11432 // VK_KHR_map_memory2 is a preprocessor guard. Do not pass it to API calls. 11433 #define VK_KHR_map_memory2 1 11434 #define VK_KHR_MAP_MEMORY_2_SPEC_VERSION 1 11435 #define VK_KHR_MAP_MEMORY_2_EXTENSION_NAME "VK_KHR_map_memory2" 11436 typedef VkMemoryUnmapFlagBits VkMemoryUnmapFlagBitsKHR; 11437 11438 typedef VkMemoryUnmapFlags VkMemoryUnmapFlagsKHR; 11439 11440 typedef VkMemoryMapInfo VkMemoryMapInfoKHR; 11441 11442 typedef VkMemoryUnmapInfo VkMemoryUnmapInfoKHR; 11443 11444 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory2KHR)(VkDevice device, const VkMemoryMapInfo* pMemoryMapInfo, void** ppData); 11445 typedef VkResult (VKAPI_PTR *PFN_vkUnmapMemory2KHR)(VkDevice device, const VkMemoryUnmapInfo* pMemoryUnmapInfo); 11446 11447 #ifndef VK_NO_PROTOTYPES 11448 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory2KHR( 11449 VkDevice device, 11450 const VkMemoryMapInfo* pMemoryMapInfo, 11451 void** ppData); 11452 11453 VKAPI_ATTR VkResult VKAPI_CALL vkUnmapMemory2KHR( 11454 VkDevice device, 11455 const VkMemoryUnmapInfo* pMemoryUnmapInfo); 11456 #endif 11457 11458 11459 // VK_KHR_shader_integer_dot_product is a preprocessor guard. Do not pass it to API calls. 11460 #define VK_KHR_shader_integer_dot_product 1 11461 #define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION 1 11462 #define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME "VK_KHR_shader_integer_dot_product" 11463 typedef VkPhysicalDeviceShaderIntegerDotProductFeatures VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR; 11464 11465 typedef VkPhysicalDeviceShaderIntegerDotProductProperties VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR; 11466 11467 11468 11469 // VK_KHR_pipeline_library is a preprocessor guard. Do not pass it to API calls. 11470 #define VK_KHR_pipeline_library 1 11471 #define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1 11472 #define VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME "VK_KHR_pipeline_library" 11473 typedef struct VkPipelineLibraryCreateInfoKHR { 11474 VkStructureType sType; 11475 const void* pNext; 11476 uint32_t libraryCount; 11477 const VkPipeline* pLibraries; 11478 } VkPipelineLibraryCreateInfoKHR; 11479 11480 11481 11482 // VK_KHR_shader_non_semantic_info is a preprocessor guard. Do not pass it to API calls. 11483 #define VK_KHR_shader_non_semantic_info 1 11484 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION 1 11485 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME "VK_KHR_shader_non_semantic_info" 11486 11487 11488 // VK_KHR_present_id is a preprocessor guard. Do not pass it to API calls. 11489 #define VK_KHR_present_id 1 11490 #define VK_KHR_PRESENT_ID_SPEC_VERSION 1 11491 #define VK_KHR_PRESENT_ID_EXTENSION_NAME "VK_KHR_present_id" 11492 typedef struct VkPresentIdKHR { 11493 VkStructureType sType; 11494 const void* pNext; 11495 uint32_t swapchainCount; 11496 const uint64_t* pPresentIds; 11497 } VkPresentIdKHR; 11498 11499 typedef struct VkPhysicalDevicePresentIdFeaturesKHR { 11500 VkStructureType sType; 11501 void* pNext; 11502 VkBool32 presentId; 11503 } VkPhysicalDevicePresentIdFeaturesKHR; 11504 11505 11506 11507 // VK_KHR_video_encode_queue is a preprocessor guard. Do not pass it to API calls. 11508 #define VK_KHR_video_encode_queue 1 11509 #define VK_KHR_VIDEO_ENCODE_QUEUE_SPEC_VERSION 12 11510 #define VK_KHR_VIDEO_ENCODE_QUEUE_EXTENSION_NAME "VK_KHR_video_encode_queue" 11511 11512 typedef enum VkVideoEncodeTuningModeKHR { 11513 VK_VIDEO_ENCODE_TUNING_MODE_DEFAULT_KHR = 0, 11514 VK_VIDEO_ENCODE_TUNING_MODE_HIGH_QUALITY_KHR = 1, 11515 VK_VIDEO_ENCODE_TUNING_MODE_LOW_LATENCY_KHR = 2, 11516 VK_VIDEO_ENCODE_TUNING_MODE_ULTRA_LOW_LATENCY_KHR = 3, 11517 VK_VIDEO_ENCODE_TUNING_MODE_LOSSLESS_KHR = 4, 11518 VK_VIDEO_ENCODE_TUNING_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 11519 } VkVideoEncodeTuningModeKHR; 11520 11521 typedef enum VkVideoEncodeFlagBitsKHR { 11522 VK_VIDEO_ENCODE_WITH_QUANTIZATION_DELTA_MAP_BIT_KHR = 0x00000001, 11523 VK_VIDEO_ENCODE_WITH_EMPHASIS_MAP_BIT_KHR = 0x00000002, 11524 VK_VIDEO_ENCODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 11525 } VkVideoEncodeFlagBitsKHR; 11526 typedef VkFlags VkVideoEncodeFlagsKHR; 11527 11528 typedef enum VkVideoEncodeCapabilityFlagBitsKHR { 11529 VK_VIDEO_ENCODE_CAPABILITY_PRECEDING_EXTERNALLY_ENCODED_BYTES_BIT_KHR = 0x00000001, 11530 VK_VIDEO_ENCODE_CAPABILITY_INSUFFICIENT_BITSTREAM_BUFFER_RANGE_DETECTION_BIT_KHR = 0x00000002, 11531 VK_VIDEO_ENCODE_CAPABILITY_QUANTIZATION_DELTA_MAP_BIT_KHR = 0x00000004, 11532 VK_VIDEO_ENCODE_CAPABILITY_EMPHASIS_MAP_BIT_KHR = 0x00000008, 11533 VK_VIDEO_ENCODE_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 11534 } VkVideoEncodeCapabilityFlagBitsKHR; 11535 typedef VkFlags VkVideoEncodeCapabilityFlagsKHR; 11536 11537 typedef enum VkVideoEncodeRateControlModeFlagBitsKHR { 11538 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DEFAULT_KHR = 0, 11539 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DISABLED_BIT_KHR = 0x00000001, 11540 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_CBR_BIT_KHR = 0x00000002, 11541 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_VBR_BIT_KHR = 0x00000004, 11542 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 11543 } VkVideoEncodeRateControlModeFlagBitsKHR; 11544 typedef VkFlags VkVideoEncodeRateControlModeFlagsKHR; 11545 11546 typedef enum VkVideoEncodeFeedbackFlagBitsKHR { 11547 VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BUFFER_OFFSET_BIT_KHR = 0x00000001, 11548 VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BYTES_WRITTEN_BIT_KHR = 0x00000002, 11549 VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_HAS_OVERRIDES_BIT_KHR = 0x00000004, 11550 VK_VIDEO_ENCODE_FEEDBACK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 11551 } VkVideoEncodeFeedbackFlagBitsKHR; 11552 typedef VkFlags VkVideoEncodeFeedbackFlagsKHR; 11553 11554 typedef enum VkVideoEncodeUsageFlagBitsKHR { 11555 VK_VIDEO_ENCODE_USAGE_DEFAULT_KHR = 0, 11556 VK_VIDEO_ENCODE_USAGE_TRANSCODING_BIT_KHR = 0x00000001, 11557 VK_VIDEO_ENCODE_USAGE_STREAMING_BIT_KHR = 0x00000002, 11558 VK_VIDEO_ENCODE_USAGE_RECORDING_BIT_KHR = 0x00000004, 11559 VK_VIDEO_ENCODE_USAGE_CONFERENCING_BIT_KHR = 0x00000008, 11560 VK_VIDEO_ENCODE_USAGE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 11561 } VkVideoEncodeUsageFlagBitsKHR; 11562 typedef VkFlags VkVideoEncodeUsageFlagsKHR; 11563 11564 typedef enum VkVideoEncodeContentFlagBitsKHR { 11565 VK_VIDEO_ENCODE_CONTENT_DEFAULT_KHR = 0, 11566 VK_VIDEO_ENCODE_CONTENT_CAMERA_BIT_KHR = 0x00000001, 11567 VK_VIDEO_ENCODE_CONTENT_DESKTOP_BIT_KHR = 0x00000002, 11568 VK_VIDEO_ENCODE_CONTENT_RENDERED_BIT_KHR = 0x00000004, 11569 VK_VIDEO_ENCODE_CONTENT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 11570 } VkVideoEncodeContentFlagBitsKHR; 11571 typedef VkFlags VkVideoEncodeContentFlagsKHR; 11572 typedef VkFlags VkVideoEncodeRateControlFlagsKHR; 11573 typedef struct VkVideoEncodeInfoKHR { 11574 VkStructureType sType; 11575 const void* pNext; 11576 VkVideoEncodeFlagsKHR flags; 11577 VkBuffer dstBuffer; 11578 VkDeviceSize dstBufferOffset; 11579 VkDeviceSize dstBufferRange; 11580 VkVideoPictureResourceInfoKHR srcPictureResource; 11581 const VkVideoReferenceSlotInfoKHR* pSetupReferenceSlot; 11582 uint32_t referenceSlotCount; 11583 const VkVideoReferenceSlotInfoKHR* pReferenceSlots; 11584 uint32_t precedingExternallyEncodedBytes; 11585 } VkVideoEncodeInfoKHR; 11586 11587 typedef struct VkVideoEncodeCapabilitiesKHR { 11588 VkStructureType sType; 11589 void* pNext; 11590 VkVideoEncodeCapabilityFlagsKHR flags; 11591 VkVideoEncodeRateControlModeFlagsKHR rateControlModes; 11592 uint32_t maxRateControlLayers; 11593 uint64_t maxBitrate; 11594 uint32_t maxQualityLevels; 11595 VkExtent2D encodeInputPictureGranularity; 11596 VkVideoEncodeFeedbackFlagsKHR supportedEncodeFeedbackFlags; 11597 } VkVideoEncodeCapabilitiesKHR; 11598 11599 typedef struct VkQueryPoolVideoEncodeFeedbackCreateInfoKHR { 11600 VkStructureType sType; 11601 const void* pNext; 11602 VkVideoEncodeFeedbackFlagsKHR encodeFeedbackFlags; 11603 } VkQueryPoolVideoEncodeFeedbackCreateInfoKHR; 11604 11605 typedef struct VkVideoEncodeUsageInfoKHR { 11606 VkStructureType sType; 11607 const void* pNext; 11608 VkVideoEncodeUsageFlagsKHR videoUsageHints; 11609 VkVideoEncodeContentFlagsKHR videoContentHints; 11610 VkVideoEncodeTuningModeKHR tuningMode; 11611 } VkVideoEncodeUsageInfoKHR; 11612 11613 typedef struct VkVideoEncodeRateControlLayerInfoKHR { 11614 VkStructureType sType; 11615 const void* pNext; 11616 uint64_t averageBitrate; 11617 uint64_t maxBitrate; 11618 uint32_t frameRateNumerator; 11619 uint32_t frameRateDenominator; 11620 } VkVideoEncodeRateControlLayerInfoKHR; 11621 11622 typedef struct VkVideoEncodeRateControlInfoKHR { 11623 VkStructureType sType; 11624 const void* pNext; 11625 VkVideoEncodeRateControlFlagsKHR flags; 11626 VkVideoEncodeRateControlModeFlagBitsKHR rateControlMode; 11627 uint32_t layerCount; 11628 const VkVideoEncodeRateControlLayerInfoKHR* pLayers; 11629 uint32_t virtualBufferSizeInMs; 11630 uint32_t initialVirtualBufferSizeInMs; 11631 } VkVideoEncodeRateControlInfoKHR; 11632 11633 typedef struct VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR { 11634 VkStructureType sType; 11635 const void* pNext; 11636 const VkVideoProfileInfoKHR* pVideoProfile; 11637 uint32_t qualityLevel; 11638 } VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR; 11639 11640 typedef struct VkVideoEncodeQualityLevelPropertiesKHR { 11641 VkStructureType sType; 11642 void* pNext; 11643 VkVideoEncodeRateControlModeFlagBitsKHR preferredRateControlMode; 11644 uint32_t preferredRateControlLayerCount; 11645 } VkVideoEncodeQualityLevelPropertiesKHR; 11646 11647 typedef struct VkVideoEncodeQualityLevelInfoKHR { 11648 VkStructureType sType; 11649 const void* pNext; 11650 uint32_t qualityLevel; 11651 } VkVideoEncodeQualityLevelInfoKHR; 11652 11653 typedef struct VkVideoEncodeSessionParametersGetInfoKHR { 11654 VkStructureType sType; 11655 const void* pNext; 11656 VkVideoSessionParametersKHR videoSessionParameters; 11657 } VkVideoEncodeSessionParametersGetInfoKHR; 11658 11659 typedef struct VkVideoEncodeSessionParametersFeedbackInfoKHR { 11660 VkStructureType sType; 11661 void* pNext; 11662 VkBool32 hasOverrides; 11663 } VkVideoEncodeSessionParametersFeedbackInfoKHR; 11664 11665 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR* pQualityLevelInfo, VkVideoEncodeQualityLevelPropertiesKHR* pQualityLevelProperties); 11666 typedef VkResult (VKAPI_PTR *PFN_vkGetEncodedVideoSessionParametersKHR)(VkDevice device, const VkVideoEncodeSessionParametersGetInfoKHR* pVideoSessionParametersInfo, VkVideoEncodeSessionParametersFeedbackInfoKHR* pFeedbackInfo, size_t* pDataSize, void* pData); 11667 typedef void (VKAPI_PTR *PFN_vkCmdEncodeVideoKHR)(VkCommandBuffer commandBuffer, const VkVideoEncodeInfoKHR* pEncodeInfo); 11668 11669 #ifndef VK_NO_PROTOTYPES 11670 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR( 11671 VkPhysicalDevice physicalDevice, 11672 const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR* pQualityLevelInfo, 11673 VkVideoEncodeQualityLevelPropertiesKHR* pQualityLevelProperties); 11674 11675 VKAPI_ATTR VkResult VKAPI_CALL vkGetEncodedVideoSessionParametersKHR( 11676 VkDevice device, 11677 const VkVideoEncodeSessionParametersGetInfoKHR* pVideoSessionParametersInfo, 11678 VkVideoEncodeSessionParametersFeedbackInfoKHR* pFeedbackInfo, 11679 size_t* pDataSize, 11680 void* pData); 11681 11682 VKAPI_ATTR void VKAPI_CALL vkCmdEncodeVideoKHR( 11683 VkCommandBuffer commandBuffer, 11684 const VkVideoEncodeInfoKHR* pEncodeInfo); 11685 #endif 11686 11687 11688 // VK_KHR_synchronization2 is a preprocessor guard. Do not pass it to API calls. 11689 #define VK_KHR_synchronization2 1 11690 #define VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION 1 11691 #define VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME "VK_KHR_synchronization2" 11692 typedef VkPipelineStageFlags2 VkPipelineStageFlags2KHR; 11693 11694 typedef VkPipelineStageFlagBits2 VkPipelineStageFlagBits2KHR; 11695 11696 typedef VkAccessFlags2 VkAccessFlags2KHR; 11697 11698 typedef VkAccessFlagBits2 VkAccessFlagBits2KHR; 11699 11700 typedef VkSubmitFlagBits VkSubmitFlagBitsKHR; 11701 11702 typedef VkSubmitFlags VkSubmitFlagsKHR; 11703 11704 typedef VkMemoryBarrier2 VkMemoryBarrier2KHR; 11705 11706 typedef VkBufferMemoryBarrier2 VkBufferMemoryBarrier2KHR; 11707 11708 typedef VkImageMemoryBarrier2 VkImageMemoryBarrier2KHR; 11709 11710 typedef VkDependencyInfo VkDependencyInfoKHR; 11711 11712 typedef VkSubmitInfo2 VkSubmitInfo2KHR; 11713 11714 typedef VkSemaphoreSubmitInfo VkSemaphoreSubmitInfoKHR; 11715 11716 typedef VkCommandBufferSubmitInfo VkCommandBufferSubmitInfoKHR; 11717 11718 typedef VkPhysicalDeviceSynchronization2Features VkPhysicalDeviceSynchronization2FeaturesKHR; 11719 11720 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo); 11721 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask); 11722 typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2KHR)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos); 11723 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2KHR)(VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo); 11724 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2KHR)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query); 11725 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2KHR)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence); 11726 11727 #ifndef VK_NO_PROTOTYPES 11728 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2KHR( 11729 VkCommandBuffer commandBuffer, 11730 VkEvent event, 11731 const VkDependencyInfo* pDependencyInfo); 11732 11733 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2KHR( 11734 VkCommandBuffer commandBuffer, 11735 VkEvent event, 11736 VkPipelineStageFlags2 stageMask); 11737 11738 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2KHR( 11739 VkCommandBuffer commandBuffer, 11740 uint32_t eventCount, 11741 const VkEvent* pEvents, 11742 const VkDependencyInfo* pDependencyInfos); 11743 11744 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2KHR( 11745 VkCommandBuffer commandBuffer, 11746 const VkDependencyInfo* pDependencyInfo); 11747 11748 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2KHR( 11749 VkCommandBuffer commandBuffer, 11750 VkPipelineStageFlags2 stage, 11751 VkQueryPool queryPool, 11752 uint32_t query); 11753 11754 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2KHR( 11755 VkQueue queue, 11756 uint32_t submitCount, 11757 const VkSubmitInfo2* pSubmits, 11758 VkFence fence); 11759 #endif 11760 11761 11762 // VK_KHR_fragment_shader_barycentric is a preprocessor guard. Do not pass it to API calls. 11763 #define VK_KHR_fragment_shader_barycentric 1 11764 #define VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1 11765 #define VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_KHR_fragment_shader_barycentric" 11766 typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR { 11767 VkStructureType sType; 11768 void* pNext; 11769 VkBool32 fragmentShaderBarycentric; 11770 } VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR; 11771 11772 typedef struct VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR { 11773 VkStructureType sType; 11774 void* pNext; 11775 VkBool32 triStripVertexOrderIndependentOfProvokingVertex; 11776 } VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR; 11777 11778 11779 11780 // VK_KHR_shader_subgroup_uniform_control_flow is a preprocessor guard. Do not pass it to API calls. 11781 #define VK_KHR_shader_subgroup_uniform_control_flow 1 11782 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION 1 11783 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME "VK_KHR_shader_subgroup_uniform_control_flow" 11784 typedef struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR { 11785 VkStructureType sType; 11786 void* pNext; 11787 VkBool32 shaderSubgroupUniformControlFlow; 11788 } VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR; 11789 11790 11791 11792 // VK_KHR_zero_initialize_workgroup_memory is a preprocessor guard. Do not pass it to API calls. 11793 #define VK_KHR_zero_initialize_workgroup_memory 1 11794 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION 1 11795 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME "VK_KHR_zero_initialize_workgroup_memory" 11796 typedef VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR; 11797 11798 11799 11800 // VK_KHR_workgroup_memory_explicit_layout is a preprocessor guard. Do not pass it to API calls. 11801 #define VK_KHR_workgroup_memory_explicit_layout 1 11802 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION 1 11803 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME "VK_KHR_workgroup_memory_explicit_layout" 11804 typedef struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR { 11805 VkStructureType sType; 11806 void* pNext; 11807 VkBool32 workgroupMemoryExplicitLayout; 11808 VkBool32 workgroupMemoryExplicitLayoutScalarBlockLayout; 11809 VkBool32 workgroupMemoryExplicitLayout8BitAccess; 11810 VkBool32 workgroupMemoryExplicitLayout16BitAccess; 11811 } VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR; 11812 11813 11814 11815 // VK_KHR_copy_commands2 is a preprocessor guard. Do not pass it to API calls. 11816 #define VK_KHR_copy_commands2 1 11817 #define VK_KHR_COPY_COMMANDS_2_SPEC_VERSION 1 11818 #define VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME "VK_KHR_copy_commands2" 11819 typedef VkCopyBufferInfo2 VkCopyBufferInfo2KHR; 11820 11821 typedef VkCopyImageInfo2 VkCopyImageInfo2KHR; 11822 11823 typedef VkCopyBufferToImageInfo2 VkCopyBufferToImageInfo2KHR; 11824 11825 typedef VkCopyImageToBufferInfo2 VkCopyImageToBufferInfo2KHR; 11826 11827 typedef VkBlitImageInfo2 VkBlitImageInfo2KHR; 11828 11829 typedef VkResolveImageInfo2 VkResolveImageInfo2KHR; 11830 11831 typedef VkBufferCopy2 VkBufferCopy2KHR; 11832 11833 typedef VkImageCopy2 VkImageCopy2KHR; 11834 11835 typedef VkImageBlit2 VkImageBlit2KHR; 11836 11837 typedef VkBufferImageCopy2 VkBufferImageCopy2KHR; 11838 11839 typedef VkImageResolve2 VkImageResolve2KHR; 11840 11841 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo); 11842 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo); 11843 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo); 11844 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo); 11845 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2KHR)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo); 11846 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2KHR)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo); 11847 11848 #ifndef VK_NO_PROTOTYPES 11849 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2KHR( 11850 VkCommandBuffer commandBuffer, 11851 const VkCopyBufferInfo2* pCopyBufferInfo); 11852 11853 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2KHR( 11854 VkCommandBuffer commandBuffer, 11855 const VkCopyImageInfo2* pCopyImageInfo); 11856 11857 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2KHR( 11858 VkCommandBuffer commandBuffer, 11859 const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo); 11860 11861 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2KHR( 11862 VkCommandBuffer commandBuffer, 11863 const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo); 11864 11865 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2KHR( 11866 VkCommandBuffer commandBuffer, 11867 const VkBlitImageInfo2* pBlitImageInfo); 11868 11869 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2KHR( 11870 VkCommandBuffer commandBuffer, 11871 const VkResolveImageInfo2* pResolveImageInfo); 11872 #endif 11873 11874 11875 // VK_KHR_format_feature_flags2 is a preprocessor guard. Do not pass it to API calls. 11876 #define VK_KHR_format_feature_flags2 1 11877 #define VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION 2 11878 #define VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME "VK_KHR_format_feature_flags2" 11879 typedef VkFormatFeatureFlags2 VkFormatFeatureFlags2KHR; 11880 11881 typedef VkFormatFeatureFlagBits2 VkFormatFeatureFlagBits2KHR; 11882 11883 typedef VkFormatProperties3 VkFormatProperties3KHR; 11884 11885 11886 11887 // VK_KHR_ray_tracing_maintenance1 is a preprocessor guard. Do not pass it to API calls. 11888 #define VK_KHR_ray_tracing_maintenance1 1 11889 #define VK_KHR_RAY_TRACING_MAINTENANCE_1_SPEC_VERSION 1 11890 #define VK_KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_ray_tracing_maintenance1" 11891 typedef struct VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR { 11892 VkStructureType sType; 11893 void* pNext; 11894 VkBool32 rayTracingMaintenance1; 11895 VkBool32 rayTracingPipelineTraceRaysIndirect2; 11896 } VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR; 11897 11898 typedef struct VkTraceRaysIndirectCommand2KHR { 11899 VkDeviceAddress raygenShaderRecordAddress; 11900 VkDeviceSize raygenShaderRecordSize; 11901 VkDeviceAddress missShaderBindingTableAddress; 11902 VkDeviceSize missShaderBindingTableSize; 11903 VkDeviceSize missShaderBindingTableStride; 11904 VkDeviceAddress hitShaderBindingTableAddress; 11905 VkDeviceSize hitShaderBindingTableSize; 11906 VkDeviceSize hitShaderBindingTableStride; 11907 VkDeviceAddress callableShaderBindingTableAddress; 11908 VkDeviceSize callableShaderBindingTableSize; 11909 VkDeviceSize callableShaderBindingTableStride; 11910 uint32_t width; 11911 uint32_t height; 11912 uint32_t depth; 11913 } VkTraceRaysIndirectCommand2KHR; 11914 11915 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirect2KHR)(VkCommandBuffer commandBuffer, VkDeviceAddress indirectDeviceAddress); 11916 11917 #ifndef VK_NO_PROTOTYPES 11918 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirect2KHR( 11919 VkCommandBuffer commandBuffer, 11920 VkDeviceAddress indirectDeviceAddress); 11921 #endif 11922 11923 11924 // VK_KHR_portability_enumeration is a preprocessor guard. Do not pass it to API calls. 11925 #define VK_KHR_portability_enumeration 1 11926 #define VK_KHR_PORTABILITY_ENUMERATION_SPEC_VERSION 1 11927 #define VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME "VK_KHR_portability_enumeration" 11928 11929 11930 // VK_KHR_maintenance4 is a preprocessor guard. Do not pass it to API calls. 11931 #define VK_KHR_maintenance4 1 11932 #define VK_KHR_MAINTENANCE_4_SPEC_VERSION 2 11933 #define VK_KHR_MAINTENANCE_4_EXTENSION_NAME "VK_KHR_maintenance4" 11934 typedef VkPhysicalDeviceMaintenance4Features VkPhysicalDeviceMaintenance4FeaturesKHR; 11935 11936 typedef VkPhysicalDeviceMaintenance4Properties VkPhysicalDeviceMaintenance4PropertiesKHR; 11937 11938 typedef VkDeviceBufferMemoryRequirements VkDeviceBufferMemoryRequirementsKHR; 11939 11940 typedef VkDeviceImageMemoryRequirements VkDeviceImageMemoryRequirementsKHR; 11941 11942 typedef void (VKAPI_PTR *PFN_vkGetDeviceBufferMemoryRequirementsKHR)(VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements); 11943 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageMemoryRequirementsKHR)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements); 11944 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSparseMemoryRequirementsKHR)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 11945 11946 #ifndef VK_NO_PROTOTYPES 11947 VKAPI_ATTR void VKAPI_CALL vkGetDeviceBufferMemoryRequirementsKHR( 11948 VkDevice device, 11949 const VkDeviceBufferMemoryRequirements* pInfo, 11950 VkMemoryRequirements2* pMemoryRequirements); 11951 11952 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageMemoryRequirementsKHR( 11953 VkDevice device, 11954 const VkDeviceImageMemoryRequirements* pInfo, 11955 VkMemoryRequirements2* pMemoryRequirements); 11956 11957 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSparseMemoryRequirementsKHR( 11958 VkDevice device, 11959 const VkDeviceImageMemoryRequirements* pInfo, 11960 uint32_t* pSparseMemoryRequirementCount, 11961 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 11962 #endif 11963 11964 11965 // VK_KHR_shader_subgroup_rotate is a preprocessor guard. Do not pass it to API calls. 11966 #define VK_KHR_shader_subgroup_rotate 1 11967 #define VK_KHR_SHADER_SUBGROUP_ROTATE_SPEC_VERSION 2 11968 #define VK_KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME "VK_KHR_shader_subgroup_rotate" 11969 typedef VkPhysicalDeviceShaderSubgroupRotateFeatures VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR; 11970 11971 11972 11973 // VK_KHR_shader_maximal_reconvergence is a preprocessor guard. Do not pass it to API calls. 11974 #define VK_KHR_shader_maximal_reconvergence 1 11975 #define VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_SPEC_VERSION 1 11976 #define VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_EXTENSION_NAME "VK_KHR_shader_maximal_reconvergence" 11977 typedef struct VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR { 11978 VkStructureType sType; 11979 void* pNext; 11980 VkBool32 shaderMaximalReconvergence; 11981 } VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR; 11982 11983 11984 11985 // VK_KHR_maintenance5 is a preprocessor guard. Do not pass it to API calls. 11986 #define VK_KHR_maintenance5 1 11987 #define VK_KHR_MAINTENANCE_5_SPEC_VERSION 1 11988 #define VK_KHR_MAINTENANCE_5_EXTENSION_NAME "VK_KHR_maintenance5" 11989 typedef VkPipelineCreateFlags2 VkPipelineCreateFlags2KHR; 11990 11991 typedef VkPipelineCreateFlagBits2 VkPipelineCreateFlagBits2KHR; 11992 11993 typedef VkBufferUsageFlags2 VkBufferUsageFlags2KHR; 11994 11995 typedef VkBufferUsageFlagBits2 VkBufferUsageFlagBits2KHR; 11996 11997 typedef VkPhysicalDeviceMaintenance5Features VkPhysicalDeviceMaintenance5FeaturesKHR; 11998 11999 typedef VkPhysicalDeviceMaintenance5Properties VkPhysicalDeviceMaintenance5PropertiesKHR; 12000 12001 typedef VkRenderingAreaInfo VkRenderingAreaInfoKHR; 12002 12003 typedef VkDeviceImageSubresourceInfo VkDeviceImageSubresourceInfoKHR; 12004 12005 typedef VkImageSubresource2 VkImageSubresource2KHR; 12006 12007 typedef VkSubresourceLayout2 VkSubresourceLayout2KHR; 12008 12009 typedef VkPipelineCreateFlags2CreateInfo VkPipelineCreateFlags2CreateInfoKHR; 12010 12011 typedef VkBufferUsageFlags2CreateInfo VkBufferUsageFlags2CreateInfoKHR; 12012 12013 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer2KHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType); 12014 typedef void (VKAPI_PTR *PFN_vkGetRenderingAreaGranularityKHR)(VkDevice device, const VkRenderingAreaInfo* pRenderingAreaInfo, VkExtent2D* pGranularity); 12015 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSubresourceLayoutKHR)(VkDevice device, const VkDeviceImageSubresourceInfo* pInfo, VkSubresourceLayout2* pLayout); 12016 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout2KHR)(VkDevice device, VkImage image, const VkImageSubresource2* pSubresource, VkSubresourceLayout2* pLayout); 12017 12018 #ifndef VK_NO_PROTOTYPES 12019 VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer2KHR( 12020 VkCommandBuffer commandBuffer, 12021 VkBuffer buffer, 12022 VkDeviceSize offset, 12023 VkDeviceSize size, 12024 VkIndexType indexType); 12025 12026 VKAPI_ATTR void VKAPI_CALL vkGetRenderingAreaGranularityKHR( 12027 VkDevice device, 12028 const VkRenderingAreaInfo* pRenderingAreaInfo, 12029 VkExtent2D* pGranularity); 12030 12031 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSubresourceLayoutKHR( 12032 VkDevice device, 12033 const VkDeviceImageSubresourceInfo* pInfo, 12034 VkSubresourceLayout2* pLayout); 12035 12036 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout2KHR( 12037 VkDevice device, 12038 VkImage image, 12039 const VkImageSubresource2* pSubresource, 12040 VkSubresourceLayout2* pLayout); 12041 #endif 12042 12043 12044 // VK_KHR_ray_tracing_position_fetch is a preprocessor guard. Do not pass it to API calls. 12045 #define VK_KHR_ray_tracing_position_fetch 1 12046 #define VK_KHR_RAY_TRACING_POSITION_FETCH_SPEC_VERSION 1 12047 #define VK_KHR_RAY_TRACING_POSITION_FETCH_EXTENSION_NAME "VK_KHR_ray_tracing_position_fetch" 12048 typedef struct VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR { 12049 VkStructureType sType; 12050 void* pNext; 12051 VkBool32 rayTracingPositionFetch; 12052 } VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR; 12053 12054 12055 12056 // VK_KHR_pipeline_binary is a preprocessor guard. Do not pass it to API calls. 12057 #define VK_KHR_pipeline_binary 1 12058 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineBinaryKHR) 12059 #define VK_MAX_PIPELINE_BINARY_KEY_SIZE_KHR 32U 12060 #define VK_KHR_PIPELINE_BINARY_SPEC_VERSION 1 12061 #define VK_KHR_PIPELINE_BINARY_EXTENSION_NAME "VK_KHR_pipeline_binary" 12062 typedef struct VkPhysicalDevicePipelineBinaryFeaturesKHR { 12063 VkStructureType sType; 12064 void* pNext; 12065 VkBool32 pipelineBinaries; 12066 } VkPhysicalDevicePipelineBinaryFeaturesKHR; 12067 12068 typedef struct VkPhysicalDevicePipelineBinaryPropertiesKHR { 12069 VkStructureType sType; 12070 void* pNext; 12071 VkBool32 pipelineBinaryInternalCache; 12072 VkBool32 pipelineBinaryInternalCacheControl; 12073 VkBool32 pipelineBinaryPrefersInternalCache; 12074 VkBool32 pipelineBinaryPrecompiledInternalCache; 12075 VkBool32 pipelineBinaryCompressedData; 12076 } VkPhysicalDevicePipelineBinaryPropertiesKHR; 12077 12078 typedef struct VkDevicePipelineBinaryInternalCacheControlKHR { 12079 VkStructureType sType; 12080 const void* pNext; 12081 VkBool32 disableInternalCache; 12082 } VkDevicePipelineBinaryInternalCacheControlKHR; 12083 12084 typedef struct VkPipelineBinaryKeyKHR { 12085 VkStructureType sType; 12086 void* pNext; 12087 uint32_t keySize; 12088 uint8_t key[VK_MAX_PIPELINE_BINARY_KEY_SIZE_KHR]; 12089 } VkPipelineBinaryKeyKHR; 12090 12091 typedef struct VkPipelineBinaryDataKHR { 12092 size_t dataSize; 12093 void* pData; 12094 } VkPipelineBinaryDataKHR; 12095 12096 typedef struct VkPipelineBinaryKeysAndDataKHR { 12097 uint32_t binaryCount; 12098 const VkPipelineBinaryKeyKHR* pPipelineBinaryKeys; 12099 const VkPipelineBinaryDataKHR* pPipelineBinaryData; 12100 } VkPipelineBinaryKeysAndDataKHR; 12101 12102 typedef struct VkPipelineCreateInfoKHR { 12103 VkStructureType sType; 12104 void* pNext; 12105 } VkPipelineCreateInfoKHR; 12106 12107 typedef struct VkPipelineBinaryCreateInfoKHR { 12108 VkStructureType sType; 12109 const void* pNext; 12110 const VkPipelineBinaryKeysAndDataKHR* pKeysAndDataInfo; 12111 VkPipeline pipeline; 12112 const VkPipelineCreateInfoKHR* pPipelineCreateInfo; 12113 } VkPipelineBinaryCreateInfoKHR; 12114 12115 typedef struct VkPipelineBinaryInfoKHR { 12116 VkStructureType sType; 12117 const void* pNext; 12118 uint32_t binaryCount; 12119 const VkPipelineBinaryKHR* pPipelineBinaries; 12120 } VkPipelineBinaryInfoKHR; 12121 12122 typedef struct VkReleaseCapturedPipelineDataInfoKHR { 12123 VkStructureType sType; 12124 void* pNext; 12125 VkPipeline pipeline; 12126 } VkReleaseCapturedPipelineDataInfoKHR; 12127 12128 typedef struct VkPipelineBinaryDataInfoKHR { 12129 VkStructureType sType; 12130 void* pNext; 12131 VkPipelineBinaryKHR pipelineBinary; 12132 } VkPipelineBinaryDataInfoKHR; 12133 12134 typedef struct VkPipelineBinaryHandlesInfoKHR { 12135 VkStructureType sType; 12136 const void* pNext; 12137 uint32_t pipelineBinaryCount; 12138 VkPipelineBinaryKHR* pPipelineBinaries; 12139 } VkPipelineBinaryHandlesInfoKHR; 12140 12141 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineBinariesKHR)(VkDevice device, const VkPipelineBinaryCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineBinaryHandlesInfoKHR* pBinaries); 12142 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineBinaryKHR)(VkDevice device, VkPipelineBinaryKHR pipelineBinary, const VkAllocationCallbacks* pAllocator); 12143 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineKeyKHR)(VkDevice device, const VkPipelineCreateInfoKHR* pPipelineCreateInfo, VkPipelineBinaryKeyKHR* pPipelineKey); 12144 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineBinaryDataKHR)(VkDevice device, const VkPipelineBinaryDataInfoKHR* pInfo, VkPipelineBinaryKeyKHR* pPipelineBinaryKey, size_t* pPipelineBinaryDataSize, void* pPipelineBinaryData); 12145 typedef VkResult (VKAPI_PTR *PFN_vkReleaseCapturedPipelineDataKHR)(VkDevice device, const VkReleaseCapturedPipelineDataInfoKHR* pInfo, const VkAllocationCallbacks* pAllocator); 12146 12147 #ifndef VK_NO_PROTOTYPES 12148 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineBinariesKHR( 12149 VkDevice device, 12150 const VkPipelineBinaryCreateInfoKHR* pCreateInfo, 12151 const VkAllocationCallbacks* pAllocator, 12152 VkPipelineBinaryHandlesInfoKHR* pBinaries); 12153 12154 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineBinaryKHR( 12155 VkDevice device, 12156 VkPipelineBinaryKHR pipelineBinary, 12157 const VkAllocationCallbacks* pAllocator); 12158 12159 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineKeyKHR( 12160 VkDevice device, 12161 const VkPipelineCreateInfoKHR* pPipelineCreateInfo, 12162 VkPipelineBinaryKeyKHR* pPipelineKey); 12163 12164 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineBinaryDataKHR( 12165 VkDevice device, 12166 const VkPipelineBinaryDataInfoKHR* pInfo, 12167 VkPipelineBinaryKeyKHR* pPipelineBinaryKey, 12168 size_t* pPipelineBinaryDataSize, 12169 void* pPipelineBinaryData); 12170 12171 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseCapturedPipelineDataKHR( 12172 VkDevice device, 12173 const VkReleaseCapturedPipelineDataInfoKHR* pInfo, 12174 const VkAllocationCallbacks* pAllocator); 12175 #endif 12176 12177 12178 // VK_KHR_cooperative_matrix is a preprocessor guard. Do not pass it to API calls. 12179 #define VK_KHR_cooperative_matrix 1 12180 #define VK_KHR_COOPERATIVE_MATRIX_SPEC_VERSION 2 12181 #define VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_KHR_cooperative_matrix" 12182 12183 typedef enum VkComponentTypeKHR { 12184 VK_COMPONENT_TYPE_FLOAT16_KHR = 0, 12185 VK_COMPONENT_TYPE_FLOAT32_KHR = 1, 12186 VK_COMPONENT_TYPE_FLOAT64_KHR = 2, 12187 VK_COMPONENT_TYPE_SINT8_KHR = 3, 12188 VK_COMPONENT_TYPE_SINT16_KHR = 4, 12189 VK_COMPONENT_TYPE_SINT32_KHR = 5, 12190 VK_COMPONENT_TYPE_SINT64_KHR = 6, 12191 VK_COMPONENT_TYPE_UINT8_KHR = 7, 12192 VK_COMPONENT_TYPE_UINT16_KHR = 8, 12193 VK_COMPONENT_TYPE_UINT32_KHR = 9, 12194 VK_COMPONENT_TYPE_UINT64_KHR = 10, 12195 VK_COMPONENT_TYPE_SINT8_PACKED_NV = 1000491000, 12196 VK_COMPONENT_TYPE_UINT8_PACKED_NV = 1000491001, 12197 VK_COMPONENT_TYPE_FLOAT_E4M3_NV = 1000491002, 12198 VK_COMPONENT_TYPE_FLOAT_E5M2_NV = 1000491003, 12199 VK_COMPONENT_TYPE_FLOAT16_NV = VK_COMPONENT_TYPE_FLOAT16_KHR, 12200 VK_COMPONENT_TYPE_FLOAT32_NV = VK_COMPONENT_TYPE_FLOAT32_KHR, 12201 VK_COMPONENT_TYPE_FLOAT64_NV = VK_COMPONENT_TYPE_FLOAT64_KHR, 12202 VK_COMPONENT_TYPE_SINT8_NV = VK_COMPONENT_TYPE_SINT8_KHR, 12203 VK_COMPONENT_TYPE_SINT16_NV = VK_COMPONENT_TYPE_SINT16_KHR, 12204 VK_COMPONENT_TYPE_SINT32_NV = VK_COMPONENT_TYPE_SINT32_KHR, 12205 VK_COMPONENT_TYPE_SINT64_NV = VK_COMPONENT_TYPE_SINT64_KHR, 12206 VK_COMPONENT_TYPE_UINT8_NV = VK_COMPONENT_TYPE_UINT8_KHR, 12207 VK_COMPONENT_TYPE_UINT16_NV = VK_COMPONENT_TYPE_UINT16_KHR, 12208 VK_COMPONENT_TYPE_UINT32_NV = VK_COMPONENT_TYPE_UINT32_KHR, 12209 VK_COMPONENT_TYPE_UINT64_NV = VK_COMPONENT_TYPE_UINT64_KHR, 12210 VK_COMPONENT_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 12211 } VkComponentTypeKHR; 12212 12213 typedef enum VkScopeKHR { 12214 VK_SCOPE_DEVICE_KHR = 1, 12215 VK_SCOPE_WORKGROUP_KHR = 2, 12216 VK_SCOPE_SUBGROUP_KHR = 3, 12217 VK_SCOPE_QUEUE_FAMILY_KHR = 5, 12218 VK_SCOPE_DEVICE_NV = VK_SCOPE_DEVICE_KHR, 12219 VK_SCOPE_WORKGROUP_NV = VK_SCOPE_WORKGROUP_KHR, 12220 VK_SCOPE_SUBGROUP_NV = VK_SCOPE_SUBGROUP_KHR, 12221 VK_SCOPE_QUEUE_FAMILY_NV = VK_SCOPE_QUEUE_FAMILY_KHR, 12222 VK_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF 12223 } VkScopeKHR; 12224 typedef struct VkCooperativeMatrixPropertiesKHR { 12225 VkStructureType sType; 12226 void* pNext; 12227 uint32_t MSize; 12228 uint32_t NSize; 12229 uint32_t KSize; 12230 VkComponentTypeKHR AType; 12231 VkComponentTypeKHR BType; 12232 VkComponentTypeKHR CType; 12233 VkComponentTypeKHR ResultType; 12234 VkBool32 saturatingAccumulation; 12235 VkScopeKHR scope; 12236 } VkCooperativeMatrixPropertiesKHR; 12237 12238 typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesKHR { 12239 VkStructureType sType; 12240 void* pNext; 12241 VkBool32 cooperativeMatrix; 12242 VkBool32 cooperativeMatrixRobustBufferAccess; 12243 } VkPhysicalDeviceCooperativeMatrixFeaturesKHR; 12244 12245 typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesKHR { 12246 VkStructureType sType; 12247 void* pNext; 12248 VkShaderStageFlags cooperativeMatrixSupportedStages; 12249 } VkPhysicalDeviceCooperativeMatrixPropertiesKHR; 12250 12251 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesKHR* pProperties); 12252 12253 #ifndef VK_NO_PROTOTYPES 12254 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( 12255 VkPhysicalDevice physicalDevice, 12256 uint32_t* pPropertyCount, 12257 VkCooperativeMatrixPropertiesKHR* pProperties); 12258 #endif 12259 12260 12261 // VK_KHR_compute_shader_derivatives is a preprocessor guard. Do not pass it to API calls. 12262 #define VK_KHR_compute_shader_derivatives 1 12263 #define VK_KHR_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1 12264 #define VK_KHR_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_KHR_compute_shader_derivatives" 12265 typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesKHR { 12266 VkStructureType sType; 12267 void* pNext; 12268 VkBool32 computeDerivativeGroupQuads; 12269 VkBool32 computeDerivativeGroupLinear; 12270 } VkPhysicalDeviceComputeShaderDerivativesFeaturesKHR; 12271 12272 typedef struct VkPhysicalDeviceComputeShaderDerivativesPropertiesKHR { 12273 VkStructureType sType; 12274 void* pNext; 12275 VkBool32 meshAndTaskShaderDerivatives; 12276 } VkPhysicalDeviceComputeShaderDerivativesPropertiesKHR; 12277 12278 12279 12280 // VK_KHR_video_decode_av1 is a preprocessor guard. Do not pass it to API calls. 12281 #define VK_KHR_video_decode_av1 1 12282 #include "vk_video/vulkan_video_codec_av1std.h" 12283 #include "vk_video/vulkan_video_codec_av1std_decode.h" 12284 #define VK_MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR 7U 12285 #define VK_KHR_VIDEO_DECODE_AV1_SPEC_VERSION 1 12286 #define VK_KHR_VIDEO_DECODE_AV1_EXTENSION_NAME "VK_KHR_video_decode_av1" 12287 typedef struct VkVideoDecodeAV1ProfileInfoKHR { 12288 VkStructureType sType; 12289 const void* pNext; 12290 StdVideoAV1Profile stdProfile; 12291 VkBool32 filmGrainSupport; 12292 } VkVideoDecodeAV1ProfileInfoKHR; 12293 12294 typedef struct VkVideoDecodeAV1CapabilitiesKHR { 12295 VkStructureType sType; 12296 void* pNext; 12297 StdVideoAV1Level maxLevel; 12298 } VkVideoDecodeAV1CapabilitiesKHR; 12299 12300 typedef struct VkVideoDecodeAV1SessionParametersCreateInfoKHR { 12301 VkStructureType sType; 12302 const void* pNext; 12303 const StdVideoAV1SequenceHeader* pStdSequenceHeader; 12304 } VkVideoDecodeAV1SessionParametersCreateInfoKHR; 12305 12306 typedef struct VkVideoDecodeAV1PictureInfoKHR { 12307 VkStructureType sType; 12308 const void* pNext; 12309 const StdVideoDecodeAV1PictureInfo* pStdPictureInfo; 12310 int32_t referenceNameSlotIndices[VK_MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR]; 12311 uint32_t frameHeaderOffset; 12312 uint32_t tileCount; 12313 const uint32_t* pTileOffsets; 12314 const uint32_t* pTileSizes; 12315 } VkVideoDecodeAV1PictureInfoKHR; 12316 12317 typedef struct VkVideoDecodeAV1DpbSlotInfoKHR { 12318 VkStructureType sType; 12319 const void* pNext; 12320 const StdVideoDecodeAV1ReferenceInfo* pStdReferenceInfo; 12321 } VkVideoDecodeAV1DpbSlotInfoKHR; 12322 12323 12324 12325 // VK_KHR_video_encode_av1 is a preprocessor guard. Do not pass it to API calls. 12326 #define VK_KHR_video_encode_av1 1 12327 #include "vk_video/vulkan_video_codec_av1std_encode.h" 12328 #define VK_KHR_VIDEO_ENCODE_AV1_SPEC_VERSION 1 12329 #define VK_KHR_VIDEO_ENCODE_AV1_EXTENSION_NAME "VK_KHR_video_encode_av1" 12330 12331 typedef enum VkVideoEncodeAV1PredictionModeKHR { 12332 VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_INTRA_ONLY_KHR = 0, 12333 VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_SINGLE_REFERENCE_KHR = 1, 12334 VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_UNIDIRECTIONAL_COMPOUND_KHR = 2, 12335 VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_BIDIRECTIONAL_COMPOUND_KHR = 3, 12336 VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 12337 } VkVideoEncodeAV1PredictionModeKHR; 12338 12339 typedef enum VkVideoEncodeAV1RateControlGroupKHR { 12340 VK_VIDEO_ENCODE_AV1_RATE_CONTROL_GROUP_INTRA_KHR = 0, 12341 VK_VIDEO_ENCODE_AV1_RATE_CONTROL_GROUP_PREDICTIVE_KHR = 1, 12342 VK_VIDEO_ENCODE_AV1_RATE_CONTROL_GROUP_BIPREDICTIVE_KHR = 2, 12343 VK_VIDEO_ENCODE_AV1_RATE_CONTROL_GROUP_MAX_ENUM_KHR = 0x7FFFFFFF 12344 } VkVideoEncodeAV1RateControlGroupKHR; 12345 12346 typedef enum VkVideoEncodeAV1CapabilityFlagBitsKHR { 12347 VK_VIDEO_ENCODE_AV1_CAPABILITY_PER_RATE_CONTROL_GROUP_MIN_MAX_Q_INDEX_BIT_KHR = 0x00000001, 12348 VK_VIDEO_ENCODE_AV1_CAPABILITY_GENERATE_OBU_EXTENSION_HEADER_BIT_KHR = 0x00000002, 12349 VK_VIDEO_ENCODE_AV1_CAPABILITY_PRIMARY_REFERENCE_CDF_ONLY_BIT_KHR = 0x00000004, 12350 VK_VIDEO_ENCODE_AV1_CAPABILITY_FRAME_SIZE_OVERRIDE_BIT_KHR = 0x00000008, 12351 VK_VIDEO_ENCODE_AV1_CAPABILITY_MOTION_VECTOR_SCALING_BIT_KHR = 0x00000010, 12352 VK_VIDEO_ENCODE_AV1_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 12353 } VkVideoEncodeAV1CapabilityFlagBitsKHR; 12354 typedef VkFlags VkVideoEncodeAV1CapabilityFlagsKHR; 12355 12356 typedef enum VkVideoEncodeAV1StdFlagBitsKHR { 12357 VK_VIDEO_ENCODE_AV1_STD_UNIFORM_TILE_SPACING_FLAG_SET_BIT_KHR = 0x00000001, 12358 VK_VIDEO_ENCODE_AV1_STD_SKIP_MODE_PRESENT_UNSET_BIT_KHR = 0x00000002, 12359 VK_VIDEO_ENCODE_AV1_STD_PRIMARY_REF_FRAME_BIT_KHR = 0x00000004, 12360 VK_VIDEO_ENCODE_AV1_STD_DELTA_Q_BIT_KHR = 0x00000008, 12361 VK_VIDEO_ENCODE_AV1_STD_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 12362 } VkVideoEncodeAV1StdFlagBitsKHR; 12363 typedef VkFlags VkVideoEncodeAV1StdFlagsKHR; 12364 12365 typedef enum VkVideoEncodeAV1SuperblockSizeFlagBitsKHR { 12366 VK_VIDEO_ENCODE_AV1_SUPERBLOCK_SIZE_64_BIT_KHR = 0x00000001, 12367 VK_VIDEO_ENCODE_AV1_SUPERBLOCK_SIZE_128_BIT_KHR = 0x00000002, 12368 VK_VIDEO_ENCODE_AV1_SUPERBLOCK_SIZE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 12369 } VkVideoEncodeAV1SuperblockSizeFlagBitsKHR; 12370 typedef VkFlags VkVideoEncodeAV1SuperblockSizeFlagsKHR; 12371 12372 typedef enum VkVideoEncodeAV1RateControlFlagBitsKHR { 12373 VK_VIDEO_ENCODE_AV1_RATE_CONTROL_REGULAR_GOP_BIT_KHR = 0x00000001, 12374 VK_VIDEO_ENCODE_AV1_RATE_CONTROL_TEMPORAL_LAYER_PATTERN_DYADIC_BIT_KHR = 0x00000002, 12375 VK_VIDEO_ENCODE_AV1_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_KHR = 0x00000004, 12376 VK_VIDEO_ENCODE_AV1_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_KHR = 0x00000008, 12377 VK_VIDEO_ENCODE_AV1_RATE_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 12378 } VkVideoEncodeAV1RateControlFlagBitsKHR; 12379 typedef VkFlags VkVideoEncodeAV1RateControlFlagsKHR; 12380 typedef struct VkPhysicalDeviceVideoEncodeAV1FeaturesKHR { 12381 VkStructureType sType; 12382 void* pNext; 12383 VkBool32 videoEncodeAV1; 12384 } VkPhysicalDeviceVideoEncodeAV1FeaturesKHR; 12385 12386 typedef struct VkVideoEncodeAV1CapabilitiesKHR { 12387 VkStructureType sType; 12388 void* pNext; 12389 VkVideoEncodeAV1CapabilityFlagsKHR flags; 12390 StdVideoAV1Level maxLevel; 12391 VkExtent2D codedPictureAlignment; 12392 VkExtent2D maxTiles; 12393 VkExtent2D minTileSize; 12394 VkExtent2D maxTileSize; 12395 VkVideoEncodeAV1SuperblockSizeFlagsKHR superblockSizes; 12396 uint32_t maxSingleReferenceCount; 12397 uint32_t singleReferenceNameMask; 12398 uint32_t maxUnidirectionalCompoundReferenceCount; 12399 uint32_t maxUnidirectionalCompoundGroup1ReferenceCount; 12400 uint32_t unidirectionalCompoundReferenceNameMask; 12401 uint32_t maxBidirectionalCompoundReferenceCount; 12402 uint32_t maxBidirectionalCompoundGroup1ReferenceCount; 12403 uint32_t maxBidirectionalCompoundGroup2ReferenceCount; 12404 uint32_t bidirectionalCompoundReferenceNameMask; 12405 uint32_t maxTemporalLayerCount; 12406 uint32_t maxSpatialLayerCount; 12407 uint32_t maxOperatingPoints; 12408 uint32_t minQIndex; 12409 uint32_t maxQIndex; 12410 VkBool32 prefersGopRemainingFrames; 12411 VkBool32 requiresGopRemainingFrames; 12412 VkVideoEncodeAV1StdFlagsKHR stdSyntaxFlags; 12413 } VkVideoEncodeAV1CapabilitiesKHR; 12414 12415 typedef struct VkVideoEncodeAV1QIndexKHR { 12416 uint32_t intraQIndex; 12417 uint32_t predictiveQIndex; 12418 uint32_t bipredictiveQIndex; 12419 } VkVideoEncodeAV1QIndexKHR; 12420 12421 typedef struct VkVideoEncodeAV1QualityLevelPropertiesKHR { 12422 VkStructureType sType; 12423 void* pNext; 12424 VkVideoEncodeAV1RateControlFlagsKHR preferredRateControlFlags; 12425 uint32_t preferredGopFrameCount; 12426 uint32_t preferredKeyFramePeriod; 12427 uint32_t preferredConsecutiveBipredictiveFrameCount; 12428 uint32_t preferredTemporalLayerCount; 12429 VkVideoEncodeAV1QIndexKHR preferredConstantQIndex; 12430 uint32_t preferredMaxSingleReferenceCount; 12431 uint32_t preferredSingleReferenceNameMask; 12432 uint32_t preferredMaxUnidirectionalCompoundReferenceCount; 12433 uint32_t preferredMaxUnidirectionalCompoundGroup1ReferenceCount; 12434 uint32_t preferredUnidirectionalCompoundReferenceNameMask; 12435 uint32_t preferredMaxBidirectionalCompoundReferenceCount; 12436 uint32_t preferredMaxBidirectionalCompoundGroup1ReferenceCount; 12437 uint32_t preferredMaxBidirectionalCompoundGroup2ReferenceCount; 12438 uint32_t preferredBidirectionalCompoundReferenceNameMask; 12439 } VkVideoEncodeAV1QualityLevelPropertiesKHR; 12440 12441 typedef struct VkVideoEncodeAV1SessionCreateInfoKHR { 12442 VkStructureType sType; 12443 const void* pNext; 12444 VkBool32 useMaxLevel; 12445 StdVideoAV1Level maxLevel; 12446 } VkVideoEncodeAV1SessionCreateInfoKHR; 12447 12448 typedef struct VkVideoEncodeAV1SessionParametersCreateInfoKHR { 12449 VkStructureType sType; 12450 const void* pNext; 12451 const StdVideoAV1SequenceHeader* pStdSequenceHeader; 12452 const StdVideoEncodeAV1DecoderModelInfo* pStdDecoderModelInfo; 12453 uint32_t stdOperatingPointCount; 12454 const StdVideoEncodeAV1OperatingPointInfo* pStdOperatingPoints; 12455 } VkVideoEncodeAV1SessionParametersCreateInfoKHR; 12456 12457 typedef struct VkVideoEncodeAV1PictureInfoKHR { 12458 VkStructureType sType; 12459 const void* pNext; 12460 VkVideoEncodeAV1PredictionModeKHR predictionMode; 12461 VkVideoEncodeAV1RateControlGroupKHR rateControlGroup; 12462 uint32_t constantQIndex; 12463 const StdVideoEncodeAV1PictureInfo* pStdPictureInfo; 12464 int32_t referenceNameSlotIndices[VK_MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR]; 12465 VkBool32 primaryReferenceCdfOnly; 12466 VkBool32 generateObuExtensionHeader; 12467 } VkVideoEncodeAV1PictureInfoKHR; 12468 12469 typedef struct VkVideoEncodeAV1DpbSlotInfoKHR { 12470 VkStructureType sType; 12471 const void* pNext; 12472 const StdVideoEncodeAV1ReferenceInfo* pStdReferenceInfo; 12473 } VkVideoEncodeAV1DpbSlotInfoKHR; 12474 12475 typedef struct VkVideoEncodeAV1ProfileInfoKHR { 12476 VkStructureType sType; 12477 const void* pNext; 12478 StdVideoAV1Profile stdProfile; 12479 } VkVideoEncodeAV1ProfileInfoKHR; 12480 12481 typedef struct VkVideoEncodeAV1FrameSizeKHR { 12482 uint32_t intraFrameSize; 12483 uint32_t predictiveFrameSize; 12484 uint32_t bipredictiveFrameSize; 12485 } VkVideoEncodeAV1FrameSizeKHR; 12486 12487 typedef struct VkVideoEncodeAV1GopRemainingFrameInfoKHR { 12488 VkStructureType sType; 12489 const void* pNext; 12490 VkBool32 useGopRemainingFrames; 12491 uint32_t gopRemainingIntra; 12492 uint32_t gopRemainingPredictive; 12493 uint32_t gopRemainingBipredictive; 12494 } VkVideoEncodeAV1GopRemainingFrameInfoKHR; 12495 12496 typedef struct VkVideoEncodeAV1RateControlInfoKHR { 12497 VkStructureType sType; 12498 const void* pNext; 12499 VkVideoEncodeAV1RateControlFlagsKHR flags; 12500 uint32_t gopFrameCount; 12501 uint32_t keyFramePeriod; 12502 uint32_t consecutiveBipredictiveFrameCount; 12503 uint32_t temporalLayerCount; 12504 } VkVideoEncodeAV1RateControlInfoKHR; 12505 12506 typedef struct VkVideoEncodeAV1RateControlLayerInfoKHR { 12507 VkStructureType sType; 12508 const void* pNext; 12509 VkBool32 useMinQIndex; 12510 VkVideoEncodeAV1QIndexKHR minQIndex; 12511 VkBool32 useMaxQIndex; 12512 VkVideoEncodeAV1QIndexKHR maxQIndex; 12513 VkBool32 useMaxFrameSize; 12514 VkVideoEncodeAV1FrameSizeKHR maxFrameSize; 12515 } VkVideoEncodeAV1RateControlLayerInfoKHR; 12516 12517 12518 12519 // VK_KHR_video_maintenance1 is a preprocessor guard. Do not pass it to API calls. 12520 #define VK_KHR_video_maintenance1 1 12521 #define VK_KHR_VIDEO_MAINTENANCE_1_SPEC_VERSION 1 12522 #define VK_KHR_VIDEO_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_video_maintenance1" 12523 typedef struct VkPhysicalDeviceVideoMaintenance1FeaturesKHR { 12524 VkStructureType sType; 12525 void* pNext; 12526 VkBool32 videoMaintenance1; 12527 } VkPhysicalDeviceVideoMaintenance1FeaturesKHR; 12528 12529 typedef struct VkVideoInlineQueryInfoKHR { 12530 VkStructureType sType; 12531 const void* pNext; 12532 VkQueryPool queryPool; 12533 uint32_t firstQuery; 12534 uint32_t queryCount; 12535 } VkVideoInlineQueryInfoKHR; 12536 12537 12538 12539 // VK_KHR_vertex_attribute_divisor is a preprocessor guard. Do not pass it to API calls. 12540 #define VK_KHR_vertex_attribute_divisor 1 12541 #define VK_KHR_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 1 12542 #define VK_KHR_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_KHR_vertex_attribute_divisor" 12543 typedef VkPhysicalDeviceVertexAttributeDivisorProperties VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR; 12544 12545 typedef VkVertexInputBindingDivisorDescription VkVertexInputBindingDivisorDescriptionKHR; 12546 12547 typedef VkPipelineVertexInputDivisorStateCreateInfo VkPipelineVertexInputDivisorStateCreateInfoKHR; 12548 12549 typedef VkPhysicalDeviceVertexAttributeDivisorFeatures VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR; 12550 12551 12552 12553 // VK_KHR_load_store_op_none is a preprocessor guard. Do not pass it to API calls. 12554 #define VK_KHR_load_store_op_none 1 12555 #define VK_KHR_LOAD_STORE_OP_NONE_SPEC_VERSION 1 12556 #define VK_KHR_LOAD_STORE_OP_NONE_EXTENSION_NAME "VK_KHR_load_store_op_none" 12557 12558 12559 // VK_KHR_shader_float_controls2 is a preprocessor guard. Do not pass it to API calls. 12560 #define VK_KHR_shader_float_controls2 1 12561 #define VK_KHR_SHADER_FLOAT_CONTROLS_2_SPEC_VERSION 1 12562 #define VK_KHR_SHADER_FLOAT_CONTROLS_2_EXTENSION_NAME "VK_KHR_shader_float_controls2" 12563 typedef VkPhysicalDeviceShaderFloatControls2Features VkPhysicalDeviceShaderFloatControls2FeaturesKHR; 12564 12565 12566 12567 // VK_KHR_index_type_uint8 is a preprocessor guard. Do not pass it to API calls. 12568 #define VK_KHR_index_type_uint8 1 12569 #define VK_KHR_INDEX_TYPE_UINT8_SPEC_VERSION 1 12570 #define VK_KHR_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_KHR_index_type_uint8" 12571 typedef VkPhysicalDeviceIndexTypeUint8Features VkPhysicalDeviceIndexTypeUint8FeaturesKHR; 12572 12573 12574 12575 // VK_KHR_line_rasterization is a preprocessor guard. Do not pass it to API calls. 12576 #define VK_KHR_line_rasterization 1 12577 #define VK_KHR_LINE_RASTERIZATION_SPEC_VERSION 1 12578 #define VK_KHR_LINE_RASTERIZATION_EXTENSION_NAME "VK_KHR_line_rasterization" 12579 typedef VkLineRasterizationMode VkLineRasterizationModeKHR; 12580 12581 typedef VkPhysicalDeviceLineRasterizationFeatures VkPhysicalDeviceLineRasterizationFeaturesKHR; 12582 12583 typedef VkPhysicalDeviceLineRasterizationProperties VkPhysicalDeviceLineRasterizationPropertiesKHR; 12584 12585 typedef VkPipelineRasterizationLineStateCreateInfo VkPipelineRasterizationLineStateCreateInfoKHR; 12586 12587 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleKHR)(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern); 12588 12589 #ifndef VK_NO_PROTOTYPES 12590 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleKHR( 12591 VkCommandBuffer commandBuffer, 12592 uint32_t lineStippleFactor, 12593 uint16_t lineStipplePattern); 12594 #endif 12595 12596 12597 // VK_KHR_calibrated_timestamps is a preprocessor guard. Do not pass it to API calls. 12598 #define VK_KHR_calibrated_timestamps 1 12599 #define VK_KHR_CALIBRATED_TIMESTAMPS_SPEC_VERSION 1 12600 #define VK_KHR_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_KHR_calibrated_timestamps" 12601 12602 typedef enum VkTimeDomainKHR { 12603 VK_TIME_DOMAIN_DEVICE_KHR = 0, 12604 VK_TIME_DOMAIN_CLOCK_MONOTONIC_KHR = 1, 12605 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_KHR = 2, 12606 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_KHR = 3, 12607 VK_TIME_DOMAIN_DEVICE_EXT = VK_TIME_DOMAIN_DEVICE_KHR, 12608 VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = VK_TIME_DOMAIN_CLOCK_MONOTONIC_KHR, 12609 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_KHR, 12610 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_KHR, 12611 VK_TIME_DOMAIN_MAX_ENUM_KHR = 0x7FFFFFFF 12612 } VkTimeDomainKHR; 12613 typedef struct VkCalibratedTimestampInfoKHR { 12614 VkStructureType sType; 12615 const void* pNext; 12616 VkTimeDomainKHR timeDomain; 12617 } VkCalibratedTimestampInfoKHR; 12618 12619 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsKHR)(VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainKHR* pTimeDomains); 12620 typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsKHR)(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoKHR* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation); 12621 12622 #ifndef VK_NO_PROTOTYPES 12623 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( 12624 VkPhysicalDevice physicalDevice, 12625 uint32_t* pTimeDomainCount, 12626 VkTimeDomainKHR* pTimeDomains); 12627 12628 VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsKHR( 12629 VkDevice device, 12630 uint32_t timestampCount, 12631 const VkCalibratedTimestampInfoKHR* pTimestampInfos, 12632 uint64_t* pTimestamps, 12633 uint64_t* pMaxDeviation); 12634 #endif 12635 12636 12637 // VK_KHR_shader_expect_assume is a preprocessor guard. Do not pass it to API calls. 12638 #define VK_KHR_shader_expect_assume 1 12639 #define VK_KHR_SHADER_EXPECT_ASSUME_SPEC_VERSION 1 12640 #define VK_KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME "VK_KHR_shader_expect_assume" 12641 typedef VkPhysicalDeviceShaderExpectAssumeFeatures VkPhysicalDeviceShaderExpectAssumeFeaturesKHR; 12642 12643 12644 12645 // VK_KHR_maintenance6 is a preprocessor guard. Do not pass it to API calls. 12646 #define VK_KHR_maintenance6 1 12647 #define VK_KHR_MAINTENANCE_6_SPEC_VERSION 1 12648 #define VK_KHR_MAINTENANCE_6_EXTENSION_NAME "VK_KHR_maintenance6" 12649 typedef VkPhysicalDeviceMaintenance6Features VkPhysicalDeviceMaintenance6FeaturesKHR; 12650 12651 typedef VkPhysicalDeviceMaintenance6Properties VkPhysicalDeviceMaintenance6PropertiesKHR; 12652 12653 typedef VkBindMemoryStatus VkBindMemoryStatusKHR; 12654 12655 typedef VkBindDescriptorSetsInfo VkBindDescriptorSetsInfoKHR; 12656 12657 typedef VkPushConstantsInfo VkPushConstantsInfoKHR; 12658 12659 typedef VkPushDescriptorSetInfo VkPushDescriptorSetInfoKHR; 12660 12661 typedef VkPushDescriptorSetWithTemplateInfo VkPushDescriptorSetWithTemplateInfoKHR; 12662 12663 typedef struct VkSetDescriptorBufferOffsetsInfoEXT { 12664 VkStructureType sType; 12665 const void* pNext; 12666 VkShaderStageFlags stageFlags; 12667 VkPipelineLayout layout; 12668 uint32_t firstSet; 12669 uint32_t setCount; 12670 const uint32_t* pBufferIndices; 12671 const VkDeviceSize* pOffsets; 12672 } VkSetDescriptorBufferOffsetsInfoEXT; 12673 12674 typedef struct VkBindDescriptorBufferEmbeddedSamplersInfoEXT { 12675 VkStructureType sType; 12676 const void* pNext; 12677 VkShaderStageFlags stageFlags; 12678 VkPipelineLayout layout; 12679 uint32_t set; 12680 } VkBindDescriptorBufferEmbeddedSamplersInfoEXT; 12681 12682 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets2KHR)(VkCommandBuffer commandBuffer, const VkBindDescriptorSetsInfo* pBindDescriptorSetsInfo); 12683 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants2KHR)(VkCommandBuffer commandBuffer, const VkPushConstantsInfo* pPushConstantsInfo); 12684 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSet2KHR)(VkCommandBuffer commandBuffer, const VkPushDescriptorSetInfo* pPushDescriptorSetInfo); 12685 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplate2KHR)(VkCommandBuffer commandBuffer, const VkPushDescriptorSetWithTemplateInfo* pPushDescriptorSetWithTemplateInfo); 12686 typedef void (VKAPI_PTR *PFN_vkCmdSetDescriptorBufferOffsets2EXT)(VkCommandBuffer commandBuffer, const VkSetDescriptorBufferOffsetsInfoEXT* pSetDescriptorBufferOffsetsInfo); 12687 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT)(VkCommandBuffer commandBuffer, const VkBindDescriptorBufferEmbeddedSamplersInfoEXT* pBindDescriptorBufferEmbeddedSamplersInfo); 12688 12689 #ifndef VK_NO_PROTOTYPES 12690 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets2KHR( 12691 VkCommandBuffer commandBuffer, 12692 const VkBindDescriptorSetsInfo* pBindDescriptorSetsInfo); 12693 12694 VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants2KHR( 12695 VkCommandBuffer commandBuffer, 12696 const VkPushConstantsInfo* pPushConstantsInfo); 12697 12698 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSet2KHR( 12699 VkCommandBuffer commandBuffer, 12700 const VkPushDescriptorSetInfo* pPushDescriptorSetInfo); 12701 12702 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplate2KHR( 12703 VkCommandBuffer commandBuffer, 12704 const VkPushDescriptorSetWithTemplateInfo* pPushDescriptorSetWithTemplateInfo); 12705 12706 VKAPI_ATTR void VKAPI_CALL vkCmdSetDescriptorBufferOffsets2EXT( 12707 VkCommandBuffer commandBuffer, 12708 const VkSetDescriptorBufferOffsetsInfoEXT* pSetDescriptorBufferOffsetsInfo); 12709 12710 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorBufferEmbeddedSamplers2EXT( 12711 VkCommandBuffer commandBuffer, 12712 const VkBindDescriptorBufferEmbeddedSamplersInfoEXT* pBindDescriptorBufferEmbeddedSamplersInfo); 12713 #endif 12714 12715 12716 // VK_KHR_video_encode_quantization_map is a preprocessor guard. Do not pass it to API calls. 12717 #define VK_KHR_video_encode_quantization_map 1 12718 #define VK_KHR_VIDEO_ENCODE_QUANTIZATION_MAP_SPEC_VERSION 2 12719 #define VK_KHR_VIDEO_ENCODE_QUANTIZATION_MAP_EXTENSION_NAME "VK_KHR_video_encode_quantization_map" 12720 typedef struct VkVideoEncodeQuantizationMapCapabilitiesKHR { 12721 VkStructureType sType; 12722 void* pNext; 12723 VkExtent2D maxQuantizationMapExtent; 12724 } VkVideoEncodeQuantizationMapCapabilitiesKHR; 12725 12726 typedef struct VkVideoFormatQuantizationMapPropertiesKHR { 12727 VkStructureType sType; 12728 void* pNext; 12729 VkExtent2D quantizationMapTexelSize; 12730 } VkVideoFormatQuantizationMapPropertiesKHR; 12731 12732 typedef struct VkVideoEncodeQuantizationMapInfoKHR { 12733 VkStructureType sType; 12734 const void* pNext; 12735 VkImageView quantizationMap; 12736 VkExtent2D quantizationMapExtent; 12737 } VkVideoEncodeQuantizationMapInfoKHR; 12738 12739 typedef struct VkVideoEncodeQuantizationMapSessionParametersCreateInfoKHR { 12740 VkStructureType sType; 12741 const void* pNext; 12742 VkExtent2D quantizationMapTexelSize; 12743 } VkVideoEncodeQuantizationMapSessionParametersCreateInfoKHR; 12744 12745 typedef struct VkPhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR { 12746 VkStructureType sType; 12747 void* pNext; 12748 VkBool32 videoEncodeQuantizationMap; 12749 } VkPhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR; 12750 12751 typedef struct VkVideoEncodeH264QuantizationMapCapabilitiesKHR { 12752 VkStructureType sType; 12753 void* pNext; 12754 int32_t minQpDelta; 12755 int32_t maxQpDelta; 12756 } VkVideoEncodeH264QuantizationMapCapabilitiesKHR; 12757 12758 typedef struct VkVideoEncodeH265QuantizationMapCapabilitiesKHR { 12759 VkStructureType sType; 12760 void* pNext; 12761 int32_t minQpDelta; 12762 int32_t maxQpDelta; 12763 } VkVideoEncodeH265QuantizationMapCapabilitiesKHR; 12764 12765 typedef struct VkVideoFormatH265QuantizationMapPropertiesKHR { 12766 VkStructureType sType; 12767 void* pNext; 12768 VkVideoEncodeH265CtbSizeFlagsKHR compatibleCtbSizes; 12769 } VkVideoFormatH265QuantizationMapPropertiesKHR; 12770 12771 typedef struct VkVideoEncodeAV1QuantizationMapCapabilitiesKHR { 12772 VkStructureType sType; 12773 void* pNext; 12774 int32_t minQIndexDelta; 12775 int32_t maxQIndexDelta; 12776 } VkVideoEncodeAV1QuantizationMapCapabilitiesKHR; 12777 12778 typedef struct VkVideoFormatAV1QuantizationMapPropertiesKHR { 12779 VkStructureType sType; 12780 void* pNext; 12781 VkVideoEncodeAV1SuperblockSizeFlagsKHR compatibleSuperblockSizes; 12782 } VkVideoFormatAV1QuantizationMapPropertiesKHR; 12783 12784 12785 12786 // VK_KHR_shader_relaxed_extended_instruction is a preprocessor guard. Do not pass it to API calls. 12787 #define VK_KHR_shader_relaxed_extended_instruction 1 12788 #define VK_KHR_SHADER_RELAXED_EXTENDED_INSTRUCTION_SPEC_VERSION 1 12789 #define VK_KHR_SHADER_RELAXED_EXTENDED_INSTRUCTION_EXTENSION_NAME "VK_KHR_shader_relaxed_extended_instruction" 12790 typedef struct VkPhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR { 12791 VkStructureType sType; 12792 void* pNext; 12793 VkBool32 shaderRelaxedExtendedInstruction; 12794 } VkPhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR; 12795 12796 12797 12798 // VK_KHR_maintenance7 is a preprocessor guard. Do not pass it to API calls. 12799 #define VK_KHR_maintenance7 1 12800 #define VK_KHR_MAINTENANCE_7_SPEC_VERSION 1 12801 #define VK_KHR_MAINTENANCE_7_EXTENSION_NAME "VK_KHR_maintenance7" 12802 12803 typedef enum VkPhysicalDeviceLayeredApiKHR { 12804 VK_PHYSICAL_DEVICE_LAYERED_API_VULKAN_KHR = 0, 12805 VK_PHYSICAL_DEVICE_LAYERED_API_D3D12_KHR = 1, 12806 VK_PHYSICAL_DEVICE_LAYERED_API_METAL_KHR = 2, 12807 VK_PHYSICAL_DEVICE_LAYERED_API_OPENGL_KHR = 3, 12808 VK_PHYSICAL_DEVICE_LAYERED_API_OPENGLES_KHR = 4, 12809 VK_PHYSICAL_DEVICE_LAYERED_API_MAX_ENUM_KHR = 0x7FFFFFFF 12810 } VkPhysicalDeviceLayeredApiKHR; 12811 typedef struct VkPhysicalDeviceMaintenance7FeaturesKHR { 12812 VkStructureType sType; 12813 void* pNext; 12814 VkBool32 maintenance7; 12815 } VkPhysicalDeviceMaintenance7FeaturesKHR; 12816 12817 typedef struct VkPhysicalDeviceMaintenance7PropertiesKHR { 12818 VkStructureType sType; 12819 void* pNext; 12820 VkBool32 robustFragmentShadingRateAttachmentAccess; 12821 VkBool32 separateDepthStencilAttachmentAccess; 12822 uint32_t maxDescriptorSetTotalUniformBuffersDynamic; 12823 uint32_t maxDescriptorSetTotalStorageBuffersDynamic; 12824 uint32_t maxDescriptorSetTotalBuffersDynamic; 12825 uint32_t maxDescriptorSetUpdateAfterBindTotalUniformBuffersDynamic; 12826 uint32_t maxDescriptorSetUpdateAfterBindTotalStorageBuffersDynamic; 12827 uint32_t maxDescriptorSetUpdateAfterBindTotalBuffersDynamic; 12828 } VkPhysicalDeviceMaintenance7PropertiesKHR; 12829 12830 typedef struct VkPhysicalDeviceLayeredApiPropertiesKHR { 12831 VkStructureType sType; 12832 void* pNext; 12833 uint32_t vendorID; 12834 uint32_t deviceID; 12835 VkPhysicalDeviceLayeredApiKHR layeredAPI; 12836 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE]; 12837 } VkPhysicalDeviceLayeredApiPropertiesKHR; 12838 12839 typedef struct VkPhysicalDeviceLayeredApiPropertiesListKHR { 12840 VkStructureType sType; 12841 void* pNext; 12842 uint32_t layeredApiCount; 12843 VkPhysicalDeviceLayeredApiPropertiesKHR* pLayeredApis; 12844 } VkPhysicalDeviceLayeredApiPropertiesListKHR; 12845 12846 typedef struct VkPhysicalDeviceLayeredApiVulkanPropertiesKHR { 12847 VkStructureType sType; 12848 void* pNext; 12849 VkPhysicalDeviceProperties2 properties; 12850 } VkPhysicalDeviceLayeredApiVulkanPropertiesKHR; 12851 12852 12853 12854 // VK_KHR_maintenance8 is a preprocessor guard. Do not pass it to API calls. 12855 #define VK_KHR_maintenance8 1 12856 #define VK_KHR_MAINTENANCE_8_SPEC_VERSION 1 12857 #define VK_KHR_MAINTENANCE_8_EXTENSION_NAME "VK_KHR_maintenance8" 12858 typedef VkFlags64 VkAccessFlags3KHR; 12859 12860 // Flag bits for VkAccessFlagBits3KHR 12861 typedef VkFlags64 VkAccessFlagBits3KHR; 12862 static const VkAccessFlagBits3KHR VK_ACCESS_3_NONE_KHR = 0ULL; 12863 12864 typedef struct VkPhysicalDeviceMaintenance8FeaturesKHR { 12865 VkStructureType sType; 12866 void* pNext; 12867 VkBool32 maintenance8; 12868 } VkPhysicalDeviceMaintenance8FeaturesKHR; 12869 12870 typedef struct VkMemoryBarrierAccessFlags3KHR { 12871 VkStructureType sType; 12872 const void* pNext; 12873 VkAccessFlags3KHR srcAccessMask3; 12874 VkAccessFlags3KHR dstAccessMask3; 12875 } VkMemoryBarrierAccessFlags3KHR; 12876 12877 12878 12879 // VK_KHR_video_maintenance2 is a preprocessor guard. Do not pass it to API calls. 12880 #define VK_KHR_video_maintenance2 1 12881 #define VK_KHR_VIDEO_MAINTENANCE_2_SPEC_VERSION 1 12882 #define VK_KHR_VIDEO_MAINTENANCE_2_EXTENSION_NAME "VK_KHR_video_maintenance2" 12883 typedef struct VkPhysicalDeviceVideoMaintenance2FeaturesKHR { 12884 VkStructureType sType; 12885 void* pNext; 12886 VkBool32 videoMaintenance2; 12887 } VkPhysicalDeviceVideoMaintenance2FeaturesKHR; 12888 12889 typedef struct VkVideoDecodeH264InlineSessionParametersInfoKHR { 12890 VkStructureType sType; 12891 const void* pNext; 12892 const StdVideoH264SequenceParameterSet* pStdSPS; 12893 const StdVideoH264PictureParameterSet* pStdPPS; 12894 } VkVideoDecodeH264InlineSessionParametersInfoKHR; 12895 12896 typedef struct VkVideoDecodeH265InlineSessionParametersInfoKHR { 12897 VkStructureType sType; 12898 const void* pNext; 12899 const StdVideoH265VideoParameterSet* pStdVPS; 12900 const StdVideoH265SequenceParameterSet* pStdSPS; 12901 const StdVideoH265PictureParameterSet* pStdPPS; 12902 } VkVideoDecodeH265InlineSessionParametersInfoKHR; 12903 12904 typedef struct VkVideoDecodeAV1InlineSessionParametersInfoKHR { 12905 VkStructureType sType; 12906 const void* pNext; 12907 const StdVideoAV1SequenceHeader* pStdSequenceHeader; 12908 } VkVideoDecodeAV1InlineSessionParametersInfoKHR; 12909 12910 12911 12912 // VK_KHR_depth_clamp_zero_one is a preprocessor guard. Do not pass it to API calls. 12913 #define VK_KHR_depth_clamp_zero_one 1 12914 #define VK_KHR_DEPTH_CLAMP_ZERO_ONE_SPEC_VERSION 1 12915 #define VK_KHR_DEPTH_CLAMP_ZERO_ONE_EXTENSION_NAME "VK_KHR_depth_clamp_zero_one" 12916 typedef struct VkPhysicalDeviceDepthClampZeroOneFeaturesKHR { 12917 VkStructureType sType; 12918 void* pNext; 12919 VkBool32 depthClampZeroOne; 12920 } VkPhysicalDeviceDepthClampZeroOneFeaturesKHR; 12921 12922 12923 12924 // VK_EXT_debug_report is a preprocessor guard. Do not pass it to API calls. 12925 #define VK_EXT_debug_report 1 12926 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT) 12927 #define VK_EXT_DEBUG_REPORT_SPEC_VERSION 10 12928 #define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report" 12929 12930 typedef enum VkDebugReportObjectTypeEXT { 12931 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0, 12932 VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1, 12933 VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2, 12934 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3, 12935 VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4, 12936 VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5, 12937 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6, 12938 VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7, 12939 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8, 12940 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9, 12941 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10, 12942 VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11, 12943 VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12, 12944 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13, 12945 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14, 12946 VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15, 12947 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16, 12948 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17, 12949 VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18, 12950 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19, 12951 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20, 12952 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21, 12953 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22, 12954 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23, 12955 VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24, 12956 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25, 12957 VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26, 12958 VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27, 12959 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28, 12960 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29, 12961 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30, 12962 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33, 12963 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000, 12964 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000, 12965 VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT = 1000029000, 12966 VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT = 1000029001, 12967 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT = 1000150000, 12968 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = 1000165000, 12969 VK_DEBUG_REPORT_OBJECT_TYPE_CUDA_MODULE_NV_EXT = 1000307000, 12970 VK_DEBUG_REPORT_OBJECT_TYPE_CUDA_FUNCTION_NV_EXT = 1000307001, 12971 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT = 1000366000, 12972 // VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT is a deprecated alias 12973 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT, 12974 // VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT is a deprecated alias 12975 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT, 12976 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT, 12977 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT, 12978 VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 12979 } VkDebugReportObjectTypeEXT; 12980 12981 typedef enum VkDebugReportFlagBitsEXT { 12982 VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001, 12983 VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002, 12984 VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004, 12985 VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008, 12986 VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010, 12987 VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 12988 } VkDebugReportFlagBitsEXT; 12989 typedef VkFlags VkDebugReportFlagsEXT; 12990 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)( 12991 VkDebugReportFlagsEXT flags, 12992 VkDebugReportObjectTypeEXT objectType, 12993 uint64_t object, 12994 size_t location, 12995 int32_t messageCode, 12996 const char* pLayerPrefix, 12997 const char* pMessage, 12998 void* pUserData); 12999 13000 typedef struct VkDebugReportCallbackCreateInfoEXT { 13001 VkStructureType sType; 13002 const void* pNext; 13003 VkDebugReportFlagsEXT flags; 13004 PFN_vkDebugReportCallbackEXT pfnCallback; 13005 void* pUserData; 13006 } VkDebugReportCallbackCreateInfoEXT; 13007 13008 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback); 13009 typedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator); 13010 typedef void (VKAPI_PTR *PFN_vkDebugReportMessageEXT)(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char* pLayerPrefix, const char* pMessage); 13011 13012 #ifndef VK_NO_PROTOTYPES 13013 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT( 13014 VkInstance instance, 13015 const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, 13016 const VkAllocationCallbacks* pAllocator, 13017 VkDebugReportCallbackEXT* pCallback); 13018 13019 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT( 13020 VkInstance instance, 13021 VkDebugReportCallbackEXT callback, 13022 const VkAllocationCallbacks* pAllocator); 13023 13024 VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT( 13025 VkInstance instance, 13026 VkDebugReportFlagsEXT flags, 13027 VkDebugReportObjectTypeEXT objectType, 13028 uint64_t object, 13029 size_t location, 13030 int32_t messageCode, 13031 const char* pLayerPrefix, 13032 const char* pMessage); 13033 #endif 13034 13035 13036 // VK_NV_glsl_shader is a preprocessor guard. Do not pass it to API calls. 13037 #define VK_NV_glsl_shader 1 13038 #define VK_NV_GLSL_SHADER_SPEC_VERSION 1 13039 #define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader" 13040 13041 13042 // VK_EXT_depth_range_unrestricted is a preprocessor guard. Do not pass it to API calls. 13043 #define VK_EXT_depth_range_unrestricted 1 13044 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1 13045 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted" 13046 13047 13048 // VK_IMG_filter_cubic is a preprocessor guard. Do not pass it to API calls. 13049 #define VK_IMG_filter_cubic 1 13050 #define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1 13051 #define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic" 13052 13053 13054 // VK_AMD_rasterization_order is a preprocessor guard. Do not pass it to API calls. 13055 #define VK_AMD_rasterization_order 1 13056 #define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1 13057 #define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order" 13058 13059 typedef enum VkRasterizationOrderAMD { 13060 VK_RASTERIZATION_ORDER_STRICT_AMD = 0, 13061 VK_RASTERIZATION_ORDER_RELAXED_AMD = 1, 13062 VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF 13063 } VkRasterizationOrderAMD; 13064 typedef struct VkPipelineRasterizationStateRasterizationOrderAMD { 13065 VkStructureType sType; 13066 const void* pNext; 13067 VkRasterizationOrderAMD rasterizationOrder; 13068 } VkPipelineRasterizationStateRasterizationOrderAMD; 13069 13070 13071 13072 // VK_AMD_shader_trinary_minmax is a preprocessor guard. Do not pass it to API calls. 13073 #define VK_AMD_shader_trinary_minmax 1 13074 #define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1 13075 #define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax" 13076 13077 13078 // VK_AMD_shader_explicit_vertex_parameter is a preprocessor guard. Do not pass it to API calls. 13079 #define VK_AMD_shader_explicit_vertex_parameter 1 13080 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1 13081 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter" 13082 13083 13084 // VK_EXT_debug_marker is a preprocessor guard. Do not pass it to API calls. 13085 #define VK_EXT_debug_marker 1 13086 #define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4 13087 #define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker" 13088 typedef struct VkDebugMarkerObjectNameInfoEXT { 13089 VkStructureType sType; 13090 const void* pNext; 13091 VkDebugReportObjectTypeEXT objectType; 13092 uint64_t object; 13093 const char* pObjectName; 13094 } VkDebugMarkerObjectNameInfoEXT; 13095 13096 typedef struct VkDebugMarkerObjectTagInfoEXT { 13097 VkStructureType sType; 13098 const void* pNext; 13099 VkDebugReportObjectTypeEXT objectType; 13100 uint64_t object; 13101 uint64_t tagName; 13102 size_t tagSize; 13103 const void* pTag; 13104 } VkDebugMarkerObjectTagInfoEXT; 13105 13106 typedef struct VkDebugMarkerMarkerInfoEXT { 13107 VkStructureType sType; 13108 const void* pNext; 13109 const char* pMarkerName; 13110 float color[4]; 13111 } VkDebugMarkerMarkerInfoEXT; 13112 13113 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo); 13114 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo); 13115 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 13116 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer); 13117 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 13118 13119 #ifndef VK_NO_PROTOTYPES 13120 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT( 13121 VkDevice device, 13122 const VkDebugMarkerObjectTagInfoEXT* pTagInfo); 13123 13124 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT( 13125 VkDevice device, 13126 const VkDebugMarkerObjectNameInfoEXT* pNameInfo); 13127 13128 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT( 13129 VkCommandBuffer commandBuffer, 13130 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 13131 13132 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT( 13133 VkCommandBuffer commandBuffer); 13134 13135 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT( 13136 VkCommandBuffer commandBuffer, 13137 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 13138 #endif 13139 13140 13141 // VK_AMD_gcn_shader is a preprocessor guard. Do not pass it to API calls. 13142 #define VK_AMD_gcn_shader 1 13143 #define VK_AMD_GCN_SHADER_SPEC_VERSION 1 13144 #define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader" 13145 13146 13147 // VK_NV_dedicated_allocation is a preprocessor guard. Do not pass it to API calls. 13148 #define VK_NV_dedicated_allocation 1 13149 #define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1 13150 #define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation" 13151 typedef struct VkDedicatedAllocationImageCreateInfoNV { 13152 VkStructureType sType; 13153 const void* pNext; 13154 VkBool32 dedicatedAllocation; 13155 } VkDedicatedAllocationImageCreateInfoNV; 13156 13157 typedef struct VkDedicatedAllocationBufferCreateInfoNV { 13158 VkStructureType sType; 13159 const void* pNext; 13160 VkBool32 dedicatedAllocation; 13161 } VkDedicatedAllocationBufferCreateInfoNV; 13162 13163 typedef struct VkDedicatedAllocationMemoryAllocateInfoNV { 13164 VkStructureType sType; 13165 const void* pNext; 13166 VkImage image; 13167 VkBuffer buffer; 13168 } VkDedicatedAllocationMemoryAllocateInfoNV; 13169 13170 13171 13172 // VK_EXT_transform_feedback is a preprocessor guard. Do not pass it to API calls. 13173 #define VK_EXT_transform_feedback 1 13174 #define VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION 1 13175 #define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback" 13176 typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT; 13177 typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT { 13178 VkStructureType sType; 13179 void* pNext; 13180 VkBool32 transformFeedback; 13181 VkBool32 geometryStreams; 13182 } VkPhysicalDeviceTransformFeedbackFeaturesEXT; 13183 13184 typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT { 13185 VkStructureType sType; 13186 void* pNext; 13187 uint32_t maxTransformFeedbackStreams; 13188 uint32_t maxTransformFeedbackBuffers; 13189 VkDeviceSize maxTransformFeedbackBufferSize; 13190 uint32_t maxTransformFeedbackStreamDataSize; 13191 uint32_t maxTransformFeedbackBufferDataSize; 13192 uint32_t maxTransformFeedbackBufferDataStride; 13193 VkBool32 transformFeedbackQueries; 13194 VkBool32 transformFeedbackStreamsLinesTriangles; 13195 VkBool32 transformFeedbackRasterizationStreamSelect; 13196 VkBool32 transformFeedbackDraw; 13197 } VkPhysicalDeviceTransformFeedbackPropertiesEXT; 13198 13199 typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT { 13200 VkStructureType sType; 13201 const void* pNext; 13202 VkPipelineRasterizationStateStreamCreateFlagsEXT flags; 13203 uint32_t rasterizationStream; 13204 } VkPipelineRasterizationStateStreamCreateInfoEXT; 13205 13206 typedef void (VKAPI_PTR *PFN_vkCmdBindTransformFeedbackBuffersEXT)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes); 13207 typedef void (VKAPI_PTR *PFN_vkCmdBeginTransformFeedbackEXT)(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets); 13208 typedef void (VKAPI_PTR *PFN_vkCmdEndTransformFeedbackEXT)(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets); 13209 typedef void (VKAPI_PTR *PFN_vkCmdBeginQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index); 13210 typedef void (VKAPI_PTR *PFN_vkCmdEndQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index); 13211 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectByteCountEXT)(VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride); 13212 13213 #ifndef VK_NO_PROTOTYPES 13214 VKAPI_ATTR void VKAPI_CALL vkCmdBindTransformFeedbackBuffersEXT( 13215 VkCommandBuffer commandBuffer, 13216 uint32_t firstBinding, 13217 uint32_t bindingCount, 13218 const VkBuffer* pBuffers, 13219 const VkDeviceSize* pOffsets, 13220 const VkDeviceSize* pSizes); 13221 13222 VKAPI_ATTR void VKAPI_CALL vkCmdBeginTransformFeedbackEXT( 13223 VkCommandBuffer commandBuffer, 13224 uint32_t firstCounterBuffer, 13225 uint32_t counterBufferCount, 13226 const VkBuffer* pCounterBuffers, 13227 const VkDeviceSize* pCounterBufferOffsets); 13228 13229 VKAPI_ATTR void VKAPI_CALL vkCmdEndTransformFeedbackEXT( 13230 VkCommandBuffer commandBuffer, 13231 uint32_t firstCounterBuffer, 13232 uint32_t counterBufferCount, 13233 const VkBuffer* pCounterBuffers, 13234 const VkDeviceSize* pCounterBufferOffsets); 13235 13236 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQueryIndexedEXT( 13237 VkCommandBuffer commandBuffer, 13238 VkQueryPool queryPool, 13239 uint32_t query, 13240 VkQueryControlFlags flags, 13241 uint32_t index); 13242 13243 VKAPI_ATTR void VKAPI_CALL vkCmdEndQueryIndexedEXT( 13244 VkCommandBuffer commandBuffer, 13245 VkQueryPool queryPool, 13246 uint32_t query, 13247 uint32_t index); 13248 13249 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectByteCountEXT( 13250 VkCommandBuffer commandBuffer, 13251 uint32_t instanceCount, 13252 uint32_t firstInstance, 13253 VkBuffer counterBuffer, 13254 VkDeviceSize counterBufferOffset, 13255 uint32_t counterOffset, 13256 uint32_t vertexStride); 13257 #endif 13258 13259 13260 // VK_NVX_binary_import is a preprocessor guard. Do not pass it to API calls. 13261 #define VK_NVX_binary_import 1 13262 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuModuleNVX) 13263 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuFunctionNVX) 13264 #define VK_NVX_BINARY_IMPORT_SPEC_VERSION 2 13265 #define VK_NVX_BINARY_IMPORT_EXTENSION_NAME "VK_NVX_binary_import" 13266 typedef struct VkCuModuleCreateInfoNVX { 13267 VkStructureType sType; 13268 const void* pNext; 13269 size_t dataSize; 13270 const void* pData; 13271 } VkCuModuleCreateInfoNVX; 13272 13273 typedef struct VkCuModuleTexturingModeCreateInfoNVX { 13274 VkStructureType sType; 13275 const void* pNext; 13276 VkBool32 use64bitTexturing; 13277 } VkCuModuleTexturingModeCreateInfoNVX; 13278 13279 typedef struct VkCuFunctionCreateInfoNVX { 13280 VkStructureType sType; 13281 const void* pNext; 13282 VkCuModuleNVX module; 13283 const char* pName; 13284 } VkCuFunctionCreateInfoNVX; 13285 13286 typedef struct VkCuLaunchInfoNVX { 13287 VkStructureType sType; 13288 const void* pNext; 13289 VkCuFunctionNVX function; 13290 uint32_t gridDimX; 13291 uint32_t gridDimY; 13292 uint32_t gridDimZ; 13293 uint32_t blockDimX; 13294 uint32_t blockDimY; 13295 uint32_t blockDimZ; 13296 uint32_t sharedMemBytes; 13297 size_t paramCount; 13298 const void* const * pParams; 13299 size_t extraCount; 13300 const void* const * pExtras; 13301 } VkCuLaunchInfoNVX; 13302 13303 typedef VkResult (VKAPI_PTR *PFN_vkCreateCuModuleNVX)(VkDevice device, const VkCuModuleCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuModuleNVX* pModule); 13304 typedef VkResult (VKAPI_PTR *PFN_vkCreateCuFunctionNVX)(VkDevice device, const VkCuFunctionCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuFunctionNVX* pFunction); 13305 typedef void (VKAPI_PTR *PFN_vkDestroyCuModuleNVX)(VkDevice device, VkCuModuleNVX module, const VkAllocationCallbacks* pAllocator); 13306 typedef void (VKAPI_PTR *PFN_vkDestroyCuFunctionNVX)(VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks* pAllocator); 13307 typedef void (VKAPI_PTR *PFN_vkCmdCuLaunchKernelNVX)(VkCommandBuffer commandBuffer, const VkCuLaunchInfoNVX* pLaunchInfo); 13308 13309 #ifndef VK_NO_PROTOTYPES 13310 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuModuleNVX( 13311 VkDevice device, 13312 const VkCuModuleCreateInfoNVX* pCreateInfo, 13313 const VkAllocationCallbacks* pAllocator, 13314 VkCuModuleNVX* pModule); 13315 13316 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuFunctionNVX( 13317 VkDevice device, 13318 const VkCuFunctionCreateInfoNVX* pCreateInfo, 13319 const VkAllocationCallbacks* pAllocator, 13320 VkCuFunctionNVX* pFunction); 13321 13322 VKAPI_ATTR void VKAPI_CALL vkDestroyCuModuleNVX( 13323 VkDevice device, 13324 VkCuModuleNVX module, 13325 const VkAllocationCallbacks* pAllocator); 13326 13327 VKAPI_ATTR void VKAPI_CALL vkDestroyCuFunctionNVX( 13328 VkDevice device, 13329 VkCuFunctionNVX function, 13330 const VkAllocationCallbacks* pAllocator); 13331 13332 VKAPI_ATTR void VKAPI_CALL vkCmdCuLaunchKernelNVX( 13333 VkCommandBuffer commandBuffer, 13334 const VkCuLaunchInfoNVX* pLaunchInfo); 13335 #endif 13336 13337 13338 // VK_NVX_image_view_handle is a preprocessor guard. Do not pass it to API calls. 13339 #define VK_NVX_image_view_handle 1 13340 #define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 3 13341 #define VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME "VK_NVX_image_view_handle" 13342 typedef struct VkImageViewHandleInfoNVX { 13343 VkStructureType sType; 13344 const void* pNext; 13345 VkImageView imageView; 13346 VkDescriptorType descriptorType; 13347 VkSampler sampler; 13348 } VkImageViewHandleInfoNVX; 13349 13350 typedef struct VkImageViewAddressPropertiesNVX { 13351 VkStructureType sType; 13352 void* pNext; 13353 VkDeviceAddress deviceAddress; 13354 VkDeviceSize size; 13355 } VkImageViewAddressPropertiesNVX; 13356 13357 typedef uint32_t (VKAPI_PTR *PFN_vkGetImageViewHandleNVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo); 13358 typedef uint64_t (VKAPI_PTR *PFN_vkGetImageViewHandle64NVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo); 13359 typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewAddressNVX)(VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties); 13360 13361 #ifndef VK_NO_PROTOTYPES 13362 VKAPI_ATTR uint32_t VKAPI_CALL vkGetImageViewHandleNVX( 13363 VkDevice device, 13364 const VkImageViewHandleInfoNVX* pInfo); 13365 13366 VKAPI_ATTR uint64_t VKAPI_CALL vkGetImageViewHandle64NVX( 13367 VkDevice device, 13368 const VkImageViewHandleInfoNVX* pInfo); 13369 13370 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewAddressNVX( 13371 VkDevice device, 13372 VkImageView imageView, 13373 VkImageViewAddressPropertiesNVX* pProperties); 13374 #endif 13375 13376 13377 // VK_AMD_draw_indirect_count is a preprocessor guard. Do not pass it to API calls. 13378 #define VK_AMD_draw_indirect_count 1 13379 #define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 2 13380 #define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count" 13381 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 13382 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 13383 13384 #ifndef VK_NO_PROTOTYPES 13385 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD( 13386 VkCommandBuffer commandBuffer, 13387 VkBuffer buffer, 13388 VkDeviceSize offset, 13389 VkBuffer countBuffer, 13390 VkDeviceSize countBufferOffset, 13391 uint32_t maxDrawCount, 13392 uint32_t stride); 13393 13394 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD( 13395 VkCommandBuffer commandBuffer, 13396 VkBuffer buffer, 13397 VkDeviceSize offset, 13398 VkBuffer countBuffer, 13399 VkDeviceSize countBufferOffset, 13400 uint32_t maxDrawCount, 13401 uint32_t stride); 13402 #endif 13403 13404 13405 // VK_AMD_negative_viewport_height is a preprocessor guard. Do not pass it to API calls. 13406 #define VK_AMD_negative_viewport_height 1 13407 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1 13408 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height" 13409 13410 13411 // VK_AMD_gpu_shader_half_float is a preprocessor guard. Do not pass it to API calls. 13412 #define VK_AMD_gpu_shader_half_float 1 13413 #define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 2 13414 #define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float" 13415 13416 13417 // VK_AMD_shader_ballot is a preprocessor guard. Do not pass it to API calls. 13418 #define VK_AMD_shader_ballot 1 13419 #define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1 13420 #define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot" 13421 13422 13423 // VK_AMD_texture_gather_bias_lod is a preprocessor guard. Do not pass it to API calls. 13424 #define VK_AMD_texture_gather_bias_lod 1 13425 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1 13426 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod" 13427 typedef struct VkTextureLODGatherFormatPropertiesAMD { 13428 VkStructureType sType; 13429 void* pNext; 13430 VkBool32 supportsTextureGatherLODBiasAMD; 13431 } VkTextureLODGatherFormatPropertiesAMD; 13432 13433 13434 13435 // VK_AMD_shader_info is a preprocessor guard. Do not pass it to API calls. 13436 #define VK_AMD_shader_info 1 13437 #define VK_AMD_SHADER_INFO_SPEC_VERSION 1 13438 #define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info" 13439 13440 typedef enum VkShaderInfoTypeAMD { 13441 VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0, 13442 VK_SHADER_INFO_TYPE_BINARY_AMD = 1, 13443 VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2, 13444 VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF 13445 } VkShaderInfoTypeAMD; 13446 typedef struct VkShaderResourceUsageAMD { 13447 uint32_t numUsedVgprs; 13448 uint32_t numUsedSgprs; 13449 uint32_t ldsSizePerLocalWorkGroup; 13450 size_t ldsUsageSizeInBytes; 13451 size_t scratchMemUsageInBytes; 13452 } VkShaderResourceUsageAMD; 13453 13454 typedef struct VkShaderStatisticsInfoAMD { 13455 VkShaderStageFlags shaderStageMask; 13456 VkShaderResourceUsageAMD resourceUsage; 13457 uint32_t numPhysicalVgprs; 13458 uint32_t numPhysicalSgprs; 13459 uint32_t numAvailableVgprs; 13460 uint32_t numAvailableSgprs; 13461 uint32_t computeWorkGroupSize[3]; 13462 } VkShaderStatisticsInfoAMD; 13463 13464 typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t* pInfoSize, void* pInfo); 13465 13466 #ifndef VK_NO_PROTOTYPES 13467 VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderInfoAMD( 13468 VkDevice device, 13469 VkPipeline pipeline, 13470 VkShaderStageFlagBits shaderStage, 13471 VkShaderInfoTypeAMD infoType, 13472 size_t* pInfoSize, 13473 void* pInfo); 13474 #endif 13475 13476 13477 // VK_AMD_shader_image_load_store_lod is a preprocessor guard. Do not pass it to API calls. 13478 #define VK_AMD_shader_image_load_store_lod 1 13479 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1 13480 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod" 13481 13482 13483 // VK_NV_corner_sampled_image is a preprocessor guard. Do not pass it to API calls. 13484 #define VK_NV_corner_sampled_image 1 13485 #define VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION 2 13486 #define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image" 13487 typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV { 13488 VkStructureType sType; 13489 void* pNext; 13490 VkBool32 cornerSampledImage; 13491 } VkPhysicalDeviceCornerSampledImageFeaturesNV; 13492 13493 13494 13495 // VK_IMG_format_pvrtc is a preprocessor guard. Do not pass it to API calls. 13496 #define VK_IMG_format_pvrtc 1 13497 #define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1 13498 #define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc" 13499 13500 13501 // VK_NV_external_memory_capabilities is a preprocessor guard. Do not pass it to API calls. 13502 #define VK_NV_external_memory_capabilities 1 13503 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1 13504 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities" 13505 13506 typedef enum VkExternalMemoryHandleTypeFlagBitsNV { 13507 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001, 13508 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002, 13509 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004, 13510 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008, 13511 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 13512 } VkExternalMemoryHandleTypeFlagBitsNV; 13513 typedef VkFlags VkExternalMemoryHandleTypeFlagsNV; 13514 13515 typedef enum VkExternalMemoryFeatureFlagBitsNV { 13516 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001, 13517 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002, 13518 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004, 13519 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 13520 } VkExternalMemoryFeatureFlagBitsNV; 13521 typedef VkFlags VkExternalMemoryFeatureFlagsNV; 13522 typedef struct VkExternalImageFormatPropertiesNV { 13523 VkImageFormatProperties imageFormatProperties; 13524 VkExternalMemoryFeatureFlagsNV externalMemoryFeatures; 13525 VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes; 13526 VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes; 13527 } VkExternalImageFormatPropertiesNV; 13528 13529 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties); 13530 13531 #ifndef VK_NO_PROTOTYPES 13532 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV( 13533 VkPhysicalDevice physicalDevice, 13534 VkFormat format, 13535 VkImageType type, 13536 VkImageTiling tiling, 13537 VkImageUsageFlags usage, 13538 VkImageCreateFlags flags, 13539 VkExternalMemoryHandleTypeFlagsNV externalHandleType, 13540 VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties); 13541 #endif 13542 13543 13544 // VK_NV_external_memory is a preprocessor guard. Do not pass it to API calls. 13545 #define VK_NV_external_memory 1 13546 #define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1 13547 #define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory" 13548 typedef struct VkExternalMemoryImageCreateInfoNV { 13549 VkStructureType sType; 13550 const void* pNext; 13551 VkExternalMemoryHandleTypeFlagsNV handleTypes; 13552 } VkExternalMemoryImageCreateInfoNV; 13553 13554 typedef struct VkExportMemoryAllocateInfoNV { 13555 VkStructureType sType; 13556 const void* pNext; 13557 VkExternalMemoryHandleTypeFlagsNV handleTypes; 13558 } VkExportMemoryAllocateInfoNV; 13559 13560 13561 13562 // VK_EXT_validation_flags is a preprocessor guard. Do not pass it to API calls. 13563 #define VK_EXT_validation_flags 1 13564 #define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 3 13565 #define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags" 13566 13567 typedef enum VkValidationCheckEXT { 13568 VK_VALIDATION_CHECK_ALL_EXT = 0, 13569 VK_VALIDATION_CHECK_SHADERS_EXT = 1, 13570 VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF 13571 } VkValidationCheckEXT; 13572 typedef struct VkValidationFlagsEXT { 13573 VkStructureType sType; 13574 const void* pNext; 13575 uint32_t disabledValidationCheckCount; 13576 const VkValidationCheckEXT* pDisabledValidationChecks; 13577 } VkValidationFlagsEXT; 13578 13579 13580 13581 // VK_EXT_shader_subgroup_ballot is a preprocessor guard. Do not pass it to API calls. 13582 #define VK_EXT_shader_subgroup_ballot 1 13583 #define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1 13584 #define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot" 13585 13586 13587 // VK_EXT_shader_subgroup_vote is a preprocessor guard. Do not pass it to API calls. 13588 #define VK_EXT_shader_subgroup_vote 1 13589 #define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1 13590 #define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote" 13591 13592 13593 // VK_EXT_texture_compression_astc_hdr is a preprocessor guard. Do not pass it to API calls. 13594 #define VK_EXT_texture_compression_astc_hdr 1 13595 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1 13596 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr" 13597 typedef VkPhysicalDeviceTextureCompressionASTCHDRFeatures VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT; 13598 13599 13600 13601 // VK_EXT_astc_decode_mode is a preprocessor guard. Do not pass it to API calls. 13602 #define VK_EXT_astc_decode_mode 1 13603 #define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1 13604 #define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode" 13605 typedef struct VkImageViewASTCDecodeModeEXT { 13606 VkStructureType sType; 13607 const void* pNext; 13608 VkFormat decodeMode; 13609 } VkImageViewASTCDecodeModeEXT; 13610 13611 typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT { 13612 VkStructureType sType; 13613 void* pNext; 13614 VkBool32 decodeModeSharedExponent; 13615 } VkPhysicalDeviceASTCDecodeFeaturesEXT; 13616 13617 13618 13619 // VK_EXT_pipeline_robustness is a preprocessor guard. Do not pass it to API calls. 13620 #define VK_EXT_pipeline_robustness 1 13621 #define VK_EXT_PIPELINE_ROBUSTNESS_SPEC_VERSION 1 13622 #define VK_EXT_PIPELINE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_pipeline_robustness" 13623 typedef VkPipelineRobustnessBufferBehavior VkPipelineRobustnessBufferBehaviorEXT; 13624 13625 typedef VkPipelineRobustnessImageBehavior VkPipelineRobustnessImageBehaviorEXT; 13626 13627 typedef VkPhysicalDevicePipelineRobustnessFeatures VkPhysicalDevicePipelineRobustnessFeaturesEXT; 13628 13629 typedef VkPhysicalDevicePipelineRobustnessProperties VkPhysicalDevicePipelineRobustnessPropertiesEXT; 13630 13631 typedef VkPipelineRobustnessCreateInfo VkPipelineRobustnessCreateInfoEXT; 13632 13633 13634 13635 // VK_EXT_conditional_rendering is a preprocessor guard. Do not pass it to API calls. 13636 #define VK_EXT_conditional_rendering 1 13637 #define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 2 13638 #define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering" 13639 13640 typedef enum VkConditionalRenderingFlagBitsEXT { 13641 VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 0x00000001, 13642 VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 13643 } VkConditionalRenderingFlagBitsEXT; 13644 typedef VkFlags VkConditionalRenderingFlagsEXT; 13645 typedef struct VkConditionalRenderingBeginInfoEXT { 13646 VkStructureType sType; 13647 const void* pNext; 13648 VkBuffer buffer; 13649 VkDeviceSize offset; 13650 VkConditionalRenderingFlagsEXT flags; 13651 } VkConditionalRenderingBeginInfoEXT; 13652 13653 typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT { 13654 VkStructureType sType; 13655 void* pNext; 13656 VkBool32 conditionalRendering; 13657 VkBool32 inheritedConditionalRendering; 13658 } VkPhysicalDeviceConditionalRenderingFeaturesEXT; 13659 13660 typedef struct VkCommandBufferInheritanceConditionalRenderingInfoEXT { 13661 VkStructureType sType; 13662 const void* pNext; 13663 VkBool32 conditionalRenderingEnable; 13664 } VkCommandBufferInheritanceConditionalRenderingInfoEXT; 13665 13666 typedef void (VKAPI_PTR *PFN_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin); 13667 typedef void (VKAPI_PTR *PFN_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer commandBuffer); 13668 13669 #ifndef VK_NO_PROTOTYPES 13670 VKAPI_ATTR void VKAPI_CALL vkCmdBeginConditionalRenderingEXT( 13671 VkCommandBuffer commandBuffer, 13672 const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin); 13673 13674 VKAPI_ATTR void VKAPI_CALL vkCmdEndConditionalRenderingEXT( 13675 VkCommandBuffer commandBuffer); 13676 #endif 13677 13678 13679 // VK_NV_clip_space_w_scaling is a preprocessor guard. Do not pass it to API calls. 13680 #define VK_NV_clip_space_w_scaling 1 13681 #define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1 13682 #define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling" 13683 typedef struct VkViewportWScalingNV { 13684 float xcoeff; 13685 float ycoeff; 13686 } VkViewportWScalingNV; 13687 13688 typedef struct VkPipelineViewportWScalingStateCreateInfoNV { 13689 VkStructureType sType; 13690 const void* pNext; 13691 VkBool32 viewportWScalingEnable; 13692 uint32_t viewportCount; 13693 const VkViewportWScalingNV* pViewportWScalings; 13694 } VkPipelineViewportWScalingStateCreateInfoNV; 13695 13696 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportWScalingNV* pViewportWScalings); 13697 13698 #ifndef VK_NO_PROTOTYPES 13699 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingNV( 13700 VkCommandBuffer commandBuffer, 13701 uint32_t firstViewport, 13702 uint32_t viewportCount, 13703 const VkViewportWScalingNV* pViewportWScalings); 13704 #endif 13705 13706 13707 // VK_EXT_direct_mode_display is a preprocessor guard. Do not pass it to API calls. 13708 #define VK_EXT_direct_mode_display 1 13709 #define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1 13710 #define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display" 13711 typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display); 13712 13713 #ifndef VK_NO_PROTOTYPES 13714 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT( 13715 VkPhysicalDevice physicalDevice, 13716 VkDisplayKHR display); 13717 #endif 13718 13719 13720 // VK_EXT_display_surface_counter is a preprocessor guard. Do not pass it to API calls. 13721 #define VK_EXT_display_surface_counter 1 13722 #define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1 13723 #define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter" 13724 13725 typedef enum VkSurfaceCounterFlagBitsEXT { 13726 VK_SURFACE_COUNTER_VBLANK_BIT_EXT = 0x00000001, 13727 // VK_SURFACE_COUNTER_VBLANK_EXT is a deprecated alias 13728 VK_SURFACE_COUNTER_VBLANK_EXT = VK_SURFACE_COUNTER_VBLANK_BIT_EXT, 13729 VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 13730 } VkSurfaceCounterFlagBitsEXT; 13731 typedef VkFlags VkSurfaceCounterFlagsEXT; 13732 typedef struct VkSurfaceCapabilities2EXT { 13733 VkStructureType sType; 13734 void* pNext; 13735 uint32_t minImageCount; 13736 uint32_t maxImageCount; 13737 VkExtent2D currentExtent; 13738 VkExtent2D minImageExtent; 13739 VkExtent2D maxImageExtent; 13740 uint32_t maxImageArrayLayers; 13741 VkSurfaceTransformFlagsKHR supportedTransforms; 13742 VkSurfaceTransformFlagBitsKHR currentTransform; 13743 VkCompositeAlphaFlagsKHR supportedCompositeAlpha; 13744 VkImageUsageFlags supportedUsageFlags; 13745 VkSurfaceCounterFlagsEXT supportedSurfaceCounters; 13746 } VkSurfaceCapabilities2EXT; 13747 13748 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities); 13749 13750 #ifndef VK_NO_PROTOTYPES 13751 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT( 13752 VkPhysicalDevice physicalDevice, 13753 VkSurfaceKHR surface, 13754 VkSurfaceCapabilities2EXT* pSurfaceCapabilities); 13755 #endif 13756 13757 13758 // VK_EXT_display_control is a preprocessor guard. Do not pass it to API calls. 13759 #define VK_EXT_display_control 1 13760 #define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1 13761 #define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control" 13762 13763 typedef enum VkDisplayPowerStateEXT { 13764 VK_DISPLAY_POWER_STATE_OFF_EXT = 0, 13765 VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1, 13766 VK_DISPLAY_POWER_STATE_ON_EXT = 2, 13767 VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF 13768 } VkDisplayPowerStateEXT; 13769 13770 typedef enum VkDeviceEventTypeEXT { 13771 VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0, 13772 VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 13773 } VkDeviceEventTypeEXT; 13774 13775 typedef enum VkDisplayEventTypeEXT { 13776 VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0, 13777 VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 13778 } VkDisplayEventTypeEXT; 13779 typedef struct VkDisplayPowerInfoEXT { 13780 VkStructureType sType; 13781 const void* pNext; 13782 VkDisplayPowerStateEXT powerState; 13783 } VkDisplayPowerInfoEXT; 13784 13785 typedef struct VkDeviceEventInfoEXT { 13786 VkStructureType sType; 13787 const void* pNext; 13788 VkDeviceEventTypeEXT deviceEvent; 13789 } VkDeviceEventInfoEXT; 13790 13791 typedef struct VkDisplayEventInfoEXT { 13792 VkStructureType sType; 13793 const void* pNext; 13794 VkDisplayEventTypeEXT displayEvent; 13795 } VkDisplayEventInfoEXT; 13796 13797 typedef struct VkSwapchainCounterCreateInfoEXT { 13798 VkStructureType sType; 13799 const void* pNext; 13800 VkSurfaceCounterFlagsEXT surfaceCounters; 13801 } VkSwapchainCounterCreateInfoEXT; 13802 13803 typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo); 13804 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); 13805 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); 13806 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue); 13807 13808 #ifndef VK_NO_PROTOTYPES 13809 VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT( 13810 VkDevice device, 13811 VkDisplayKHR display, 13812 const VkDisplayPowerInfoEXT* pDisplayPowerInfo); 13813 13814 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT( 13815 VkDevice device, 13816 const VkDeviceEventInfoEXT* pDeviceEventInfo, 13817 const VkAllocationCallbacks* pAllocator, 13818 VkFence* pFence); 13819 13820 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT( 13821 VkDevice device, 13822 VkDisplayKHR display, 13823 const VkDisplayEventInfoEXT* pDisplayEventInfo, 13824 const VkAllocationCallbacks* pAllocator, 13825 VkFence* pFence); 13826 13827 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT( 13828 VkDevice device, 13829 VkSwapchainKHR swapchain, 13830 VkSurfaceCounterFlagBitsEXT counter, 13831 uint64_t* pCounterValue); 13832 #endif 13833 13834 13835 // VK_GOOGLE_display_timing is a preprocessor guard. Do not pass it to API calls. 13836 #define VK_GOOGLE_display_timing 1 13837 #define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1 13838 #define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing" 13839 typedef struct VkRefreshCycleDurationGOOGLE { 13840 uint64_t refreshDuration; 13841 } VkRefreshCycleDurationGOOGLE; 13842 13843 typedef struct VkPastPresentationTimingGOOGLE { 13844 uint32_t presentID; 13845 uint64_t desiredPresentTime; 13846 uint64_t actualPresentTime; 13847 uint64_t earliestPresentTime; 13848 uint64_t presentMargin; 13849 } VkPastPresentationTimingGOOGLE; 13850 13851 typedef struct VkPresentTimeGOOGLE { 13852 uint32_t presentID; 13853 uint64_t desiredPresentTime; 13854 } VkPresentTimeGOOGLE; 13855 13856 typedef struct VkPresentTimesInfoGOOGLE { 13857 VkStructureType sType; 13858 const void* pNext; 13859 uint32_t swapchainCount; 13860 const VkPresentTimeGOOGLE* pTimes; 13861 } VkPresentTimesInfoGOOGLE; 13862 13863 typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties); 13864 typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings); 13865 13866 #ifndef VK_NO_PROTOTYPES 13867 VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE( 13868 VkDevice device, 13869 VkSwapchainKHR swapchain, 13870 VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties); 13871 13872 VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE( 13873 VkDevice device, 13874 VkSwapchainKHR swapchain, 13875 uint32_t* pPresentationTimingCount, 13876 VkPastPresentationTimingGOOGLE* pPresentationTimings); 13877 #endif 13878 13879 13880 // VK_NV_sample_mask_override_coverage is a preprocessor guard. Do not pass it to API calls. 13881 #define VK_NV_sample_mask_override_coverage 1 13882 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1 13883 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage" 13884 13885 13886 // VK_NV_geometry_shader_passthrough is a preprocessor guard. Do not pass it to API calls. 13887 #define VK_NV_geometry_shader_passthrough 1 13888 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1 13889 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough" 13890 13891 13892 // VK_NV_viewport_array2 is a preprocessor guard. Do not pass it to API calls. 13893 #define VK_NV_viewport_array2 1 13894 #define VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION 1 13895 #define VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME "VK_NV_viewport_array2" 13896 // VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION is a deprecated alias 13897 #define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION 13898 // VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME is a deprecated alias 13899 #define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME 13900 13901 13902 // VK_NVX_multiview_per_view_attributes is a preprocessor guard. Do not pass it to API calls. 13903 #define VK_NVX_multiview_per_view_attributes 1 13904 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1 13905 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes" 13906 typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX { 13907 VkStructureType sType; 13908 void* pNext; 13909 VkBool32 perViewPositionAllComponents; 13910 } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX; 13911 13912 typedef struct VkMultiviewPerViewAttributesInfoNVX { 13913 VkStructureType sType; 13914 const void* pNext; 13915 VkBool32 perViewAttributes; 13916 VkBool32 perViewAttributesPositionXOnly; 13917 } VkMultiviewPerViewAttributesInfoNVX; 13918 13919 13920 13921 // VK_NV_viewport_swizzle is a preprocessor guard. Do not pass it to API calls. 13922 #define VK_NV_viewport_swizzle 1 13923 #define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1 13924 #define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle" 13925 13926 typedef enum VkViewportCoordinateSwizzleNV { 13927 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0, 13928 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1, 13929 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2, 13930 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3, 13931 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4, 13932 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5, 13933 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6, 13934 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7, 13935 VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF 13936 } VkViewportCoordinateSwizzleNV; 13937 typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV; 13938 typedef struct VkViewportSwizzleNV { 13939 VkViewportCoordinateSwizzleNV x; 13940 VkViewportCoordinateSwizzleNV y; 13941 VkViewportCoordinateSwizzleNV z; 13942 VkViewportCoordinateSwizzleNV w; 13943 } VkViewportSwizzleNV; 13944 13945 typedef struct VkPipelineViewportSwizzleStateCreateInfoNV { 13946 VkStructureType sType; 13947 const void* pNext; 13948 VkPipelineViewportSwizzleStateCreateFlagsNV flags; 13949 uint32_t viewportCount; 13950 const VkViewportSwizzleNV* pViewportSwizzles; 13951 } VkPipelineViewportSwizzleStateCreateInfoNV; 13952 13953 13954 13955 // VK_EXT_discard_rectangles is a preprocessor guard. Do not pass it to API calls. 13956 #define VK_EXT_discard_rectangles 1 13957 #define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 2 13958 #define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles" 13959 13960 typedef enum VkDiscardRectangleModeEXT { 13961 VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0, 13962 VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1, 13963 VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 13964 } VkDiscardRectangleModeEXT; 13965 typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT; 13966 typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT { 13967 VkStructureType sType; 13968 void* pNext; 13969 uint32_t maxDiscardRectangles; 13970 } VkPhysicalDeviceDiscardRectanglePropertiesEXT; 13971 13972 typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT { 13973 VkStructureType sType; 13974 const void* pNext; 13975 VkPipelineDiscardRectangleStateCreateFlagsEXT flags; 13976 VkDiscardRectangleModeEXT discardRectangleMode; 13977 uint32_t discardRectangleCount; 13978 const VkRect2D* pDiscardRectangles; 13979 } VkPipelineDiscardRectangleStateCreateInfoEXT; 13980 13981 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D* pDiscardRectangles); 13982 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 discardRectangleEnable); 13983 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleModeEXT)(VkCommandBuffer commandBuffer, VkDiscardRectangleModeEXT discardRectangleMode); 13984 13985 #ifndef VK_NO_PROTOTYPES 13986 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT( 13987 VkCommandBuffer commandBuffer, 13988 uint32_t firstDiscardRectangle, 13989 uint32_t discardRectangleCount, 13990 const VkRect2D* pDiscardRectangles); 13991 13992 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEnableEXT( 13993 VkCommandBuffer commandBuffer, 13994 VkBool32 discardRectangleEnable); 13995 13996 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleModeEXT( 13997 VkCommandBuffer commandBuffer, 13998 VkDiscardRectangleModeEXT discardRectangleMode); 13999 #endif 14000 14001 14002 // VK_EXT_conservative_rasterization is a preprocessor guard. Do not pass it to API calls. 14003 #define VK_EXT_conservative_rasterization 1 14004 #define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1 14005 #define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization" 14006 14007 typedef enum VkConservativeRasterizationModeEXT { 14008 VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0, 14009 VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1, 14010 VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2, 14011 VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 14012 } VkConservativeRasterizationModeEXT; 14013 typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT; 14014 typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT { 14015 VkStructureType sType; 14016 void* pNext; 14017 float primitiveOverestimationSize; 14018 float maxExtraPrimitiveOverestimationSize; 14019 float extraPrimitiveOverestimationSizeGranularity; 14020 VkBool32 primitiveUnderestimation; 14021 VkBool32 conservativePointAndLineRasterization; 14022 VkBool32 degenerateTrianglesRasterized; 14023 VkBool32 degenerateLinesRasterized; 14024 VkBool32 fullyCoveredFragmentShaderInputVariable; 14025 VkBool32 conservativeRasterizationPostDepthCoverage; 14026 } VkPhysicalDeviceConservativeRasterizationPropertiesEXT; 14027 14028 typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT { 14029 VkStructureType sType; 14030 const void* pNext; 14031 VkPipelineRasterizationConservativeStateCreateFlagsEXT flags; 14032 VkConservativeRasterizationModeEXT conservativeRasterizationMode; 14033 float extraPrimitiveOverestimationSize; 14034 } VkPipelineRasterizationConservativeStateCreateInfoEXT; 14035 14036 14037 14038 // VK_EXT_depth_clip_enable is a preprocessor guard. Do not pass it to API calls. 14039 #define VK_EXT_depth_clip_enable 1 14040 #define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1 14041 #define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable" 14042 typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT; 14043 typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT { 14044 VkStructureType sType; 14045 void* pNext; 14046 VkBool32 depthClipEnable; 14047 } VkPhysicalDeviceDepthClipEnableFeaturesEXT; 14048 14049 typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT { 14050 VkStructureType sType; 14051 const void* pNext; 14052 VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags; 14053 VkBool32 depthClipEnable; 14054 } VkPipelineRasterizationDepthClipStateCreateInfoEXT; 14055 14056 14057 14058 // VK_EXT_swapchain_colorspace is a preprocessor guard. Do not pass it to API calls. 14059 #define VK_EXT_swapchain_colorspace 1 14060 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 5 14061 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace" 14062 14063 14064 // VK_EXT_hdr_metadata is a preprocessor guard. Do not pass it to API calls. 14065 #define VK_EXT_hdr_metadata 1 14066 #define VK_EXT_HDR_METADATA_SPEC_VERSION 3 14067 #define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata" 14068 typedef struct VkXYColorEXT { 14069 float x; 14070 float y; 14071 } VkXYColorEXT; 14072 14073 typedef struct VkHdrMetadataEXT { 14074 VkStructureType sType; 14075 const void* pNext; 14076 VkXYColorEXT displayPrimaryRed; 14077 VkXYColorEXT displayPrimaryGreen; 14078 VkXYColorEXT displayPrimaryBlue; 14079 VkXYColorEXT whitePoint; 14080 float maxLuminance; 14081 float minLuminance; 14082 float maxContentLightLevel; 14083 float maxFrameAverageLightLevel; 14084 } VkHdrMetadataEXT; 14085 14086 typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, uint32_t swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata); 14087 14088 #ifndef VK_NO_PROTOTYPES 14089 VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT( 14090 VkDevice device, 14091 uint32_t swapchainCount, 14092 const VkSwapchainKHR* pSwapchains, 14093 const VkHdrMetadataEXT* pMetadata); 14094 #endif 14095 14096 14097 // VK_IMG_relaxed_line_rasterization is a preprocessor guard. Do not pass it to API calls. 14098 #define VK_IMG_relaxed_line_rasterization 1 14099 #define VK_IMG_RELAXED_LINE_RASTERIZATION_SPEC_VERSION 1 14100 #define VK_IMG_RELAXED_LINE_RASTERIZATION_EXTENSION_NAME "VK_IMG_relaxed_line_rasterization" 14101 typedef struct VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG { 14102 VkStructureType sType; 14103 void* pNext; 14104 VkBool32 relaxedLineRasterization; 14105 } VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG; 14106 14107 14108 14109 // VK_EXT_external_memory_dma_buf is a preprocessor guard. Do not pass it to API calls. 14110 #define VK_EXT_external_memory_dma_buf 1 14111 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1 14112 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf" 14113 14114 14115 // VK_EXT_queue_family_foreign is a preprocessor guard. Do not pass it to API calls. 14116 #define VK_EXT_queue_family_foreign 1 14117 #define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1 14118 #define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign" 14119 #define VK_QUEUE_FAMILY_FOREIGN_EXT (~2U) 14120 14121 14122 // VK_EXT_debug_utils is a preprocessor guard. Do not pass it to API calls. 14123 #define VK_EXT_debug_utils 1 14124 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT) 14125 #define VK_EXT_DEBUG_UTILS_SPEC_VERSION 2 14126 #define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils" 14127 typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT; 14128 14129 typedef enum VkDebugUtilsMessageSeverityFlagBitsEXT { 14130 VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001, 14131 VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010, 14132 VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100, 14133 VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000, 14134 VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 14135 } VkDebugUtilsMessageSeverityFlagBitsEXT; 14136 14137 typedef enum VkDebugUtilsMessageTypeFlagBitsEXT { 14138 VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001, 14139 VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002, 14140 VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004, 14141 VK_DEBUG_UTILS_MESSAGE_TYPE_DEVICE_ADDRESS_BINDING_BIT_EXT = 0x00000008, 14142 VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 14143 } VkDebugUtilsMessageTypeFlagBitsEXT; 14144 typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT; 14145 typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT; 14146 typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT; 14147 typedef struct VkDebugUtilsLabelEXT { 14148 VkStructureType sType; 14149 const void* pNext; 14150 const char* pLabelName; 14151 float color[4]; 14152 } VkDebugUtilsLabelEXT; 14153 14154 typedef struct VkDebugUtilsObjectNameInfoEXT { 14155 VkStructureType sType; 14156 const void* pNext; 14157 VkObjectType objectType; 14158 uint64_t objectHandle; 14159 const char* pObjectName; 14160 } VkDebugUtilsObjectNameInfoEXT; 14161 14162 typedef struct VkDebugUtilsMessengerCallbackDataEXT { 14163 VkStructureType sType; 14164 const void* pNext; 14165 VkDebugUtilsMessengerCallbackDataFlagsEXT flags; 14166 const char* pMessageIdName; 14167 int32_t messageIdNumber; 14168 const char* pMessage; 14169 uint32_t queueLabelCount; 14170 const VkDebugUtilsLabelEXT* pQueueLabels; 14171 uint32_t cmdBufLabelCount; 14172 const VkDebugUtilsLabelEXT* pCmdBufLabels; 14173 uint32_t objectCount; 14174 const VkDebugUtilsObjectNameInfoEXT* pObjects; 14175 } VkDebugUtilsMessengerCallbackDataEXT; 14176 14177 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)( 14178 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, 14179 VkDebugUtilsMessageTypeFlagsEXT messageTypes, 14180 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData, 14181 void* pUserData); 14182 14183 typedef struct VkDebugUtilsMessengerCreateInfoEXT { 14184 VkStructureType sType; 14185 const void* pNext; 14186 VkDebugUtilsMessengerCreateFlagsEXT flags; 14187 VkDebugUtilsMessageSeverityFlagsEXT messageSeverity; 14188 VkDebugUtilsMessageTypeFlagsEXT messageType; 14189 PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback; 14190 void* pUserData; 14191 } VkDebugUtilsMessengerCreateInfoEXT; 14192 14193 typedef struct VkDebugUtilsObjectTagInfoEXT { 14194 VkStructureType sType; 14195 const void* pNext; 14196 VkObjectType objectType; 14197 uint64_t objectHandle; 14198 uint64_t tagName; 14199 size_t tagSize; 14200 const void* pTag; 14201 } VkDebugUtilsObjectTagInfoEXT; 14202 14203 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo); 14204 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo); 14205 typedef void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo); 14206 typedef void (VKAPI_PTR *PFN_vkQueueEndDebugUtilsLabelEXT)(VkQueue queue); 14207 typedef void (VKAPI_PTR *PFN_vkQueueInsertDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo); 14208 typedef void (VKAPI_PTR *PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo); 14209 typedef void (VKAPI_PTR *PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer); 14210 typedef void (VKAPI_PTR *PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo); 14211 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger); 14212 typedef void (VKAPI_PTR *PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator); 14213 typedef void (VKAPI_PTR *PFN_vkSubmitDebugUtilsMessageEXT)(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData); 14214 14215 #ifndef VK_NO_PROTOTYPES 14216 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectNameEXT( 14217 VkDevice device, 14218 const VkDebugUtilsObjectNameInfoEXT* pNameInfo); 14219 14220 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectTagEXT( 14221 VkDevice device, 14222 const VkDebugUtilsObjectTagInfoEXT* pTagInfo); 14223 14224 VKAPI_ATTR void VKAPI_CALL vkQueueBeginDebugUtilsLabelEXT( 14225 VkQueue queue, 14226 const VkDebugUtilsLabelEXT* pLabelInfo); 14227 14228 VKAPI_ATTR void VKAPI_CALL vkQueueEndDebugUtilsLabelEXT( 14229 VkQueue queue); 14230 14231 VKAPI_ATTR void VKAPI_CALL vkQueueInsertDebugUtilsLabelEXT( 14232 VkQueue queue, 14233 const VkDebugUtilsLabelEXT* pLabelInfo); 14234 14235 VKAPI_ATTR void VKAPI_CALL vkCmdBeginDebugUtilsLabelEXT( 14236 VkCommandBuffer commandBuffer, 14237 const VkDebugUtilsLabelEXT* pLabelInfo); 14238 14239 VKAPI_ATTR void VKAPI_CALL vkCmdEndDebugUtilsLabelEXT( 14240 VkCommandBuffer commandBuffer); 14241 14242 VKAPI_ATTR void VKAPI_CALL vkCmdInsertDebugUtilsLabelEXT( 14243 VkCommandBuffer commandBuffer, 14244 const VkDebugUtilsLabelEXT* pLabelInfo); 14245 14246 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT( 14247 VkInstance instance, 14248 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, 14249 const VkAllocationCallbacks* pAllocator, 14250 VkDebugUtilsMessengerEXT* pMessenger); 14251 14252 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT( 14253 VkInstance instance, 14254 VkDebugUtilsMessengerEXT messenger, 14255 const VkAllocationCallbacks* pAllocator); 14256 14257 VKAPI_ATTR void VKAPI_CALL vkSubmitDebugUtilsMessageEXT( 14258 VkInstance instance, 14259 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, 14260 VkDebugUtilsMessageTypeFlagsEXT messageTypes, 14261 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData); 14262 #endif 14263 14264 14265 // VK_EXT_sampler_filter_minmax is a preprocessor guard. Do not pass it to API calls. 14266 #define VK_EXT_sampler_filter_minmax 1 14267 #define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 2 14268 #define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax" 14269 typedef VkSamplerReductionMode VkSamplerReductionModeEXT; 14270 14271 typedef VkSamplerReductionModeCreateInfo VkSamplerReductionModeCreateInfoEXT; 14272 14273 typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT; 14274 14275 14276 14277 // VK_AMD_gpu_shader_int16 is a preprocessor guard. Do not pass it to API calls. 14278 #define VK_AMD_gpu_shader_int16 1 14279 #define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 2 14280 #define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16" 14281 14282 14283 // VK_AMD_mixed_attachment_samples is a preprocessor guard. Do not pass it to API calls. 14284 #define VK_AMD_mixed_attachment_samples 1 14285 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1 14286 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples" 14287 typedef struct VkAttachmentSampleCountInfoAMD { 14288 VkStructureType sType; 14289 const void* pNext; 14290 uint32_t colorAttachmentCount; 14291 const VkSampleCountFlagBits* pColorAttachmentSamples; 14292 VkSampleCountFlagBits depthStencilAttachmentSamples; 14293 } VkAttachmentSampleCountInfoAMD; 14294 14295 14296 14297 // VK_AMD_shader_fragment_mask is a preprocessor guard. Do not pass it to API calls. 14298 #define VK_AMD_shader_fragment_mask 1 14299 #define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1 14300 #define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask" 14301 14302 14303 // VK_EXT_inline_uniform_block is a preprocessor guard. Do not pass it to API calls. 14304 #define VK_EXT_inline_uniform_block 1 14305 #define VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION 1 14306 #define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block" 14307 typedef VkPhysicalDeviceInlineUniformBlockFeatures VkPhysicalDeviceInlineUniformBlockFeaturesEXT; 14308 14309 typedef VkPhysicalDeviceInlineUniformBlockProperties VkPhysicalDeviceInlineUniformBlockPropertiesEXT; 14310 14311 typedef VkWriteDescriptorSetInlineUniformBlock VkWriteDescriptorSetInlineUniformBlockEXT; 14312 14313 typedef VkDescriptorPoolInlineUniformBlockCreateInfo VkDescriptorPoolInlineUniformBlockCreateInfoEXT; 14314 14315 14316 14317 // VK_EXT_shader_stencil_export is a preprocessor guard. Do not pass it to API calls. 14318 #define VK_EXT_shader_stencil_export 1 14319 #define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1 14320 #define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export" 14321 14322 14323 // VK_EXT_sample_locations is a preprocessor guard. Do not pass it to API calls. 14324 #define VK_EXT_sample_locations 1 14325 #define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1 14326 #define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations" 14327 typedef struct VkSampleLocationEXT { 14328 float x; 14329 float y; 14330 } VkSampleLocationEXT; 14331 14332 typedef struct VkSampleLocationsInfoEXT { 14333 VkStructureType sType; 14334 const void* pNext; 14335 VkSampleCountFlagBits sampleLocationsPerPixel; 14336 VkExtent2D sampleLocationGridSize; 14337 uint32_t sampleLocationsCount; 14338 const VkSampleLocationEXT* pSampleLocations; 14339 } VkSampleLocationsInfoEXT; 14340 14341 typedef struct VkAttachmentSampleLocationsEXT { 14342 uint32_t attachmentIndex; 14343 VkSampleLocationsInfoEXT sampleLocationsInfo; 14344 } VkAttachmentSampleLocationsEXT; 14345 14346 typedef struct VkSubpassSampleLocationsEXT { 14347 uint32_t subpassIndex; 14348 VkSampleLocationsInfoEXT sampleLocationsInfo; 14349 } VkSubpassSampleLocationsEXT; 14350 14351 typedef struct VkRenderPassSampleLocationsBeginInfoEXT { 14352 VkStructureType sType; 14353 const void* pNext; 14354 uint32_t attachmentInitialSampleLocationsCount; 14355 const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations; 14356 uint32_t postSubpassSampleLocationsCount; 14357 const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations; 14358 } VkRenderPassSampleLocationsBeginInfoEXT; 14359 14360 typedef struct VkPipelineSampleLocationsStateCreateInfoEXT { 14361 VkStructureType sType; 14362 const void* pNext; 14363 VkBool32 sampleLocationsEnable; 14364 VkSampleLocationsInfoEXT sampleLocationsInfo; 14365 } VkPipelineSampleLocationsStateCreateInfoEXT; 14366 14367 typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT { 14368 VkStructureType sType; 14369 void* pNext; 14370 VkSampleCountFlags sampleLocationSampleCounts; 14371 VkExtent2D maxSampleLocationGridSize; 14372 float sampleLocationCoordinateRange[2]; 14373 uint32_t sampleLocationSubPixelBits; 14374 VkBool32 variableSampleLocations; 14375 } VkPhysicalDeviceSampleLocationsPropertiesEXT; 14376 14377 typedef struct VkMultisamplePropertiesEXT { 14378 VkStructureType sType; 14379 void* pNext; 14380 VkExtent2D maxSampleLocationGridSize; 14381 } VkMultisamplePropertiesEXT; 14382 14383 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo); 14384 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties); 14385 14386 #ifndef VK_NO_PROTOTYPES 14387 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEXT( 14388 VkCommandBuffer commandBuffer, 14389 const VkSampleLocationsInfoEXT* pSampleLocationsInfo); 14390 14391 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT( 14392 VkPhysicalDevice physicalDevice, 14393 VkSampleCountFlagBits samples, 14394 VkMultisamplePropertiesEXT* pMultisampleProperties); 14395 #endif 14396 14397 14398 // VK_EXT_blend_operation_advanced is a preprocessor guard. Do not pass it to API calls. 14399 #define VK_EXT_blend_operation_advanced 1 14400 #define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2 14401 #define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced" 14402 14403 typedef enum VkBlendOverlapEXT { 14404 VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0, 14405 VK_BLEND_OVERLAP_DISJOINT_EXT = 1, 14406 VK_BLEND_OVERLAP_CONJOINT_EXT = 2, 14407 VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF 14408 } VkBlendOverlapEXT; 14409 typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT { 14410 VkStructureType sType; 14411 void* pNext; 14412 VkBool32 advancedBlendCoherentOperations; 14413 } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT; 14414 14415 typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT { 14416 VkStructureType sType; 14417 void* pNext; 14418 uint32_t advancedBlendMaxColorAttachments; 14419 VkBool32 advancedBlendIndependentBlend; 14420 VkBool32 advancedBlendNonPremultipliedSrcColor; 14421 VkBool32 advancedBlendNonPremultipliedDstColor; 14422 VkBool32 advancedBlendCorrelatedOverlap; 14423 VkBool32 advancedBlendAllOperations; 14424 } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT; 14425 14426 typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT { 14427 VkStructureType sType; 14428 const void* pNext; 14429 VkBool32 srcPremultiplied; 14430 VkBool32 dstPremultiplied; 14431 VkBlendOverlapEXT blendOverlap; 14432 } VkPipelineColorBlendAdvancedStateCreateInfoEXT; 14433 14434 14435 14436 // VK_NV_fragment_coverage_to_color is a preprocessor guard. Do not pass it to API calls. 14437 #define VK_NV_fragment_coverage_to_color 1 14438 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1 14439 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color" 14440 typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV; 14441 typedef struct VkPipelineCoverageToColorStateCreateInfoNV { 14442 VkStructureType sType; 14443 const void* pNext; 14444 VkPipelineCoverageToColorStateCreateFlagsNV flags; 14445 VkBool32 coverageToColorEnable; 14446 uint32_t coverageToColorLocation; 14447 } VkPipelineCoverageToColorStateCreateInfoNV; 14448 14449 14450 14451 // VK_NV_framebuffer_mixed_samples is a preprocessor guard. Do not pass it to API calls. 14452 #define VK_NV_framebuffer_mixed_samples 1 14453 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1 14454 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples" 14455 14456 typedef enum VkCoverageModulationModeNV { 14457 VK_COVERAGE_MODULATION_MODE_NONE_NV = 0, 14458 VK_COVERAGE_MODULATION_MODE_RGB_NV = 1, 14459 VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2, 14460 VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3, 14461 VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF 14462 } VkCoverageModulationModeNV; 14463 typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV; 14464 typedef struct VkPipelineCoverageModulationStateCreateInfoNV { 14465 VkStructureType sType; 14466 const void* pNext; 14467 VkPipelineCoverageModulationStateCreateFlagsNV flags; 14468 VkCoverageModulationModeNV coverageModulationMode; 14469 VkBool32 coverageModulationTableEnable; 14470 uint32_t coverageModulationTableCount; 14471 const float* pCoverageModulationTable; 14472 } VkPipelineCoverageModulationStateCreateInfoNV; 14473 14474 typedef VkAttachmentSampleCountInfoAMD VkAttachmentSampleCountInfoNV; 14475 14476 14477 14478 // VK_NV_fill_rectangle is a preprocessor guard. Do not pass it to API calls. 14479 #define VK_NV_fill_rectangle 1 14480 #define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1 14481 #define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle" 14482 14483 14484 // VK_NV_shader_sm_builtins is a preprocessor guard. Do not pass it to API calls. 14485 #define VK_NV_shader_sm_builtins 1 14486 #define VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION 1 14487 #define VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME "VK_NV_shader_sm_builtins" 14488 typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV { 14489 VkStructureType sType; 14490 void* pNext; 14491 uint32_t shaderSMCount; 14492 uint32_t shaderWarpsPerSM; 14493 } VkPhysicalDeviceShaderSMBuiltinsPropertiesNV; 14494 14495 typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV { 14496 VkStructureType sType; 14497 void* pNext; 14498 VkBool32 shaderSMBuiltins; 14499 } VkPhysicalDeviceShaderSMBuiltinsFeaturesNV; 14500 14501 14502 14503 // VK_EXT_post_depth_coverage is a preprocessor guard. Do not pass it to API calls. 14504 #define VK_EXT_post_depth_coverage 1 14505 #define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1 14506 #define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage" 14507 14508 14509 // VK_EXT_image_drm_format_modifier is a preprocessor guard. Do not pass it to API calls. 14510 #define VK_EXT_image_drm_format_modifier 1 14511 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION 2 14512 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME "VK_EXT_image_drm_format_modifier" 14513 typedef struct VkDrmFormatModifierPropertiesEXT { 14514 uint64_t drmFormatModifier; 14515 uint32_t drmFormatModifierPlaneCount; 14516 VkFormatFeatureFlags drmFormatModifierTilingFeatures; 14517 } VkDrmFormatModifierPropertiesEXT; 14518 14519 typedef struct VkDrmFormatModifierPropertiesListEXT { 14520 VkStructureType sType; 14521 void* pNext; 14522 uint32_t drmFormatModifierCount; 14523 VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties; 14524 } VkDrmFormatModifierPropertiesListEXT; 14525 14526 typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT { 14527 VkStructureType sType; 14528 const void* pNext; 14529 uint64_t drmFormatModifier; 14530 VkSharingMode sharingMode; 14531 uint32_t queueFamilyIndexCount; 14532 const uint32_t* pQueueFamilyIndices; 14533 } VkPhysicalDeviceImageDrmFormatModifierInfoEXT; 14534 14535 typedef struct VkImageDrmFormatModifierListCreateInfoEXT { 14536 VkStructureType sType; 14537 const void* pNext; 14538 uint32_t drmFormatModifierCount; 14539 const uint64_t* pDrmFormatModifiers; 14540 } VkImageDrmFormatModifierListCreateInfoEXT; 14541 14542 typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT { 14543 VkStructureType sType; 14544 const void* pNext; 14545 uint64_t drmFormatModifier; 14546 uint32_t drmFormatModifierPlaneCount; 14547 const VkSubresourceLayout* pPlaneLayouts; 14548 } VkImageDrmFormatModifierExplicitCreateInfoEXT; 14549 14550 typedef struct VkImageDrmFormatModifierPropertiesEXT { 14551 VkStructureType sType; 14552 void* pNext; 14553 uint64_t drmFormatModifier; 14554 } VkImageDrmFormatModifierPropertiesEXT; 14555 14556 typedef struct VkDrmFormatModifierProperties2EXT { 14557 uint64_t drmFormatModifier; 14558 uint32_t drmFormatModifierPlaneCount; 14559 VkFormatFeatureFlags2 drmFormatModifierTilingFeatures; 14560 } VkDrmFormatModifierProperties2EXT; 14561 14562 typedef struct VkDrmFormatModifierPropertiesList2EXT { 14563 VkStructureType sType; 14564 void* pNext; 14565 uint32_t drmFormatModifierCount; 14566 VkDrmFormatModifierProperties2EXT* pDrmFormatModifierProperties; 14567 } VkDrmFormatModifierPropertiesList2EXT; 14568 14569 typedef VkResult (VKAPI_PTR *PFN_vkGetImageDrmFormatModifierPropertiesEXT)(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties); 14570 14571 #ifndef VK_NO_PROTOTYPES 14572 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageDrmFormatModifierPropertiesEXT( 14573 VkDevice device, 14574 VkImage image, 14575 VkImageDrmFormatModifierPropertiesEXT* pProperties); 14576 #endif 14577 14578 14579 // VK_EXT_validation_cache is a preprocessor guard. Do not pass it to API calls. 14580 #define VK_EXT_validation_cache 1 14581 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT) 14582 #define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1 14583 #define VK_EXT_VALIDATION_CACHE_EXTENSION_NAME "VK_EXT_validation_cache" 14584 14585 typedef enum VkValidationCacheHeaderVersionEXT { 14586 VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1, 14587 VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF 14588 } VkValidationCacheHeaderVersionEXT; 14589 typedef VkFlags VkValidationCacheCreateFlagsEXT; 14590 typedef struct VkValidationCacheCreateInfoEXT { 14591 VkStructureType sType; 14592 const void* pNext; 14593 VkValidationCacheCreateFlagsEXT flags; 14594 size_t initialDataSize; 14595 const void* pInitialData; 14596 } VkValidationCacheCreateInfoEXT; 14597 14598 typedef struct VkShaderModuleValidationCacheCreateInfoEXT { 14599 VkStructureType sType; 14600 const void* pNext; 14601 VkValidationCacheEXT validationCache; 14602 } VkShaderModuleValidationCacheCreateInfoEXT; 14603 14604 typedef VkResult (VKAPI_PTR *PFN_vkCreateValidationCacheEXT)(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache); 14605 typedef void (VKAPI_PTR *PFN_vkDestroyValidationCacheEXT)(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator); 14606 typedef VkResult (VKAPI_PTR *PFN_vkMergeValidationCachesEXT)(VkDevice device, VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const VkValidationCacheEXT* pSrcCaches); 14607 typedef VkResult (VKAPI_PTR *PFN_vkGetValidationCacheDataEXT)(VkDevice device, VkValidationCacheEXT validationCache, size_t* pDataSize, void* pData); 14608 14609 #ifndef VK_NO_PROTOTYPES 14610 VKAPI_ATTR VkResult VKAPI_CALL vkCreateValidationCacheEXT( 14611 VkDevice device, 14612 const VkValidationCacheCreateInfoEXT* pCreateInfo, 14613 const VkAllocationCallbacks* pAllocator, 14614 VkValidationCacheEXT* pValidationCache); 14615 14616 VKAPI_ATTR void VKAPI_CALL vkDestroyValidationCacheEXT( 14617 VkDevice device, 14618 VkValidationCacheEXT validationCache, 14619 const VkAllocationCallbacks* pAllocator); 14620 14621 VKAPI_ATTR VkResult VKAPI_CALL vkMergeValidationCachesEXT( 14622 VkDevice device, 14623 VkValidationCacheEXT dstCache, 14624 uint32_t srcCacheCount, 14625 const VkValidationCacheEXT* pSrcCaches); 14626 14627 VKAPI_ATTR VkResult VKAPI_CALL vkGetValidationCacheDataEXT( 14628 VkDevice device, 14629 VkValidationCacheEXT validationCache, 14630 size_t* pDataSize, 14631 void* pData); 14632 #endif 14633 14634 14635 // VK_EXT_descriptor_indexing is a preprocessor guard. Do not pass it to API calls. 14636 #define VK_EXT_descriptor_indexing 1 14637 #define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2 14638 #define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing" 14639 typedef VkDescriptorBindingFlagBits VkDescriptorBindingFlagBitsEXT; 14640 14641 typedef VkDescriptorBindingFlags VkDescriptorBindingFlagsEXT; 14642 14643 typedef VkDescriptorSetLayoutBindingFlagsCreateInfo VkDescriptorSetLayoutBindingFlagsCreateInfoEXT; 14644 14645 typedef VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeaturesEXT; 14646 14647 typedef VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingPropertiesEXT; 14648 14649 typedef VkDescriptorSetVariableDescriptorCountAllocateInfo VkDescriptorSetVariableDescriptorCountAllocateInfoEXT; 14650 14651 typedef VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupportEXT; 14652 14653 14654 14655 // VK_EXT_shader_viewport_index_layer is a preprocessor guard. Do not pass it to API calls. 14656 #define VK_EXT_shader_viewport_index_layer 1 14657 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1 14658 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer" 14659 14660 14661 // VK_NV_shading_rate_image is a preprocessor guard. Do not pass it to API calls. 14662 #define VK_NV_shading_rate_image 1 14663 #define VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION 3 14664 #define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image" 14665 14666 typedef enum VkShadingRatePaletteEntryNV { 14667 VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV = 0, 14668 VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV = 1, 14669 VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV = 2, 14670 VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV = 3, 14671 VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV = 4, 14672 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV = 5, 14673 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV = 6, 14674 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV = 7, 14675 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV = 8, 14676 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = 9, 14677 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = 10, 14678 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = 11, 14679 VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV = 0x7FFFFFFF 14680 } VkShadingRatePaletteEntryNV; 14681 14682 typedef enum VkCoarseSampleOrderTypeNV { 14683 VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = 0, 14684 VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = 1, 14685 VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = 2, 14686 VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3, 14687 VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 14688 } VkCoarseSampleOrderTypeNV; 14689 typedef struct VkShadingRatePaletteNV { 14690 uint32_t shadingRatePaletteEntryCount; 14691 const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries; 14692 } VkShadingRatePaletteNV; 14693 14694 typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV { 14695 VkStructureType sType; 14696 const void* pNext; 14697 VkBool32 shadingRateImageEnable; 14698 uint32_t viewportCount; 14699 const VkShadingRatePaletteNV* pShadingRatePalettes; 14700 } VkPipelineViewportShadingRateImageStateCreateInfoNV; 14701 14702 typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV { 14703 VkStructureType sType; 14704 void* pNext; 14705 VkBool32 shadingRateImage; 14706 VkBool32 shadingRateCoarseSampleOrder; 14707 } VkPhysicalDeviceShadingRateImageFeaturesNV; 14708 14709 typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV { 14710 VkStructureType sType; 14711 void* pNext; 14712 VkExtent2D shadingRateTexelSize; 14713 uint32_t shadingRatePaletteSize; 14714 uint32_t shadingRateMaxCoarseSamples; 14715 } VkPhysicalDeviceShadingRateImagePropertiesNV; 14716 14717 typedef struct VkCoarseSampleLocationNV { 14718 uint32_t pixelX; 14719 uint32_t pixelY; 14720 uint32_t sample; 14721 } VkCoarseSampleLocationNV; 14722 14723 typedef struct VkCoarseSampleOrderCustomNV { 14724 VkShadingRatePaletteEntryNV shadingRate; 14725 uint32_t sampleCount; 14726 uint32_t sampleLocationCount; 14727 const VkCoarseSampleLocationNV* pSampleLocations; 14728 } VkCoarseSampleOrderCustomNV; 14729 14730 typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV { 14731 VkStructureType sType; 14732 const void* pNext; 14733 VkCoarseSampleOrderTypeNV sampleOrderType; 14734 uint32_t customSampleOrderCount; 14735 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders; 14736 } VkPipelineViewportCoarseSampleOrderStateCreateInfoNV; 14737 14738 typedef void (VKAPI_PTR *PFN_vkCmdBindShadingRateImageNV)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout); 14739 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportShadingRatePaletteNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes); 14740 typedef void (VKAPI_PTR *PFN_vkCmdSetCoarseSampleOrderNV)(VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, uint32_t customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders); 14741 14742 #ifndef VK_NO_PROTOTYPES 14743 VKAPI_ATTR void VKAPI_CALL vkCmdBindShadingRateImageNV( 14744 VkCommandBuffer commandBuffer, 14745 VkImageView imageView, 14746 VkImageLayout imageLayout); 14747 14748 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportShadingRatePaletteNV( 14749 VkCommandBuffer commandBuffer, 14750 uint32_t firstViewport, 14751 uint32_t viewportCount, 14752 const VkShadingRatePaletteNV* pShadingRatePalettes); 14753 14754 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoarseSampleOrderNV( 14755 VkCommandBuffer commandBuffer, 14756 VkCoarseSampleOrderTypeNV sampleOrderType, 14757 uint32_t customSampleOrderCount, 14758 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders); 14759 #endif 14760 14761 14762 // VK_NV_ray_tracing is a preprocessor guard. Do not pass it to API calls. 14763 #define VK_NV_ray_tracing 1 14764 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV) 14765 #define VK_NV_RAY_TRACING_SPEC_VERSION 3 14766 #define VK_NV_RAY_TRACING_EXTENSION_NAME "VK_NV_ray_tracing" 14767 #define VK_SHADER_UNUSED_KHR (~0U) 14768 #define VK_SHADER_UNUSED_NV VK_SHADER_UNUSED_KHR 14769 14770 typedef enum VkRayTracingShaderGroupTypeKHR { 14771 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR = 0, 14772 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR = 1, 14773 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR = 2, 14774 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR, 14775 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR, 14776 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR, 14777 VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 14778 } VkRayTracingShaderGroupTypeKHR; 14779 typedef VkRayTracingShaderGroupTypeKHR VkRayTracingShaderGroupTypeNV; 14780 14781 14782 typedef enum VkGeometryTypeKHR { 14783 VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0, 14784 VK_GEOMETRY_TYPE_AABBS_KHR = 1, 14785 VK_GEOMETRY_TYPE_INSTANCES_KHR = 2, 14786 VK_GEOMETRY_TYPE_SPHERES_NV = 1000429004, 14787 VK_GEOMETRY_TYPE_LINEAR_SWEPT_SPHERES_NV = 1000429005, 14788 VK_GEOMETRY_TYPE_TRIANGLES_NV = VK_GEOMETRY_TYPE_TRIANGLES_KHR, 14789 VK_GEOMETRY_TYPE_AABBS_NV = VK_GEOMETRY_TYPE_AABBS_KHR, 14790 VK_GEOMETRY_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 14791 } VkGeometryTypeKHR; 14792 typedef VkGeometryTypeKHR VkGeometryTypeNV; 14793 14794 14795 typedef enum VkAccelerationStructureTypeKHR { 14796 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR = 0, 14797 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR = 1, 14798 VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR = 2, 14799 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR, 14800 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR, 14801 VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 14802 } VkAccelerationStructureTypeKHR; 14803 typedef VkAccelerationStructureTypeKHR VkAccelerationStructureTypeNV; 14804 14805 14806 typedef enum VkCopyAccelerationStructureModeKHR { 14807 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR = 0, 14808 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR = 1, 14809 VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR = 2, 14810 VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR = 3, 14811 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR, 14812 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR, 14813 VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 14814 } VkCopyAccelerationStructureModeKHR; 14815 typedef VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeNV; 14816 14817 14818 typedef enum VkAccelerationStructureMemoryRequirementsTypeNV { 14819 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = 0, 14820 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = 1, 14821 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = 2, 14822 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 14823 } VkAccelerationStructureMemoryRequirementsTypeNV; 14824 14825 typedef enum VkGeometryFlagBitsKHR { 14826 VK_GEOMETRY_OPAQUE_BIT_KHR = 0x00000001, 14827 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR = 0x00000002, 14828 VK_GEOMETRY_OPAQUE_BIT_NV = VK_GEOMETRY_OPAQUE_BIT_KHR, 14829 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV = VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR, 14830 VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 14831 } VkGeometryFlagBitsKHR; 14832 typedef VkFlags VkGeometryFlagsKHR; 14833 typedef VkGeometryFlagsKHR VkGeometryFlagsNV; 14834 14835 typedef VkGeometryFlagBitsKHR VkGeometryFlagBitsNV; 14836 14837 14838 typedef enum VkGeometryInstanceFlagBitsKHR { 14839 VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 0x00000001, 14840 VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR = 0x00000002, 14841 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 0x00000004, 14842 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 0x00000008, 14843 VK_GEOMETRY_INSTANCE_FORCE_OPACITY_MICROMAP_2_STATE_EXT = 0x00000010, 14844 VK_GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_EXT = 0x00000020, 14845 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR, 14846 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR, 14847 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR, 14848 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR, 14849 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR, 14850 VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 14851 } VkGeometryInstanceFlagBitsKHR; 14852 typedef VkFlags VkGeometryInstanceFlagsKHR; 14853 typedef VkGeometryInstanceFlagsKHR VkGeometryInstanceFlagsNV; 14854 14855 typedef VkGeometryInstanceFlagBitsKHR VkGeometryInstanceFlagBitsNV; 14856 14857 14858 typedef enum VkBuildAccelerationStructureFlagBitsKHR { 14859 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR = 0x00000001, 14860 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR = 0x00000002, 14861 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 0x00000004, 14862 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 0x00000008, 14863 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 0x00000010, 14864 VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 0x00000020, 14865 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_EXT = 0x00000040, 14866 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_EXT = 0x00000080, 14867 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_DATA_UPDATE_EXT = 0x00000100, 14868 #ifdef VK_ENABLE_BETA_EXTENSIONS 14869 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISPLACEMENT_MICROMAP_UPDATE_NV = 0x00000200, 14870 #endif 14871 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DATA_ACCESS_KHR = 0x00000800, 14872 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR, 14873 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR, 14874 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR, 14875 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR, 14876 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR, 14877 VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 14878 } VkBuildAccelerationStructureFlagBitsKHR; 14879 typedef VkFlags VkBuildAccelerationStructureFlagsKHR; 14880 typedef VkBuildAccelerationStructureFlagsKHR VkBuildAccelerationStructureFlagsNV; 14881 14882 typedef VkBuildAccelerationStructureFlagBitsKHR VkBuildAccelerationStructureFlagBitsNV; 14883 14884 typedef struct VkRayTracingShaderGroupCreateInfoNV { 14885 VkStructureType sType; 14886 const void* pNext; 14887 VkRayTracingShaderGroupTypeKHR type; 14888 uint32_t generalShader; 14889 uint32_t closestHitShader; 14890 uint32_t anyHitShader; 14891 uint32_t intersectionShader; 14892 } VkRayTracingShaderGroupCreateInfoNV; 14893 14894 typedef struct VkRayTracingPipelineCreateInfoNV { 14895 VkStructureType sType; 14896 const void* pNext; 14897 VkPipelineCreateFlags flags; 14898 uint32_t stageCount; 14899 const VkPipelineShaderStageCreateInfo* pStages; 14900 uint32_t groupCount; 14901 const VkRayTracingShaderGroupCreateInfoNV* pGroups; 14902 uint32_t maxRecursionDepth; 14903 VkPipelineLayout layout; 14904 VkPipeline basePipelineHandle; 14905 int32_t basePipelineIndex; 14906 } VkRayTracingPipelineCreateInfoNV; 14907 14908 typedef struct VkGeometryTrianglesNV { 14909 VkStructureType sType; 14910 const void* pNext; 14911 VkBuffer vertexData; 14912 VkDeviceSize vertexOffset; 14913 uint32_t vertexCount; 14914 VkDeviceSize vertexStride; 14915 VkFormat vertexFormat; 14916 VkBuffer indexData; 14917 VkDeviceSize indexOffset; 14918 uint32_t indexCount; 14919 VkIndexType indexType; 14920 VkBuffer transformData; 14921 VkDeviceSize transformOffset; 14922 } VkGeometryTrianglesNV; 14923 14924 typedef struct VkGeometryAABBNV { 14925 VkStructureType sType; 14926 const void* pNext; 14927 VkBuffer aabbData; 14928 uint32_t numAABBs; 14929 uint32_t stride; 14930 VkDeviceSize offset; 14931 } VkGeometryAABBNV; 14932 14933 typedef struct VkGeometryDataNV { 14934 VkGeometryTrianglesNV triangles; 14935 VkGeometryAABBNV aabbs; 14936 } VkGeometryDataNV; 14937 14938 typedef struct VkGeometryNV { 14939 VkStructureType sType; 14940 const void* pNext; 14941 VkGeometryTypeKHR geometryType; 14942 VkGeometryDataNV geometry; 14943 VkGeometryFlagsKHR flags; 14944 } VkGeometryNV; 14945 14946 typedef struct VkAccelerationStructureInfoNV { 14947 VkStructureType sType; 14948 const void* pNext; 14949 VkAccelerationStructureTypeNV type; 14950 VkBuildAccelerationStructureFlagsNV flags; 14951 uint32_t instanceCount; 14952 uint32_t geometryCount; 14953 const VkGeometryNV* pGeometries; 14954 } VkAccelerationStructureInfoNV; 14955 14956 typedef struct VkAccelerationStructureCreateInfoNV { 14957 VkStructureType sType; 14958 const void* pNext; 14959 VkDeviceSize compactedSize; 14960 VkAccelerationStructureInfoNV info; 14961 } VkAccelerationStructureCreateInfoNV; 14962 14963 typedef struct VkBindAccelerationStructureMemoryInfoNV { 14964 VkStructureType sType; 14965 const void* pNext; 14966 VkAccelerationStructureNV accelerationStructure; 14967 VkDeviceMemory memory; 14968 VkDeviceSize memoryOffset; 14969 uint32_t deviceIndexCount; 14970 const uint32_t* pDeviceIndices; 14971 } VkBindAccelerationStructureMemoryInfoNV; 14972 14973 typedef struct VkWriteDescriptorSetAccelerationStructureNV { 14974 VkStructureType sType; 14975 const void* pNext; 14976 uint32_t accelerationStructureCount; 14977 const VkAccelerationStructureNV* pAccelerationStructures; 14978 } VkWriteDescriptorSetAccelerationStructureNV; 14979 14980 typedef struct VkAccelerationStructureMemoryRequirementsInfoNV { 14981 VkStructureType sType; 14982 const void* pNext; 14983 VkAccelerationStructureMemoryRequirementsTypeNV type; 14984 VkAccelerationStructureNV accelerationStructure; 14985 } VkAccelerationStructureMemoryRequirementsInfoNV; 14986 14987 typedef struct VkPhysicalDeviceRayTracingPropertiesNV { 14988 VkStructureType sType; 14989 void* pNext; 14990 uint32_t shaderGroupHandleSize; 14991 uint32_t maxRecursionDepth; 14992 uint32_t maxShaderGroupStride; 14993 uint32_t shaderGroupBaseAlignment; 14994 uint64_t maxGeometryCount; 14995 uint64_t maxInstanceCount; 14996 uint64_t maxTriangleCount; 14997 uint32_t maxDescriptorSetAccelerationStructures; 14998 } VkPhysicalDeviceRayTracingPropertiesNV; 14999 15000 typedef struct VkTransformMatrixKHR { 15001 float matrix[3][4]; 15002 } VkTransformMatrixKHR; 15003 15004 typedef VkTransformMatrixKHR VkTransformMatrixNV; 15005 15006 typedef struct VkAabbPositionsKHR { 15007 float minX; 15008 float minY; 15009 float minZ; 15010 float maxX; 15011 float maxY; 15012 float maxZ; 15013 } VkAabbPositionsKHR; 15014 15015 typedef VkAabbPositionsKHR VkAabbPositionsNV; 15016 15017 typedef struct VkAccelerationStructureInstanceKHR { 15018 VkTransformMatrixKHR transform; 15019 uint32_t instanceCustomIndex:24; 15020 uint32_t mask:8; 15021 uint32_t instanceShaderBindingTableRecordOffset:24; 15022 VkGeometryInstanceFlagsKHR flags:8; 15023 uint64_t accelerationStructureReference; 15024 } VkAccelerationStructureInstanceKHR; 15025 15026 typedef VkAccelerationStructureInstanceKHR VkAccelerationStructureInstanceNV; 15027 15028 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureNV)(VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure); 15029 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator); 15030 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsNV)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements); 15031 typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryNV)(VkDevice device, uint32_t bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos); 15032 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructureNV)(VkCommandBuffer commandBuffer, const VkAccelerationStructureInfoNV* pInfo, VkBuffer instanceData, VkDeviceSize instanceOffset, VkBool32 update, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkBuffer scratch, VkDeviceSize scratchOffset); 15033 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNV)(VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode); 15034 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysNV)(VkCommandBuffer commandBuffer, VkBuffer raygenShaderBindingTableBuffer, VkDeviceSize raygenShaderBindingOffset, VkBuffer missShaderBindingTableBuffer, VkDeviceSize missShaderBindingOffset, VkDeviceSize missShaderBindingStride, VkBuffer hitShaderBindingTableBuffer, VkDeviceSize hitShaderBindingOffset, VkDeviceSize hitShaderBindingStride, VkBuffer callableShaderBindingTableBuffer, VkDeviceSize callableShaderBindingOffset, VkDeviceSize callableShaderBindingStride, uint32_t width, uint32_t height, uint32_t depth); 15035 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesNV)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 15036 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData); 15037 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesNV)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData); 15038 typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, size_t dataSize, void* pData); 15039 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesNV)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery); 15040 typedef VkResult (VKAPI_PTR *PFN_vkCompileDeferredNV)(VkDevice device, VkPipeline pipeline, uint32_t shader); 15041 15042 #ifndef VK_NO_PROTOTYPES 15043 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureNV( 15044 VkDevice device, 15045 const VkAccelerationStructureCreateInfoNV* pCreateInfo, 15046 const VkAllocationCallbacks* pAllocator, 15047 VkAccelerationStructureNV* pAccelerationStructure); 15048 15049 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureNV( 15050 VkDevice device, 15051 VkAccelerationStructureNV accelerationStructure, 15052 const VkAllocationCallbacks* pAllocator); 15053 15054 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsNV( 15055 VkDevice device, 15056 const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, 15057 VkMemoryRequirements2KHR* pMemoryRequirements); 15058 15059 VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryNV( 15060 VkDevice device, 15061 uint32_t bindInfoCount, 15062 const VkBindAccelerationStructureMemoryInfoNV* pBindInfos); 15063 15064 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureNV( 15065 VkCommandBuffer commandBuffer, 15066 const VkAccelerationStructureInfoNV* pInfo, 15067 VkBuffer instanceData, 15068 VkDeviceSize instanceOffset, 15069 VkBool32 update, 15070 VkAccelerationStructureNV dst, 15071 VkAccelerationStructureNV src, 15072 VkBuffer scratch, 15073 VkDeviceSize scratchOffset); 15074 15075 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureNV( 15076 VkCommandBuffer commandBuffer, 15077 VkAccelerationStructureNV dst, 15078 VkAccelerationStructureNV src, 15079 VkCopyAccelerationStructureModeKHR mode); 15080 15081 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysNV( 15082 VkCommandBuffer commandBuffer, 15083 VkBuffer raygenShaderBindingTableBuffer, 15084 VkDeviceSize raygenShaderBindingOffset, 15085 VkBuffer missShaderBindingTableBuffer, 15086 VkDeviceSize missShaderBindingOffset, 15087 VkDeviceSize missShaderBindingStride, 15088 VkBuffer hitShaderBindingTableBuffer, 15089 VkDeviceSize hitShaderBindingOffset, 15090 VkDeviceSize hitShaderBindingStride, 15091 VkBuffer callableShaderBindingTableBuffer, 15092 VkDeviceSize callableShaderBindingOffset, 15093 VkDeviceSize callableShaderBindingStride, 15094 uint32_t width, 15095 uint32_t height, 15096 uint32_t depth); 15097 15098 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesNV( 15099 VkDevice device, 15100 VkPipelineCache pipelineCache, 15101 uint32_t createInfoCount, 15102 const VkRayTracingPipelineCreateInfoNV* pCreateInfos, 15103 const VkAllocationCallbacks* pAllocator, 15104 VkPipeline* pPipelines); 15105 15106 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesKHR( 15107 VkDevice device, 15108 VkPipeline pipeline, 15109 uint32_t firstGroup, 15110 uint32_t groupCount, 15111 size_t dataSize, 15112 void* pData); 15113 15114 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesNV( 15115 VkDevice device, 15116 VkPipeline pipeline, 15117 uint32_t firstGroup, 15118 uint32_t groupCount, 15119 size_t dataSize, 15120 void* pData); 15121 15122 VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureHandleNV( 15123 VkDevice device, 15124 VkAccelerationStructureNV accelerationStructure, 15125 size_t dataSize, 15126 void* pData); 15127 15128 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesNV( 15129 VkCommandBuffer commandBuffer, 15130 uint32_t accelerationStructureCount, 15131 const VkAccelerationStructureNV* pAccelerationStructures, 15132 VkQueryType queryType, 15133 VkQueryPool queryPool, 15134 uint32_t firstQuery); 15135 15136 VKAPI_ATTR VkResult VKAPI_CALL vkCompileDeferredNV( 15137 VkDevice device, 15138 VkPipeline pipeline, 15139 uint32_t shader); 15140 #endif 15141 15142 15143 // VK_NV_representative_fragment_test is a preprocessor guard. Do not pass it to API calls. 15144 #define VK_NV_representative_fragment_test 1 15145 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 2 15146 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test" 15147 typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV { 15148 VkStructureType sType; 15149 void* pNext; 15150 VkBool32 representativeFragmentTest; 15151 } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV; 15152 15153 typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV { 15154 VkStructureType sType; 15155 const void* pNext; 15156 VkBool32 representativeFragmentTestEnable; 15157 } VkPipelineRepresentativeFragmentTestStateCreateInfoNV; 15158 15159 15160 15161 // VK_EXT_filter_cubic is a preprocessor guard. Do not pass it to API calls. 15162 #define VK_EXT_filter_cubic 1 15163 #define VK_EXT_FILTER_CUBIC_SPEC_VERSION 3 15164 #define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic" 15165 typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT { 15166 VkStructureType sType; 15167 void* pNext; 15168 VkImageViewType imageViewType; 15169 } VkPhysicalDeviceImageViewImageFormatInfoEXT; 15170 15171 typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT { 15172 VkStructureType sType; 15173 void* pNext; 15174 VkBool32 filterCubic; 15175 VkBool32 filterCubicMinmax; 15176 } VkFilterCubicImageViewImageFormatPropertiesEXT; 15177 15178 15179 15180 // VK_QCOM_render_pass_shader_resolve is a preprocessor guard. Do not pass it to API calls. 15181 #define VK_QCOM_render_pass_shader_resolve 1 15182 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION 4 15183 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME "VK_QCOM_render_pass_shader_resolve" 15184 15185 15186 // VK_EXT_global_priority is a preprocessor guard. Do not pass it to API calls. 15187 #define VK_EXT_global_priority 1 15188 #define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2 15189 #define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority" 15190 typedef VkQueueGlobalPriority VkQueueGlobalPriorityEXT; 15191 15192 typedef VkDeviceQueueGlobalPriorityCreateInfo VkDeviceQueueGlobalPriorityCreateInfoEXT; 15193 15194 15195 15196 // VK_EXT_external_memory_host is a preprocessor guard. Do not pass it to API calls. 15197 #define VK_EXT_external_memory_host 1 15198 #define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1 15199 #define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host" 15200 typedef struct VkImportMemoryHostPointerInfoEXT { 15201 VkStructureType sType; 15202 const void* pNext; 15203 VkExternalMemoryHandleTypeFlagBits handleType; 15204 void* pHostPointer; 15205 } VkImportMemoryHostPointerInfoEXT; 15206 15207 typedef struct VkMemoryHostPointerPropertiesEXT { 15208 VkStructureType sType; 15209 void* pNext; 15210 uint32_t memoryTypeBits; 15211 } VkMemoryHostPointerPropertiesEXT; 15212 15213 typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT { 15214 VkStructureType sType; 15215 void* pNext; 15216 VkDeviceSize minImportedHostPointerAlignment; 15217 } VkPhysicalDeviceExternalMemoryHostPropertiesEXT; 15218 15219 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties); 15220 15221 #ifndef VK_NO_PROTOTYPES 15222 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT( 15223 VkDevice device, 15224 VkExternalMemoryHandleTypeFlagBits handleType, 15225 const void* pHostPointer, 15226 VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties); 15227 #endif 15228 15229 15230 // VK_AMD_buffer_marker is a preprocessor guard. Do not pass it to API calls. 15231 #define VK_AMD_buffer_marker 1 15232 #define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1 15233 #define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker" 15234 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker); 15235 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarker2AMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker); 15236 15237 #ifndef VK_NO_PROTOTYPES 15238 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD( 15239 VkCommandBuffer commandBuffer, 15240 VkPipelineStageFlagBits pipelineStage, 15241 VkBuffer dstBuffer, 15242 VkDeviceSize dstOffset, 15243 uint32_t marker); 15244 15245 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarker2AMD( 15246 VkCommandBuffer commandBuffer, 15247 VkPipelineStageFlags2 stage, 15248 VkBuffer dstBuffer, 15249 VkDeviceSize dstOffset, 15250 uint32_t marker); 15251 #endif 15252 15253 15254 // VK_AMD_pipeline_compiler_control is a preprocessor guard. Do not pass it to API calls. 15255 #define VK_AMD_pipeline_compiler_control 1 15256 #define VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION 1 15257 #define VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME "VK_AMD_pipeline_compiler_control" 15258 15259 typedef enum VkPipelineCompilerControlFlagBitsAMD { 15260 VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF 15261 } VkPipelineCompilerControlFlagBitsAMD; 15262 typedef VkFlags VkPipelineCompilerControlFlagsAMD; 15263 typedef struct VkPipelineCompilerControlCreateInfoAMD { 15264 VkStructureType sType; 15265 const void* pNext; 15266 VkPipelineCompilerControlFlagsAMD compilerControlFlags; 15267 } VkPipelineCompilerControlCreateInfoAMD; 15268 15269 15270 15271 // VK_EXT_calibrated_timestamps is a preprocessor guard. Do not pass it to API calls. 15272 #define VK_EXT_calibrated_timestamps 1 15273 #define VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION 2 15274 #define VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_EXT_calibrated_timestamps" 15275 typedef VkTimeDomainKHR VkTimeDomainEXT; 15276 15277 typedef VkCalibratedTimestampInfoKHR VkCalibratedTimestampInfoEXT; 15278 15279 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainKHR* pTimeDomains); 15280 typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoKHR* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation); 15281 15282 #ifndef VK_NO_PROTOTYPES 15283 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( 15284 VkPhysicalDevice physicalDevice, 15285 uint32_t* pTimeDomainCount, 15286 VkTimeDomainKHR* pTimeDomains); 15287 15288 VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsEXT( 15289 VkDevice device, 15290 uint32_t timestampCount, 15291 const VkCalibratedTimestampInfoKHR* pTimestampInfos, 15292 uint64_t* pTimestamps, 15293 uint64_t* pMaxDeviation); 15294 #endif 15295 15296 15297 // VK_AMD_shader_core_properties is a preprocessor guard. Do not pass it to API calls. 15298 #define VK_AMD_shader_core_properties 1 15299 #define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 2 15300 #define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties" 15301 typedef struct VkPhysicalDeviceShaderCorePropertiesAMD { 15302 VkStructureType sType; 15303 void* pNext; 15304 uint32_t shaderEngineCount; 15305 uint32_t shaderArraysPerEngineCount; 15306 uint32_t computeUnitsPerShaderArray; 15307 uint32_t simdPerComputeUnit; 15308 uint32_t wavefrontsPerSimd; 15309 uint32_t wavefrontSize; 15310 uint32_t sgprsPerSimd; 15311 uint32_t minSgprAllocation; 15312 uint32_t maxSgprAllocation; 15313 uint32_t sgprAllocationGranularity; 15314 uint32_t vgprsPerSimd; 15315 uint32_t minVgprAllocation; 15316 uint32_t maxVgprAllocation; 15317 uint32_t vgprAllocationGranularity; 15318 } VkPhysicalDeviceShaderCorePropertiesAMD; 15319 15320 15321 15322 // VK_AMD_memory_overallocation_behavior is a preprocessor guard. Do not pass it to API calls. 15323 #define VK_AMD_memory_overallocation_behavior 1 15324 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION 1 15325 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME "VK_AMD_memory_overallocation_behavior" 15326 15327 typedef enum VkMemoryOverallocationBehaviorAMD { 15328 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0, 15329 VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD = 1, 15330 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD = 2, 15331 VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD = 0x7FFFFFFF 15332 } VkMemoryOverallocationBehaviorAMD; 15333 typedef struct VkDeviceMemoryOverallocationCreateInfoAMD { 15334 VkStructureType sType; 15335 const void* pNext; 15336 VkMemoryOverallocationBehaviorAMD overallocationBehavior; 15337 } VkDeviceMemoryOverallocationCreateInfoAMD; 15338 15339 15340 15341 // VK_EXT_vertex_attribute_divisor is a preprocessor guard. Do not pass it to API calls. 15342 #define VK_EXT_vertex_attribute_divisor 1 15343 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3 15344 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor" 15345 typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT { 15346 VkStructureType sType; 15347 void* pNext; 15348 uint32_t maxVertexAttribDivisor; 15349 } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT; 15350 15351 typedef VkVertexInputBindingDivisorDescription VkVertexInputBindingDivisorDescriptionEXT; 15352 15353 typedef VkPipelineVertexInputDivisorStateCreateInfo VkPipelineVertexInputDivisorStateCreateInfoEXT; 15354 15355 typedef VkPhysicalDeviceVertexAttributeDivisorFeatures VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT; 15356 15357 15358 15359 // VK_EXT_pipeline_creation_feedback is a preprocessor guard. Do not pass it to API calls. 15360 #define VK_EXT_pipeline_creation_feedback 1 15361 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION 1 15362 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME "VK_EXT_pipeline_creation_feedback" 15363 typedef VkPipelineCreationFeedbackFlagBits VkPipelineCreationFeedbackFlagBitsEXT; 15364 15365 typedef VkPipelineCreationFeedbackFlags VkPipelineCreationFeedbackFlagsEXT; 15366 15367 typedef VkPipelineCreationFeedbackCreateInfo VkPipelineCreationFeedbackCreateInfoEXT; 15368 15369 typedef VkPipelineCreationFeedback VkPipelineCreationFeedbackEXT; 15370 15371 15372 15373 // VK_NV_shader_subgroup_partitioned is a preprocessor guard. Do not pass it to API calls. 15374 #define VK_NV_shader_subgroup_partitioned 1 15375 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1 15376 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned" 15377 15378 15379 // VK_NV_compute_shader_derivatives is a preprocessor guard. Do not pass it to API calls. 15380 #define VK_NV_compute_shader_derivatives 1 15381 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1 15382 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives" 15383 typedef VkPhysicalDeviceComputeShaderDerivativesFeaturesKHR VkPhysicalDeviceComputeShaderDerivativesFeaturesNV; 15384 15385 15386 15387 // VK_NV_mesh_shader is a preprocessor guard. Do not pass it to API calls. 15388 #define VK_NV_mesh_shader 1 15389 #define VK_NV_MESH_SHADER_SPEC_VERSION 1 15390 #define VK_NV_MESH_SHADER_EXTENSION_NAME "VK_NV_mesh_shader" 15391 typedef struct VkPhysicalDeviceMeshShaderFeaturesNV { 15392 VkStructureType sType; 15393 void* pNext; 15394 VkBool32 taskShader; 15395 VkBool32 meshShader; 15396 } VkPhysicalDeviceMeshShaderFeaturesNV; 15397 15398 typedef struct VkPhysicalDeviceMeshShaderPropertiesNV { 15399 VkStructureType sType; 15400 void* pNext; 15401 uint32_t maxDrawMeshTasksCount; 15402 uint32_t maxTaskWorkGroupInvocations; 15403 uint32_t maxTaskWorkGroupSize[3]; 15404 uint32_t maxTaskTotalMemorySize; 15405 uint32_t maxTaskOutputCount; 15406 uint32_t maxMeshWorkGroupInvocations; 15407 uint32_t maxMeshWorkGroupSize[3]; 15408 uint32_t maxMeshTotalMemorySize; 15409 uint32_t maxMeshOutputVertices; 15410 uint32_t maxMeshOutputPrimitives; 15411 uint32_t maxMeshMultiviewViewCount; 15412 uint32_t meshOutputPerVertexGranularity; 15413 uint32_t meshOutputPerPrimitiveGranularity; 15414 } VkPhysicalDeviceMeshShaderPropertiesNV; 15415 15416 typedef struct VkDrawMeshTasksIndirectCommandNV { 15417 uint32_t taskCount; 15418 uint32_t firstTask; 15419 } VkDrawMeshTasksIndirectCommandNV; 15420 15421 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksNV)(VkCommandBuffer commandBuffer, uint32_t taskCount, uint32_t firstTask); 15422 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); 15423 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 15424 15425 #ifndef VK_NO_PROTOTYPES 15426 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksNV( 15427 VkCommandBuffer commandBuffer, 15428 uint32_t taskCount, 15429 uint32_t firstTask); 15430 15431 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectNV( 15432 VkCommandBuffer commandBuffer, 15433 VkBuffer buffer, 15434 VkDeviceSize offset, 15435 uint32_t drawCount, 15436 uint32_t stride); 15437 15438 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountNV( 15439 VkCommandBuffer commandBuffer, 15440 VkBuffer buffer, 15441 VkDeviceSize offset, 15442 VkBuffer countBuffer, 15443 VkDeviceSize countBufferOffset, 15444 uint32_t maxDrawCount, 15445 uint32_t stride); 15446 #endif 15447 15448 15449 // VK_NV_fragment_shader_barycentric is a preprocessor guard. Do not pass it to API calls. 15450 #define VK_NV_fragment_shader_barycentric 1 15451 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1 15452 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric" 15453 typedef VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV; 15454 15455 15456 15457 // VK_NV_shader_image_footprint is a preprocessor guard. Do not pass it to API calls. 15458 #define VK_NV_shader_image_footprint 1 15459 #define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 2 15460 #define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint" 15461 typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV { 15462 VkStructureType sType; 15463 void* pNext; 15464 VkBool32 imageFootprint; 15465 } VkPhysicalDeviceShaderImageFootprintFeaturesNV; 15466 15467 15468 15469 // VK_NV_scissor_exclusive is a preprocessor guard. Do not pass it to API calls. 15470 #define VK_NV_scissor_exclusive 1 15471 #define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 2 15472 #define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive" 15473 typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV { 15474 VkStructureType sType; 15475 const void* pNext; 15476 uint32_t exclusiveScissorCount; 15477 const VkRect2D* pExclusiveScissors; 15478 } VkPipelineViewportExclusiveScissorStateCreateInfoNV; 15479 15480 typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV { 15481 VkStructureType sType; 15482 void* pNext; 15483 VkBool32 exclusiveScissor; 15484 } VkPhysicalDeviceExclusiveScissorFeaturesNV; 15485 15486 typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorEnableNV)(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkBool32* pExclusiveScissorEnables); 15487 typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkRect2D* pExclusiveScissors); 15488 15489 #ifndef VK_NO_PROTOTYPES 15490 VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorEnableNV( 15491 VkCommandBuffer commandBuffer, 15492 uint32_t firstExclusiveScissor, 15493 uint32_t exclusiveScissorCount, 15494 const VkBool32* pExclusiveScissorEnables); 15495 15496 VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorNV( 15497 VkCommandBuffer commandBuffer, 15498 uint32_t firstExclusiveScissor, 15499 uint32_t exclusiveScissorCount, 15500 const VkRect2D* pExclusiveScissors); 15501 #endif 15502 15503 15504 // VK_NV_device_diagnostic_checkpoints is a preprocessor guard. Do not pass it to API calls. 15505 #define VK_NV_device_diagnostic_checkpoints 1 15506 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2 15507 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints" 15508 typedef struct VkQueueFamilyCheckpointPropertiesNV { 15509 VkStructureType sType; 15510 void* pNext; 15511 VkPipelineStageFlags checkpointExecutionStageMask; 15512 } VkQueueFamilyCheckpointPropertiesNV; 15513 15514 typedef struct VkCheckpointDataNV { 15515 VkStructureType sType; 15516 void* pNext; 15517 VkPipelineStageFlagBits stage; 15518 void* pCheckpointMarker; 15519 } VkCheckpointDataNV; 15520 15521 typedef struct VkQueueFamilyCheckpointProperties2NV { 15522 VkStructureType sType; 15523 void* pNext; 15524 VkPipelineStageFlags2 checkpointExecutionStageMask; 15525 } VkQueueFamilyCheckpointProperties2NV; 15526 15527 typedef struct VkCheckpointData2NV { 15528 VkStructureType sType; 15529 void* pNext; 15530 VkPipelineStageFlags2 stage; 15531 void* pCheckpointMarker; 15532 } VkCheckpointData2NV; 15533 15534 typedef void (VKAPI_PTR *PFN_vkCmdSetCheckpointNV)(VkCommandBuffer commandBuffer, const void* pCheckpointMarker); 15535 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointDataNV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData); 15536 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointData2NV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData); 15537 15538 #ifndef VK_NO_PROTOTYPES 15539 VKAPI_ATTR void VKAPI_CALL vkCmdSetCheckpointNV( 15540 VkCommandBuffer commandBuffer, 15541 const void* pCheckpointMarker); 15542 15543 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointDataNV( 15544 VkQueue queue, 15545 uint32_t* pCheckpointDataCount, 15546 VkCheckpointDataNV* pCheckpointData); 15547 15548 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointData2NV( 15549 VkQueue queue, 15550 uint32_t* pCheckpointDataCount, 15551 VkCheckpointData2NV* pCheckpointData); 15552 #endif 15553 15554 15555 // VK_INTEL_shader_integer_functions2 is a preprocessor guard. Do not pass it to API calls. 15556 #define VK_INTEL_shader_integer_functions2 1 15557 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION 1 15558 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME "VK_INTEL_shader_integer_functions2" 15559 typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL { 15560 VkStructureType sType; 15561 void* pNext; 15562 VkBool32 shaderIntegerFunctions2; 15563 } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL; 15564 15565 15566 15567 // VK_INTEL_performance_query is a preprocessor guard. Do not pass it to API calls. 15568 #define VK_INTEL_performance_query 1 15569 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL) 15570 #define VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION 2 15571 #define VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME "VK_INTEL_performance_query" 15572 15573 typedef enum VkPerformanceConfigurationTypeINTEL { 15574 VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0, 15575 VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF 15576 } VkPerformanceConfigurationTypeINTEL; 15577 15578 typedef enum VkQueryPoolSamplingModeINTEL { 15579 VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0, 15580 VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL = 0x7FFFFFFF 15581 } VkQueryPoolSamplingModeINTEL; 15582 15583 typedef enum VkPerformanceOverrideTypeINTEL { 15584 VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0, 15585 VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1, 15586 VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF 15587 } VkPerformanceOverrideTypeINTEL; 15588 15589 typedef enum VkPerformanceParameterTypeINTEL { 15590 VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0, 15591 VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1, 15592 VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF 15593 } VkPerformanceParameterTypeINTEL; 15594 15595 typedef enum VkPerformanceValueTypeINTEL { 15596 VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0, 15597 VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1, 15598 VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL = 2, 15599 VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL = 3, 15600 VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4, 15601 VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF 15602 } VkPerformanceValueTypeINTEL; 15603 typedef union VkPerformanceValueDataINTEL { 15604 uint32_t value32; 15605 uint64_t value64; 15606 float valueFloat; 15607 VkBool32 valueBool; 15608 const char* valueString; 15609 } VkPerformanceValueDataINTEL; 15610 15611 typedef struct VkPerformanceValueINTEL { 15612 VkPerformanceValueTypeINTEL type; 15613 VkPerformanceValueDataINTEL data; 15614 } VkPerformanceValueINTEL; 15615 15616 typedef struct VkInitializePerformanceApiInfoINTEL { 15617 VkStructureType sType; 15618 const void* pNext; 15619 void* pUserData; 15620 } VkInitializePerformanceApiInfoINTEL; 15621 15622 typedef struct VkQueryPoolPerformanceQueryCreateInfoINTEL { 15623 VkStructureType sType; 15624 const void* pNext; 15625 VkQueryPoolSamplingModeINTEL performanceCountersSampling; 15626 } VkQueryPoolPerformanceQueryCreateInfoINTEL; 15627 15628 typedef VkQueryPoolPerformanceQueryCreateInfoINTEL VkQueryPoolCreateInfoINTEL; 15629 15630 typedef struct VkPerformanceMarkerInfoINTEL { 15631 VkStructureType sType; 15632 const void* pNext; 15633 uint64_t marker; 15634 } VkPerformanceMarkerInfoINTEL; 15635 15636 typedef struct VkPerformanceStreamMarkerInfoINTEL { 15637 VkStructureType sType; 15638 const void* pNext; 15639 uint32_t marker; 15640 } VkPerformanceStreamMarkerInfoINTEL; 15641 15642 typedef struct VkPerformanceOverrideInfoINTEL { 15643 VkStructureType sType; 15644 const void* pNext; 15645 VkPerformanceOverrideTypeINTEL type; 15646 VkBool32 enable; 15647 uint64_t parameter; 15648 } VkPerformanceOverrideInfoINTEL; 15649 15650 typedef struct VkPerformanceConfigurationAcquireInfoINTEL { 15651 VkStructureType sType; 15652 const void* pNext; 15653 VkPerformanceConfigurationTypeINTEL type; 15654 } VkPerformanceConfigurationAcquireInfoINTEL; 15655 15656 typedef VkResult (VKAPI_PTR *PFN_vkInitializePerformanceApiINTEL)(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo); 15657 typedef void (VKAPI_PTR *PFN_vkUninitializePerformanceApiINTEL)(VkDevice device); 15658 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo); 15659 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceStreamMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo); 15660 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceOverrideINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo); 15661 typedef VkResult (VKAPI_PTR *PFN_vkAcquirePerformanceConfigurationINTEL)(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration); 15662 typedef VkResult (VKAPI_PTR *PFN_vkReleasePerformanceConfigurationINTEL)(VkDevice device, VkPerformanceConfigurationINTEL configuration); 15663 typedef VkResult (VKAPI_PTR *PFN_vkQueueSetPerformanceConfigurationINTEL)(VkQueue queue, VkPerformanceConfigurationINTEL configuration); 15664 typedef VkResult (VKAPI_PTR *PFN_vkGetPerformanceParameterINTEL)(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue); 15665 15666 #ifndef VK_NO_PROTOTYPES 15667 VKAPI_ATTR VkResult VKAPI_CALL vkInitializePerformanceApiINTEL( 15668 VkDevice device, 15669 const VkInitializePerformanceApiInfoINTEL* pInitializeInfo); 15670 15671 VKAPI_ATTR void VKAPI_CALL vkUninitializePerformanceApiINTEL( 15672 VkDevice device); 15673 15674 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceMarkerINTEL( 15675 VkCommandBuffer commandBuffer, 15676 const VkPerformanceMarkerInfoINTEL* pMarkerInfo); 15677 15678 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceStreamMarkerINTEL( 15679 VkCommandBuffer commandBuffer, 15680 const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo); 15681 15682 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceOverrideINTEL( 15683 VkCommandBuffer commandBuffer, 15684 const VkPerformanceOverrideInfoINTEL* pOverrideInfo); 15685 15686 VKAPI_ATTR VkResult VKAPI_CALL vkAcquirePerformanceConfigurationINTEL( 15687 VkDevice device, 15688 const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, 15689 VkPerformanceConfigurationINTEL* pConfiguration); 15690 15691 VKAPI_ATTR VkResult VKAPI_CALL vkReleasePerformanceConfigurationINTEL( 15692 VkDevice device, 15693 VkPerformanceConfigurationINTEL configuration); 15694 15695 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSetPerformanceConfigurationINTEL( 15696 VkQueue queue, 15697 VkPerformanceConfigurationINTEL configuration); 15698 15699 VKAPI_ATTR VkResult VKAPI_CALL vkGetPerformanceParameterINTEL( 15700 VkDevice device, 15701 VkPerformanceParameterTypeINTEL parameter, 15702 VkPerformanceValueINTEL* pValue); 15703 #endif 15704 15705 15706 // VK_EXT_pci_bus_info is a preprocessor guard. Do not pass it to API calls. 15707 #define VK_EXT_pci_bus_info 1 15708 #define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2 15709 #define VK_EXT_PCI_BUS_INFO_EXTENSION_NAME "VK_EXT_pci_bus_info" 15710 typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT { 15711 VkStructureType sType; 15712 void* pNext; 15713 uint32_t pciDomain; 15714 uint32_t pciBus; 15715 uint32_t pciDevice; 15716 uint32_t pciFunction; 15717 } VkPhysicalDevicePCIBusInfoPropertiesEXT; 15718 15719 15720 15721 // VK_AMD_display_native_hdr is a preprocessor guard. Do not pass it to API calls. 15722 #define VK_AMD_display_native_hdr 1 15723 #define VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION 1 15724 #define VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME "VK_AMD_display_native_hdr" 15725 typedef struct VkDisplayNativeHdrSurfaceCapabilitiesAMD { 15726 VkStructureType sType; 15727 void* pNext; 15728 VkBool32 localDimmingSupport; 15729 } VkDisplayNativeHdrSurfaceCapabilitiesAMD; 15730 15731 typedef struct VkSwapchainDisplayNativeHdrCreateInfoAMD { 15732 VkStructureType sType; 15733 const void* pNext; 15734 VkBool32 localDimmingEnable; 15735 } VkSwapchainDisplayNativeHdrCreateInfoAMD; 15736 15737 typedef void (VKAPI_PTR *PFN_vkSetLocalDimmingAMD)(VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable); 15738 15739 #ifndef VK_NO_PROTOTYPES 15740 VKAPI_ATTR void VKAPI_CALL vkSetLocalDimmingAMD( 15741 VkDevice device, 15742 VkSwapchainKHR swapChain, 15743 VkBool32 localDimmingEnable); 15744 #endif 15745 15746 15747 // VK_EXT_fragment_density_map is a preprocessor guard. Do not pass it to API calls. 15748 #define VK_EXT_fragment_density_map 1 15749 #define VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION 2 15750 #define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map" 15751 typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT { 15752 VkStructureType sType; 15753 void* pNext; 15754 VkBool32 fragmentDensityMap; 15755 VkBool32 fragmentDensityMapDynamic; 15756 VkBool32 fragmentDensityMapNonSubsampledImages; 15757 } VkPhysicalDeviceFragmentDensityMapFeaturesEXT; 15758 15759 typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT { 15760 VkStructureType sType; 15761 void* pNext; 15762 VkExtent2D minFragmentDensityTexelSize; 15763 VkExtent2D maxFragmentDensityTexelSize; 15764 VkBool32 fragmentDensityInvocations; 15765 } VkPhysicalDeviceFragmentDensityMapPropertiesEXT; 15766 15767 typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT { 15768 VkStructureType sType; 15769 const void* pNext; 15770 VkAttachmentReference fragmentDensityMapAttachment; 15771 } VkRenderPassFragmentDensityMapCreateInfoEXT; 15772 15773 typedef struct VkRenderingFragmentDensityMapAttachmentInfoEXT { 15774 VkStructureType sType; 15775 const void* pNext; 15776 VkImageView imageView; 15777 VkImageLayout imageLayout; 15778 } VkRenderingFragmentDensityMapAttachmentInfoEXT; 15779 15780 15781 15782 // VK_EXT_scalar_block_layout is a preprocessor guard. Do not pass it to API calls. 15783 #define VK_EXT_scalar_block_layout 1 15784 #define VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION 1 15785 #define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout" 15786 typedef VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeaturesEXT; 15787 15788 15789 15790 // VK_GOOGLE_hlsl_functionality1 is a preprocessor guard. Do not pass it to API calls. 15791 #define VK_GOOGLE_hlsl_functionality1 1 15792 #define VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION 1 15793 #define VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1" 15794 // VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION is a deprecated alias 15795 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION 15796 // VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME is a deprecated alias 15797 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME 15798 15799 15800 // VK_GOOGLE_decorate_string is a preprocessor guard. Do not pass it to API calls. 15801 #define VK_GOOGLE_decorate_string 1 15802 #define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1 15803 #define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string" 15804 15805 15806 // VK_EXT_subgroup_size_control is a preprocessor guard. Do not pass it to API calls. 15807 #define VK_EXT_subgroup_size_control 1 15808 #define VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION 2 15809 #define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control" 15810 typedef VkPhysicalDeviceSubgroupSizeControlFeatures VkPhysicalDeviceSubgroupSizeControlFeaturesEXT; 15811 15812 typedef VkPhysicalDeviceSubgroupSizeControlProperties VkPhysicalDeviceSubgroupSizeControlPropertiesEXT; 15813 15814 typedef VkPipelineShaderStageRequiredSubgroupSizeCreateInfo VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT; 15815 15816 15817 15818 // VK_AMD_shader_core_properties2 is a preprocessor guard. Do not pass it to API calls. 15819 #define VK_AMD_shader_core_properties2 1 15820 #define VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION 1 15821 #define VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME "VK_AMD_shader_core_properties2" 15822 15823 typedef enum VkShaderCorePropertiesFlagBitsAMD { 15824 VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF 15825 } VkShaderCorePropertiesFlagBitsAMD; 15826 typedef VkFlags VkShaderCorePropertiesFlagsAMD; 15827 typedef struct VkPhysicalDeviceShaderCoreProperties2AMD { 15828 VkStructureType sType; 15829 void* pNext; 15830 VkShaderCorePropertiesFlagsAMD shaderCoreFeatures; 15831 uint32_t activeComputeUnitCount; 15832 } VkPhysicalDeviceShaderCoreProperties2AMD; 15833 15834 15835 15836 // VK_AMD_device_coherent_memory is a preprocessor guard. Do not pass it to API calls. 15837 #define VK_AMD_device_coherent_memory 1 15838 #define VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION 1 15839 #define VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME "VK_AMD_device_coherent_memory" 15840 typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD { 15841 VkStructureType sType; 15842 void* pNext; 15843 VkBool32 deviceCoherentMemory; 15844 } VkPhysicalDeviceCoherentMemoryFeaturesAMD; 15845 15846 15847 15848 // VK_EXT_shader_image_atomic_int64 is a preprocessor guard. Do not pass it to API calls. 15849 #define VK_EXT_shader_image_atomic_int64 1 15850 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION 1 15851 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME "VK_EXT_shader_image_atomic_int64" 15852 typedef struct VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT { 15853 VkStructureType sType; 15854 void* pNext; 15855 VkBool32 shaderImageInt64Atomics; 15856 VkBool32 sparseImageInt64Atomics; 15857 } VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT; 15858 15859 15860 15861 // VK_EXT_memory_budget is a preprocessor guard. Do not pass it to API calls. 15862 #define VK_EXT_memory_budget 1 15863 #define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1 15864 #define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget" 15865 typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT { 15866 VkStructureType sType; 15867 void* pNext; 15868 VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS]; 15869 VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS]; 15870 } VkPhysicalDeviceMemoryBudgetPropertiesEXT; 15871 15872 15873 15874 // VK_EXT_memory_priority is a preprocessor guard. Do not pass it to API calls. 15875 #define VK_EXT_memory_priority 1 15876 #define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1 15877 #define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority" 15878 typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT { 15879 VkStructureType sType; 15880 void* pNext; 15881 VkBool32 memoryPriority; 15882 } VkPhysicalDeviceMemoryPriorityFeaturesEXT; 15883 15884 typedef struct VkMemoryPriorityAllocateInfoEXT { 15885 VkStructureType sType; 15886 const void* pNext; 15887 float priority; 15888 } VkMemoryPriorityAllocateInfoEXT; 15889 15890 15891 15892 // VK_NV_dedicated_allocation_image_aliasing is a preprocessor guard. Do not pass it to API calls. 15893 #define VK_NV_dedicated_allocation_image_aliasing 1 15894 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION 1 15895 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing" 15896 typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV { 15897 VkStructureType sType; 15898 void* pNext; 15899 VkBool32 dedicatedAllocationImageAliasing; 15900 } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV; 15901 15902 15903 15904 // VK_EXT_buffer_device_address is a preprocessor guard. Do not pass it to API calls. 15905 #define VK_EXT_buffer_device_address 1 15906 #define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2 15907 #define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address" 15908 typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT { 15909 VkStructureType sType; 15910 void* pNext; 15911 VkBool32 bufferDeviceAddress; 15912 VkBool32 bufferDeviceAddressCaptureReplay; 15913 VkBool32 bufferDeviceAddressMultiDevice; 15914 } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT; 15915 15916 typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT; 15917 15918 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoEXT; 15919 15920 typedef struct VkBufferDeviceAddressCreateInfoEXT { 15921 VkStructureType sType; 15922 const void* pNext; 15923 VkDeviceAddress deviceAddress; 15924 } VkBufferDeviceAddressCreateInfoEXT; 15925 15926 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressEXT)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 15927 15928 #ifndef VK_NO_PROTOTYPES 15929 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressEXT( 15930 VkDevice device, 15931 const VkBufferDeviceAddressInfo* pInfo); 15932 #endif 15933 15934 15935 // VK_EXT_tooling_info is a preprocessor guard. Do not pass it to API calls. 15936 #define VK_EXT_tooling_info 1 15937 #define VK_EXT_TOOLING_INFO_SPEC_VERSION 1 15938 #define VK_EXT_TOOLING_INFO_EXTENSION_NAME "VK_EXT_tooling_info" 15939 typedef VkToolPurposeFlagBits VkToolPurposeFlagBitsEXT; 15940 15941 typedef VkToolPurposeFlags VkToolPurposeFlagsEXT; 15942 15943 typedef VkPhysicalDeviceToolProperties VkPhysicalDeviceToolPropertiesEXT; 15944 15945 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolPropertiesEXT)(VkPhysicalDevice physicalDevice, uint32_t* pToolCount, VkPhysicalDeviceToolProperties* pToolProperties); 15946 15947 #ifndef VK_NO_PROTOTYPES 15948 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolPropertiesEXT( 15949 VkPhysicalDevice physicalDevice, 15950 uint32_t* pToolCount, 15951 VkPhysicalDeviceToolProperties* pToolProperties); 15952 #endif 15953 15954 15955 // VK_EXT_separate_stencil_usage is a preprocessor guard. Do not pass it to API calls. 15956 #define VK_EXT_separate_stencil_usage 1 15957 #define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1 15958 #define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage" 15959 typedef VkImageStencilUsageCreateInfo VkImageStencilUsageCreateInfoEXT; 15960 15961 15962 15963 // VK_EXT_validation_features is a preprocessor guard. Do not pass it to API calls. 15964 #define VK_EXT_validation_features 1 15965 #define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 6 15966 #define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features" 15967 15968 typedef enum VkValidationFeatureEnableEXT { 15969 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0, 15970 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1, 15971 VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2, 15972 VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3, 15973 VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT = 4, 15974 VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF 15975 } VkValidationFeatureEnableEXT; 15976 15977 typedef enum VkValidationFeatureDisableEXT { 15978 VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0, 15979 VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1, 15980 VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2, 15981 VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3, 15982 VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4, 15983 VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5, 15984 VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6, 15985 VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT = 7, 15986 VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF 15987 } VkValidationFeatureDisableEXT; 15988 typedef struct VkValidationFeaturesEXT { 15989 VkStructureType sType; 15990 const void* pNext; 15991 uint32_t enabledValidationFeatureCount; 15992 const VkValidationFeatureEnableEXT* pEnabledValidationFeatures; 15993 uint32_t disabledValidationFeatureCount; 15994 const VkValidationFeatureDisableEXT* pDisabledValidationFeatures; 15995 } VkValidationFeaturesEXT; 15996 15997 15998 15999 // VK_NV_cooperative_matrix is a preprocessor guard. Do not pass it to API calls. 16000 #define VK_NV_cooperative_matrix 1 16001 #define VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION 1 16002 #define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix" 16003 typedef VkComponentTypeKHR VkComponentTypeNV; 16004 16005 typedef VkScopeKHR VkScopeNV; 16006 16007 typedef struct VkCooperativeMatrixPropertiesNV { 16008 VkStructureType sType; 16009 void* pNext; 16010 uint32_t MSize; 16011 uint32_t NSize; 16012 uint32_t KSize; 16013 VkComponentTypeNV AType; 16014 VkComponentTypeNV BType; 16015 VkComponentTypeNV CType; 16016 VkComponentTypeNV DType; 16017 VkScopeNV scope; 16018 } VkCooperativeMatrixPropertiesNV; 16019 16020 typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV { 16021 VkStructureType sType; 16022 void* pNext; 16023 VkBool32 cooperativeMatrix; 16024 VkBool32 cooperativeMatrixRobustBufferAccess; 16025 } VkPhysicalDeviceCooperativeMatrixFeaturesNV; 16026 16027 typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV { 16028 VkStructureType sType; 16029 void* pNext; 16030 VkShaderStageFlags cooperativeMatrixSupportedStages; 16031 } VkPhysicalDeviceCooperativeMatrixPropertiesNV; 16032 16033 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties); 16034 16035 #ifndef VK_NO_PROTOTYPES 16036 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( 16037 VkPhysicalDevice physicalDevice, 16038 uint32_t* pPropertyCount, 16039 VkCooperativeMatrixPropertiesNV* pProperties); 16040 #endif 16041 16042 16043 // VK_NV_coverage_reduction_mode is a preprocessor guard. Do not pass it to API calls. 16044 #define VK_NV_coverage_reduction_mode 1 16045 #define VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION 1 16046 #define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode" 16047 16048 typedef enum VkCoverageReductionModeNV { 16049 VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0, 16050 VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1, 16051 VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV = 0x7FFFFFFF 16052 } VkCoverageReductionModeNV; 16053 typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV; 16054 typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV { 16055 VkStructureType sType; 16056 void* pNext; 16057 VkBool32 coverageReductionMode; 16058 } VkPhysicalDeviceCoverageReductionModeFeaturesNV; 16059 16060 typedef struct VkPipelineCoverageReductionStateCreateInfoNV { 16061 VkStructureType sType; 16062 const void* pNext; 16063 VkPipelineCoverageReductionStateCreateFlagsNV flags; 16064 VkCoverageReductionModeNV coverageReductionMode; 16065 } VkPipelineCoverageReductionStateCreateInfoNV; 16066 16067 typedef struct VkFramebufferMixedSamplesCombinationNV { 16068 VkStructureType sType; 16069 void* pNext; 16070 VkCoverageReductionModeNV coverageReductionMode; 16071 VkSampleCountFlagBits rasterizationSamples; 16072 VkSampleCountFlags depthStencilSamples; 16073 VkSampleCountFlags colorSamples; 16074 } VkFramebufferMixedSamplesCombinationNV; 16075 16076 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)(VkPhysicalDevice physicalDevice, uint32_t* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations); 16077 16078 #ifndef VK_NO_PROTOTYPES 16079 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( 16080 VkPhysicalDevice physicalDevice, 16081 uint32_t* pCombinationCount, 16082 VkFramebufferMixedSamplesCombinationNV* pCombinations); 16083 #endif 16084 16085 16086 // VK_EXT_fragment_shader_interlock is a preprocessor guard. Do not pass it to API calls. 16087 #define VK_EXT_fragment_shader_interlock 1 16088 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1 16089 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock" 16090 typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT { 16091 VkStructureType sType; 16092 void* pNext; 16093 VkBool32 fragmentShaderSampleInterlock; 16094 VkBool32 fragmentShaderPixelInterlock; 16095 VkBool32 fragmentShaderShadingRateInterlock; 16096 } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT; 16097 16098 16099 16100 // VK_EXT_ycbcr_image_arrays is a preprocessor guard. Do not pass it to API calls. 16101 #define VK_EXT_ycbcr_image_arrays 1 16102 #define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1 16103 #define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays" 16104 typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT { 16105 VkStructureType sType; 16106 void* pNext; 16107 VkBool32 ycbcrImageArrays; 16108 } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT; 16109 16110 16111 16112 // VK_EXT_provoking_vertex is a preprocessor guard. Do not pass it to API calls. 16113 #define VK_EXT_provoking_vertex 1 16114 #define VK_EXT_PROVOKING_VERTEX_SPEC_VERSION 1 16115 #define VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME "VK_EXT_provoking_vertex" 16116 16117 typedef enum VkProvokingVertexModeEXT { 16118 VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT = 0, 16119 VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT = 1, 16120 VK_PROVOKING_VERTEX_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 16121 } VkProvokingVertexModeEXT; 16122 typedef struct VkPhysicalDeviceProvokingVertexFeaturesEXT { 16123 VkStructureType sType; 16124 void* pNext; 16125 VkBool32 provokingVertexLast; 16126 VkBool32 transformFeedbackPreservesProvokingVertex; 16127 } VkPhysicalDeviceProvokingVertexFeaturesEXT; 16128 16129 typedef struct VkPhysicalDeviceProvokingVertexPropertiesEXT { 16130 VkStructureType sType; 16131 void* pNext; 16132 VkBool32 provokingVertexModePerPipeline; 16133 VkBool32 transformFeedbackPreservesTriangleFanProvokingVertex; 16134 } VkPhysicalDeviceProvokingVertexPropertiesEXT; 16135 16136 typedef struct VkPipelineRasterizationProvokingVertexStateCreateInfoEXT { 16137 VkStructureType sType; 16138 const void* pNext; 16139 VkProvokingVertexModeEXT provokingVertexMode; 16140 } VkPipelineRasterizationProvokingVertexStateCreateInfoEXT; 16141 16142 16143 16144 // VK_EXT_headless_surface is a preprocessor guard. Do not pass it to API calls. 16145 #define VK_EXT_headless_surface 1 16146 #define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 1 16147 #define VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME "VK_EXT_headless_surface" 16148 typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT; 16149 typedef struct VkHeadlessSurfaceCreateInfoEXT { 16150 VkStructureType sType; 16151 const void* pNext; 16152 VkHeadlessSurfaceCreateFlagsEXT flags; 16153 } VkHeadlessSurfaceCreateInfoEXT; 16154 16155 typedef VkResult (VKAPI_PTR *PFN_vkCreateHeadlessSurfaceEXT)(VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); 16156 16157 #ifndef VK_NO_PROTOTYPES 16158 VKAPI_ATTR VkResult VKAPI_CALL vkCreateHeadlessSurfaceEXT( 16159 VkInstance instance, 16160 const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, 16161 const VkAllocationCallbacks* pAllocator, 16162 VkSurfaceKHR* pSurface); 16163 #endif 16164 16165 16166 // VK_EXT_line_rasterization is a preprocessor guard. Do not pass it to API calls. 16167 #define VK_EXT_line_rasterization 1 16168 #define VK_EXT_LINE_RASTERIZATION_SPEC_VERSION 1 16169 #define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization" 16170 typedef VkLineRasterizationMode VkLineRasterizationModeEXT; 16171 16172 typedef VkPhysicalDeviceLineRasterizationFeatures VkPhysicalDeviceLineRasterizationFeaturesEXT; 16173 16174 typedef VkPhysicalDeviceLineRasterizationProperties VkPhysicalDeviceLineRasterizationPropertiesEXT; 16175 16176 typedef VkPipelineRasterizationLineStateCreateInfo VkPipelineRasterizationLineStateCreateInfoEXT; 16177 16178 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEXT)(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern); 16179 16180 #ifndef VK_NO_PROTOTYPES 16181 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEXT( 16182 VkCommandBuffer commandBuffer, 16183 uint32_t lineStippleFactor, 16184 uint16_t lineStipplePattern); 16185 #endif 16186 16187 16188 // VK_EXT_shader_atomic_float is a preprocessor guard. Do not pass it to API calls. 16189 #define VK_EXT_shader_atomic_float 1 16190 #define VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION 1 16191 #define VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME "VK_EXT_shader_atomic_float" 16192 typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT { 16193 VkStructureType sType; 16194 void* pNext; 16195 VkBool32 shaderBufferFloat32Atomics; 16196 VkBool32 shaderBufferFloat32AtomicAdd; 16197 VkBool32 shaderBufferFloat64Atomics; 16198 VkBool32 shaderBufferFloat64AtomicAdd; 16199 VkBool32 shaderSharedFloat32Atomics; 16200 VkBool32 shaderSharedFloat32AtomicAdd; 16201 VkBool32 shaderSharedFloat64Atomics; 16202 VkBool32 shaderSharedFloat64AtomicAdd; 16203 VkBool32 shaderImageFloat32Atomics; 16204 VkBool32 shaderImageFloat32AtomicAdd; 16205 VkBool32 sparseImageFloat32Atomics; 16206 VkBool32 sparseImageFloat32AtomicAdd; 16207 } VkPhysicalDeviceShaderAtomicFloatFeaturesEXT; 16208 16209 16210 16211 // VK_EXT_host_query_reset is a preprocessor guard. Do not pass it to API calls. 16212 #define VK_EXT_host_query_reset 1 16213 #define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1 16214 #define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset" 16215 typedef VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeaturesEXT; 16216 16217 typedef void (VKAPI_PTR *PFN_vkResetQueryPoolEXT)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount); 16218 16219 #ifndef VK_NO_PROTOTYPES 16220 VKAPI_ATTR void VKAPI_CALL vkResetQueryPoolEXT( 16221 VkDevice device, 16222 VkQueryPool queryPool, 16223 uint32_t firstQuery, 16224 uint32_t queryCount); 16225 #endif 16226 16227 16228 // VK_EXT_index_type_uint8 is a preprocessor guard. Do not pass it to API calls. 16229 #define VK_EXT_index_type_uint8 1 16230 #define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1 16231 #define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8" 16232 typedef VkPhysicalDeviceIndexTypeUint8Features VkPhysicalDeviceIndexTypeUint8FeaturesEXT; 16233 16234 16235 16236 // VK_EXT_extended_dynamic_state is a preprocessor guard. Do not pass it to API calls. 16237 #define VK_EXT_extended_dynamic_state 1 16238 #define VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION 1 16239 #define VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_extended_dynamic_state" 16240 typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT { 16241 VkStructureType sType; 16242 void* pNext; 16243 VkBool32 extendedDynamicState; 16244 } VkPhysicalDeviceExtendedDynamicStateFeaturesEXT; 16245 16246 typedef void (VKAPI_PTR *PFN_vkCmdSetCullModeEXT)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode); 16247 typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFaceEXT)(VkCommandBuffer commandBuffer, VkFrontFace frontFace); 16248 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopologyEXT)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology); 16249 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCountEXT)(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports); 16250 typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCountEXT)(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors); 16251 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers2EXT)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides); 16252 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable); 16253 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable); 16254 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOpEXT)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp); 16255 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable); 16256 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable); 16257 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOpEXT)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp); 16258 16259 #ifndef VK_NO_PROTOTYPES 16260 VKAPI_ATTR void VKAPI_CALL vkCmdSetCullModeEXT( 16261 VkCommandBuffer commandBuffer, 16262 VkCullModeFlags cullMode); 16263 16264 VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFaceEXT( 16265 VkCommandBuffer commandBuffer, 16266 VkFrontFace frontFace); 16267 16268 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopologyEXT( 16269 VkCommandBuffer commandBuffer, 16270 VkPrimitiveTopology primitiveTopology); 16271 16272 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCountEXT( 16273 VkCommandBuffer commandBuffer, 16274 uint32_t viewportCount, 16275 const VkViewport* pViewports); 16276 16277 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCountEXT( 16278 VkCommandBuffer commandBuffer, 16279 uint32_t scissorCount, 16280 const VkRect2D* pScissors); 16281 16282 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2EXT( 16283 VkCommandBuffer commandBuffer, 16284 uint32_t firstBinding, 16285 uint32_t bindingCount, 16286 const VkBuffer* pBuffers, 16287 const VkDeviceSize* pOffsets, 16288 const VkDeviceSize* pSizes, 16289 const VkDeviceSize* pStrides); 16290 16291 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnableEXT( 16292 VkCommandBuffer commandBuffer, 16293 VkBool32 depthTestEnable); 16294 16295 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnableEXT( 16296 VkCommandBuffer commandBuffer, 16297 VkBool32 depthWriteEnable); 16298 16299 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOpEXT( 16300 VkCommandBuffer commandBuffer, 16301 VkCompareOp depthCompareOp); 16302 16303 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnableEXT( 16304 VkCommandBuffer commandBuffer, 16305 VkBool32 depthBoundsTestEnable); 16306 16307 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnableEXT( 16308 VkCommandBuffer commandBuffer, 16309 VkBool32 stencilTestEnable); 16310 16311 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOpEXT( 16312 VkCommandBuffer commandBuffer, 16313 VkStencilFaceFlags faceMask, 16314 VkStencilOp failOp, 16315 VkStencilOp passOp, 16316 VkStencilOp depthFailOp, 16317 VkCompareOp compareOp); 16318 #endif 16319 16320 16321 // VK_EXT_host_image_copy is a preprocessor guard. Do not pass it to API calls. 16322 #define VK_EXT_host_image_copy 1 16323 #define VK_EXT_HOST_IMAGE_COPY_SPEC_VERSION 1 16324 #define VK_EXT_HOST_IMAGE_COPY_EXTENSION_NAME "VK_EXT_host_image_copy" 16325 typedef VkHostImageCopyFlagBits VkHostImageCopyFlagBitsEXT; 16326 16327 typedef VkHostImageCopyFlags VkHostImageCopyFlagsEXT; 16328 16329 typedef VkPhysicalDeviceHostImageCopyFeatures VkPhysicalDeviceHostImageCopyFeaturesEXT; 16330 16331 typedef VkPhysicalDeviceHostImageCopyProperties VkPhysicalDeviceHostImageCopyPropertiesEXT; 16332 16333 typedef VkMemoryToImageCopy VkMemoryToImageCopyEXT; 16334 16335 typedef VkImageToMemoryCopy VkImageToMemoryCopyEXT; 16336 16337 typedef VkCopyMemoryToImageInfo VkCopyMemoryToImageInfoEXT; 16338 16339 typedef VkCopyImageToMemoryInfo VkCopyImageToMemoryInfoEXT; 16340 16341 typedef VkCopyImageToImageInfo VkCopyImageToImageInfoEXT; 16342 16343 typedef VkHostImageLayoutTransitionInfo VkHostImageLayoutTransitionInfoEXT; 16344 16345 typedef VkSubresourceHostMemcpySize VkSubresourceHostMemcpySizeEXT; 16346 16347 typedef VkHostImageCopyDevicePerformanceQuery VkHostImageCopyDevicePerformanceQueryEXT; 16348 16349 typedef VkSubresourceLayout2 VkSubresourceLayout2EXT; 16350 16351 typedef VkImageSubresource2 VkImageSubresource2EXT; 16352 16353 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToImageEXT)(VkDevice device, const VkCopyMemoryToImageInfo* pCopyMemoryToImageInfo); 16354 typedef VkResult (VKAPI_PTR *PFN_vkCopyImageToMemoryEXT)(VkDevice device, const VkCopyImageToMemoryInfo* pCopyImageToMemoryInfo); 16355 typedef VkResult (VKAPI_PTR *PFN_vkCopyImageToImageEXT)(VkDevice device, const VkCopyImageToImageInfo* pCopyImageToImageInfo); 16356 typedef VkResult (VKAPI_PTR *PFN_vkTransitionImageLayoutEXT)(VkDevice device, uint32_t transitionCount, const VkHostImageLayoutTransitionInfo* pTransitions); 16357 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout2EXT)(VkDevice device, VkImage image, const VkImageSubresource2* pSubresource, VkSubresourceLayout2* pLayout); 16358 16359 #ifndef VK_NO_PROTOTYPES 16360 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToImageEXT( 16361 VkDevice device, 16362 const VkCopyMemoryToImageInfo* pCopyMemoryToImageInfo); 16363 16364 VKAPI_ATTR VkResult VKAPI_CALL vkCopyImageToMemoryEXT( 16365 VkDevice device, 16366 const VkCopyImageToMemoryInfo* pCopyImageToMemoryInfo); 16367 16368 VKAPI_ATTR VkResult VKAPI_CALL vkCopyImageToImageEXT( 16369 VkDevice device, 16370 const VkCopyImageToImageInfo* pCopyImageToImageInfo); 16371 16372 VKAPI_ATTR VkResult VKAPI_CALL vkTransitionImageLayoutEXT( 16373 VkDevice device, 16374 uint32_t transitionCount, 16375 const VkHostImageLayoutTransitionInfo* pTransitions); 16376 16377 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout2EXT( 16378 VkDevice device, 16379 VkImage image, 16380 const VkImageSubresource2* pSubresource, 16381 VkSubresourceLayout2* pLayout); 16382 #endif 16383 16384 16385 // VK_EXT_map_memory_placed is a preprocessor guard. Do not pass it to API calls. 16386 #define VK_EXT_map_memory_placed 1 16387 #define VK_EXT_MAP_MEMORY_PLACED_SPEC_VERSION 1 16388 #define VK_EXT_MAP_MEMORY_PLACED_EXTENSION_NAME "VK_EXT_map_memory_placed" 16389 typedef struct VkPhysicalDeviceMapMemoryPlacedFeaturesEXT { 16390 VkStructureType sType; 16391 void* pNext; 16392 VkBool32 memoryMapPlaced; 16393 VkBool32 memoryMapRangePlaced; 16394 VkBool32 memoryUnmapReserve; 16395 } VkPhysicalDeviceMapMemoryPlacedFeaturesEXT; 16396 16397 typedef struct VkPhysicalDeviceMapMemoryPlacedPropertiesEXT { 16398 VkStructureType sType; 16399 void* pNext; 16400 VkDeviceSize minPlacedMemoryMapAlignment; 16401 } VkPhysicalDeviceMapMemoryPlacedPropertiesEXT; 16402 16403 typedef struct VkMemoryMapPlacedInfoEXT { 16404 VkStructureType sType; 16405 const void* pNext; 16406 void* pPlacedAddress; 16407 } VkMemoryMapPlacedInfoEXT; 16408 16409 16410 16411 // VK_EXT_shader_atomic_float2 is a preprocessor guard. Do not pass it to API calls. 16412 #define VK_EXT_shader_atomic_float2 1 16413 #define VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION 1 16414 #define VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME "VK_EXT_shader_atomic_float2" 16415 typedef struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT { 16416 VkStructureType sType; 16417 void* pNext; 16418 VkBool32 shaderBufferFloat16Atomics; 16419 VkBool32 shaderBufferFloat16AtomicAdd; 16420 VkBool32 shaderBufferFloat16AtomicMinMax; 16421 VkBool32 shaderBufferFloat32AtomicMinMax; 16422 VkBool32 shaderBufferFloat64AtomicMinMax; 16423 VkBool32 shaderSharedFloat16Atomics; 16424 VkBool32 shaderSharedFloat16AtomicAdd; 16425 VkBool32 shaderSharedFloat16AtomicMinMax; 16426 VkBool32 shaderSharedFloat32AtomicMinMax; 16427 VkBool32 shaderSharedFloat64AtomicMinMax; 16428 VkBool32 shaderImageFloat32AtomicMinMax; 16429 VkBool32 sparseImageFloat32AtomicMinMax; 16430 } VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT; 16431 16432 16433 16434 // VK_EXT_surface_maintenance1 is a preprocessor guard. Do not pass it to API calls. 16435 #define VK_EXT_surface_maintenance1 1 16436 #define VK_EXT_SURFACE_MAINTENANCE_1_SPEC_VERSION 1 16437 #define VK_EXT_SURFACE_MAINTENANCE_1_EXTENSION_NAME "VK_EXT_surface_maintenance1" 16438 16439 typedef enum VkPresentScalingFlagBitsEXT { 16440 VK_PRESENT_SCALING_ONE_TO_ONE_BIT_EXT = 0x00000001, 16441 VK_PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_EXT = 0x00000002, 16442 VK_PRESENT_SCALING_STRETCH_BIT_EXT = 0x00000004, 16443 VK_PRESENT_SCALING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 16444 } VkPresentScalingFlagBitsEXT; 16445 typedef VkFlags VkPresentScalingFlagsEXT; 16446 16447 typedef enum VkPresentGravityFlagBitsEXT { 16448 VK_PRESENT_GRAVITY_MIN_BIT_EXT = 0x00000001, 16449 VK_PRESENT_GRAVITY_MAX_BIT_EXT = 0x00000002, 16450 VK_PRESENT_GRAVITY_CENTERED_BIT_EXT = 0x00000004, 16451 VK_PRESENT_GRAVITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 16452 } VkPresentGravityFlagBitsEXT; 16453 typedef VkFlags VkPresentGravityFlagsEXT; 16454 typedef struct VkSurfacePresentModeEXT { 16455 VkStructureType sType; 16456 void* pNext; 16457 VkPresentModeKHR presentMode; 16458 } VkSurfacePresentModeEXT; 16459 16460 typedef struct VkSurfacePresentScalingCapabilitiesEXT { 16461 VkStructureType sType; 16462 void* pNext; 16463 VkPresentScalingFlagsEXT supportedPresentScaling; 16464 VkPresentGravityFlagsEXT supportedPresentGravityX; 16465 VkPresentGravityFlagsEXT supportedPresentGravityY; 16466 VkExtent2D minScaledImageExtent; 16467 VkExtent2D maxScaledImageExtent; 16468 } VkSurfacePresentScalingCapabilitiesEXT; 16469 16470 typedef struct VkSurfacePresentModeCompatibilityEXT { 16471 VkStructureType sType; 16472 void* pNext; 16473 uint32_t presentModeCount; 16474 VkPresentModeKHR* pPresentModes; 16475 } VkSurfacePresentModeCompatibilityEXT; 16476 16477 16478 16479 // VK_EXT_swapchain_maintenance1 is a preprocessor guard. Do not pass it to API calls. 16480 #define VK_EXT_swapchain_maintenance1 1 16481 #define VK_EXT_SWAPCHAIN_MAINTENANCE_1_SPEC_VERSION 1 16482 #define VK_EXT_SWAPCHAIN_MAINTENANCE_1_EXTENSION_NAME "VK_EXT_swapchain_maintenance1" 16483 typedef struct VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT { 16484 VkStructureType sType; 16485 void* pNext; 16486 VkBool32 swapchainMaintenance1; 16487 } VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT; 16488 16489 typedef struct VkSwapchainPresentFenceInfoEXT { 16490 VkStructureType sType; 16491 const void* pNext; 16492 uint32_t swapchainCount; 16493 const VkFence* pFences; 16494 } VkSwapchainPresentFenceInfoEXT; 16495 16496 typedef struct VkSwapchainPresentModesCreateInfoEXT { 16497 VkStructureType sType; 16498 const void* pNext; 16499 uint32_t presentModeCount; 16500 const VkPresentModeKHR* pPresentModes; 16501 } VkSwapchainPresentModesCreateInfoEXT; 16502 16503 typedef struct VkSwapchainPresentModeInfoEXT { 16504 VkStructureType sType; 16505 const void* pNext; 16506 uint32_t swapchainCount; 16507 const VkPresentModeKHR* pPresentModes; 16508 } VkSwapchainPresentModeInfoEXT; 16509 16510 typedef struct VkSwapchainPresentScalingCreateInfoEXT { 16511 VkStructureType sType; 16512 const void* pNext; 16513 VkPresentScalingFlagsEXT scalingBehavior; 16514 VkPresentGravityFlagsEXT presentGravityX; 16515 VkPresentGravityFlagsEXT presentGravityY; 16516 } VkSwapchainPresentScalingCreateInfoEXT; 16517 16518 typedef struct VkReleaseSwapchainImagesInfoEXT { 16519 VkStructureType sType; 16520 const void* pNext; 16521 VkSwapchainKHR swapchain; 16522 uint32_t imageIndexCount; 16523 const uint32_t* pImageIndices; 16524 } VkReleaseSwapchainImagesInfoEXT; 16525 16526 typedef VkResult (VKAPI_PTR *PFN_vkReleaseSwapchainImagesEXT)(VkDevice device, const VkReleaseSwapchainImagesInfoEXT* pReleaseInfo); 16527 16528 #ifndef VK_NO_PROTOTYPES 16529 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseSwapchainImagesEXT( 16530 VkDevice device, 16531 const VkReleaseSwapchainImagesInfoEXT* pReleaseInfo); 16532 #endif 16533 16534 16535 // VK_EXT_shader_demote_to_helper_invocation is a preprocessor guard. Do not pass it to API calls. 16536 #define VK_EXT_shader_demote_to_helper_invocation 1 16537 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1 16538 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation" 16539 typedef VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT; 16540 16541 16542 16543 // VK_NV_device_generated_commands is a preprocessor guard. Do not pass it to API calls. 16544 #define VK_NV_device_generated_commands 1 16545 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNV) 16546 #define VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3 16547 #define VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NV_device_generated_commands" 16548 16549 typedef enum VkIndirectCommandsTokenTypeNV { 16550 VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV = 0, 16551 VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV = 1, 16552 VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV = 2, 16553 VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV = 3, 16554 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV = 4, 16555 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV = 5, 16556 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6, 16557 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7, 16558 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV = 1000328000, 16559 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NV = 1000428003, 16560 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NV = 1000428004, 16561 VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 16562 } VkIndirectCommandsTokenTypeNV; 16563 16564 typedef enum VkIndirectStateFlagBitsNV { 16565 VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV = 0x00000001, 16566 VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 16567 } VkIndirectStateFlagBitsNV; 16568 typedef VkFlags VkIndirectStateFlagsNV; 16569 16570 typedef enum VkIndirectCommandsLayoutUsageFlagBitsNV { 16571 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV = 0x00000001, 16572 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV = 0x00000002, 16573 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV = 0x00000004, 16574 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 16575 } VkIndirectCommandsLayoutUsageFlagBitsNV; 16576 typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNV; 16577 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV { 16578 VkStructureType sType; 16579 void* pNext; 16580 uint32_t maxGraphicsShaderGroupCount; 16581 uint32_t maxIndirectSequenceCount; 16582 uint32_t maxIndirectCommandsTokenCount; 16583 uint32_t maxIndirectCommandsStreamCount; 16584 uint32_t maxIndirectCommandsTokenOffset; 16585 uint32_t maxIndirectCommandsStreamStride; 16586 uint32_t minSequencesCountBufferOffsetAlignment; 16587 uint32_t minSequencesIndexBufferOffsetAlignment; 16588 uint32_t minIndirectCommandsBufferOffsetAlignment; 16589 } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV; 16590 16591 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV { 16592 VkStructureType sType; 16593 void* pNext; 16594 VkBool32 deviceGeneratedCommands; 16595 } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV; 16596 16597 typedef struct VkGraphicsShaderGroupCreateInfoNV { 16598 VkStructureType sType; 16599 const void* pNext; 16600 uint32_t stageCount; 16601 const VkPipelineShaderStageCreateInfo* pStages; 16602 const VkPipelineVertexInputStateCreateInfo* pVertexInputState; 16603 const VkPipelineTessellationStateCreateInfo* pTessellationState; 16604 } VkGraphicsShaderGroupCreateInfoNV; 16605 16606 typedef struct VkGraphicsPipelineShaderGroupsCreateInfoNV { 16607 VkStructureType sType; 16608 const void* pNext; 16609 uint32_t groupCount; 16610 const VkGraphicsShaderGroupCreateInfoNV* pGroups; 16611 uint32_t pipelineCount; 16612 const VkPipeline* pPipelines; 16613 } VkGraphicsPipelineShaderGroupsCreateInfoNV; 16614 16615 typedef struct VkBindShaderGroupIndirectCommandNV { 16616 uint32_t groupIndex; 16617 } VkBindShaderGroupIndirectCommandNV; 16618 16619 typedef struct VkBindIndexBufferIndirectCommandNV { 16620 VkDeviceAddress bufferAddress; 16621 uint32_t size; 16622 VkIndexType indexType; 16623 } VkBindIndexBufferIndirectCommandNV; 16624 16625 typedef struct VkBindVertexBufferIndirectCommandNV { 16626 VkDeviceAddress bufferAddress; 16627 uint32_t size; 16628 uint32_t stride; 16629 } VkBindVertexBufferIndirectCommandNV; 16630 16631 typedef struct VkSetStateFlagsIndirectCommandNV { 16632 uint32_t data; 16633 } VkSetStateFlagsIndirectCommandNV; 16634 16635 typedef struct VkIndirectCommandsStreamNV { 16636 VkBuffer buffer; 16637 VkDeviceSize offset; 16638 } VkIndirectCommandsStreamNV; 16639 16640 typedef struct VkIndirectCommandsLayoutTokenNV { 16641 VkStructureType sType; 16642 const void* pNext; 16643 VkIndirectCommandsTokenTypeNV tokenType; 16644 uint32_t stream; 16645 uint32_t offset; 16646 uint32_t vertexBindingUnit; 16647 VkBool32 vertexDynamicStride; 16648 VkPipelineLayout pushconstantPipelineLayout; 16649 VkShaderStageFlags pushconstantShaderStageFlags; 16650 uint32_t pushconstantOffset; 16651 uint32_t pushconstantSize; 16652 VkIndirectStateFlagsNV indirectStateFlags; 16653 uint32_t indexTypeCount; 16654 const VkIndexType* pIndexTypes; 16655 const uint32_t* pIndexTypeValues; 16656 } VkIndirectCommandsLayoutTokenNV; 16657 16658 typedef struct VkIndirectCommandsLayoutCreateInfoNV { 16659 VkStructureType sType; 16660 const void* pNext; 16661 VkIndirectCommandsLayoutUsageFlagsNV flags; 16662 VkPipelineBindPoint pipelineBindPoint; 16663 uint32_t tokenCount; 16664 const VkIndirectCommandsLayoutTokenNV* pTokens; 16665 uint32_t streamCount; 16666 const uint32_t* pStreamStrides; 16667 } VkIndirectCommandsLayoutCreateInfoNV; 16668 16669 typedef struct VkGeneratedCommandsInfoNV { 16670 VkStructureType sType; 16671 const void* pNext; 16672 VkPipelineBindPoint pipelineBindPoint; 16673 VkPipeline pipeline; 16674 VkIndirectCommandsLayoutNV indirectCommandsLayout; 16675 uint32_t streamCount; 16676 const VkIndirectCommandsStreamNV* pStreams; 16677 uint32_t sequencesCount; 16678 VkBuffer preprocessBuffer; 16679 VkDeviceSize preprocessOffset; 16680 VkDeviceSize preprocessSize; 16681 VkBuffer sequencesCountBuffer; 16682 VkDeviceSize sequencesCountOffset; 16683 VkBuffer sequencesIndexBuffer; 16684 VkDeviceSize sequencesIndexOffset; 16685 } VkGeneratedCommandsInfoNV; 16686 16687 typedef struct VkGeneratedCommandsMemoryRequirementsInfoNV { 16688 VkStructureType sType; 16689 const void* pNext; 16690 VkPipelineBindPoint pipelineBindPoint; 16691 VkPipeline pipeline; 16692 VkIndirectCommandsLayoutNV indirectCommandsLayout; 16693 uint32_t maxSequencesCount; 16694 } VkGeneratedCommandsMemoryRequirementsInfoNV; 16695 16696 typedef void (VKAPI_PTR *PFN_vkGetGeneratedCommandsMemoryRequirementsNV)(VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements); 16697 typedef void (VKAPI_PTR *PFN_vkCmdPreprocessGeneratedCommandsNV)(VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); 16698 typedef void (VKAPI_PTR *PFN_vkCmdExecuteGeneratedCommandsNV)(VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); 16699 typedef void (VKAPI_PTR *PFN_vkCmdBindPipelineShaderGroupNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, uint32_t groupIndex); 16700 typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNV)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout); 16701 typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNV)(VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator); 16702 16703 #ifndef VK_NO_PROTOTYPES 16704 VKAPI_ATTR void VKAPI_CALL vkGetGeneratedCommandsMemoryRequirementsNV( 16705 VkDevice device, 16706 const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, 16707 VkMemoryRequirements2* pMemoryRequirements); 16708 16709 VKAPI_ATTR void VKAPI_CALL vkCmdPreprocessGeneratedCommandsNV( 16710 VkCommandBuffer commandBuffer, 16711 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); 16712 16713 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteGeneratedCommandsNV( 16714 VkCommandBuffer commandBuffer, 16715 VkBool32 isPreprocessed, 16716 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); 16717 16718 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipelineShaderGroupNV( 16719 VkCommandBuffer commandBuffer, 16720 VkPipelineBindPoint pipelineBindPoint, 16721 VkPipeline pipeline, 16722 uint32_t groupIndex); 16723 16724 VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNV( 16725 VkDevice device, 16726 const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, 16727 const VkAllocationCallbacks* pAllocator, 16728 VkIndirectCommandsLayoutNV* pIndirectCommandsLayout); 16729 16730 VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNV( 16731 VkDevice device, 16732 VkIndirectCommandsLayoutNV indirectCommandsLayout, 16733 const VkAllocationCallbacks* pAllocator); 16734 #endif 16735 16736 16737 // VK_NV_inherited_viewport_scissor is a preprocessor guard. Do not pass it to API calls. 16738 #define VK_NV_inherited_viewport_scissor 1 16739 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION 1 16740 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME "VK_NV_inherited_viewport_scissor" 16741 typedef struct VkPhysicalDeviceInheritedViewportScissorFeaturesNV { 16742 VkStructureType sType; 16743 void* pNext; 16744 VkBool32 inheritedViewportScissor2D; 16745 } VkPhysicalDeviceInheritedViewportScissorFeaturesNV; 16746 16747 typedef struct VkCommandBufferInheritanceViewportScissorInfoNV { 16748 VkStructureType sType; 16749 const void* pNext; 16750 VkBool32 viewportScissor2D; 16751 uint32_t viewportDepthCount; 16752 const VkViewport* pViewportDepths; 16753 } VkCommandBufferInheritanceViewportScissorInfoNV; 16754 16755 16756 16757 // VK_EXT_texel_buffer_alignment is a preprocessor guard. Do not pass it to API calls. 16758 #define VK_EXT_texel_buffer_alignment 1 16759 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1 16760 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment" 16761 typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT { 16762 VkStructureType sType; 16763 void* pNext; 16764 VkBool32 texelBufferAlignment; 16765 } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT; 16766 16767 typedef VkPhysicalDeviceTexelBufferAlignmentProperties VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT; 16768 16769 16770 16771 // VK_QCOM_render_pass_transform is a preprocessor guard. Do not pass it to API calls. 16772 #define VK_QCOM_render_pass_transform 1 16773 #define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 4 16774 #define VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME "VK_QCOM_render_pass_transform" 16775 typedef struct VkRenderPassTransformBeginInfoQCOM { 16776 VkStructureType sType; 16777 void* pNext; 16778 VkSurfaceTransformFlagBitsKHR transform; 16779 } VkRenderPassTransformBeginInfoQCOM; 16780 16781 typedef struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM { 16782 VkStructureType sType; 16783 void* pNext; 16784 VkSurfaceTransformFlagBitsKHR transform; 16785 VkRect2D renderArea; 16786 } VkCommandBufferInheritanceRenderPassTransformInfoQCOM; 16787 16788 16789 16790 // VK_EXT_depth_bias_control is a preprocessor guard. Do not pass it to API calls. 16791 #define VK_EXT_depth_bias_control 1 16792 #define VK_EXT_DEPTH_BIAS_CONTROL_SPEC_VERSION 1 16793 #define VK_EXT_DEPTH_BIAS_CONTROL_EXTENSION_NAME "VK_EXT_depth_bias_control" 16794 16795 typedef enum VkDepthBiasRepresentationEXT { 16796 VK_DEPTH_BIAS_REPRESENTATION_LEAST_REPRESENTABLE_VALUE_FORMAT_EXT = 0, 16797 VK_DEPTH_BIAS_REPRESENTATION_LEAST_REPRESENTABLE_VALUE_FORCE_UNORM_EXT = 1, 16798 VK_DEPTH_BIAS_REPRESENTATION_FLOAT_EXT = 2, 16799 VK_DEPTH_BIAS_REPRESENTATION_MAX_ENUM_EXT = 0x7FFFFFFF 16800 } VkDepthBiasRepresentationEXT; 16801 typedef struct VkPhysicalDeviceDepthBiasControlFeaturesEXT { 16802 VkStructureType sType; 16803 void* pNext; 16804 VkBool32 depthBiasControl; 16805 VkBool32 leastRepresentableValueForceUnormRepresentation; 16806 VkBool32 floatRepresentation; 16807 VkBool32 depthBiasExact; 16808 } VkPhysicalDeviceDepthBiasControlFeaturesEXT; 16809 16810 typedef struct VkDepthBiasInfoEXT { 16811 VkStructureType sType; 16812 const void* pNext; 16813 float depthBiasConstantFactor; 16814 float depthBiasClamp; 16815 float depthBiasSlopeFactor; 16816 } VkDepthBiasInfoEXT; 16817 16818 typedef struct VkDepthBiasRepresentationInfoEXT { 16819 VkStructureType sType; 16820 const void* pNext; 16821 VkDepthBiasRepresentationEXT depthBiasRepresentation; 16822 VkBool32 depthBiasExact; 16823 } VkDepthBiasRepresentationInfoEXT; 16824 16825 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias2EXT)(VkCommandBuffer commandBuffer, const VkDepthBiasInfoEXT* pDepthBiasInfo); 16826 16827 #ifndef VK_NO_PROTOTYPES 16828 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias2EXT( 16829 VkCommandBuffer commandBuffer, 16830 const VkDepthBiasInfoEXT* pDepthBiasInfo); 16831 #endif 16832 16833 16834 // VK_EXT_device_memory_report is a preprocessor guard. Do not pass it to API calls. 16835 #define VK_EXT_device_memory_report 1 16836 #define VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION 2 16837 #define VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME "VK_EXT_device_memory_report" 16838 16839 typedef enum VkDeviceMemoryReportEventTypeEXT { 16840 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT = 0, 16841 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT = 1, 16842 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT = 2, 16843 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT = 3, 16844 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT = 4, 16845 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 16846 } VkDeviceMemoryReportEventTypeEXT; 16847 typedef VkFlags VkDeviceMemoryReportFlagsEXT; 16848 typedef struct VkPhysicalDeviceDeviceMemoryReportFeaturesEXT { 16849 VkStructureType sType; 16850 void* pNext; 16851 VkBool32 deviceMemoryReport; 16852 } VkPhysicalDeviceDeviceMemoryReportFeaturesEXT; 16853 16854 typedef struct VkDeviceMemoryReportCallbackDataEXT { 16855 VkStructureType sType; 16856 void* pNext; 16857 VkDeviceMemoryReportFlagsEXT flags; 16858 VkDeviceMemoryReportEventTypeEXT type; 16859 uint64_t memoryObjectId; 16860 VkDeviceSize size; 16861 VkObjectType objectType; 16862 uint64_t objectHandle; 16863 uint32_t heapIndex; 16864 } VkDeviceMemoryReportCallbackDataEXT; 16865 16866 typedef void (VKAPI_PTR *PFN_vkDeviceMemoryReportCallbackEXT)( 16867 const VkDeviceMemoryReportCallbackDataEXT* pCallbackData, 16868 void* pUserData); 16869 16870 typedef struct VkDeviceDeviceMemoryReportCreateInfoEXT { 16871 VkStructureType sType; 16872 const void* pNext; 16873 VkDeviceMemoryReportFlagsEXT flags; 16874 PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback; 16875 void* pUserData; 16876 } VkDeviceDeviceMemoryReportCreateInfoEXT; 16877 16878 16879 16880 // VK_EXT_acquire_drm_display is a preprocessor guard. Do not pass it to API calls. 16881 #define VK_EXT_acquire_drm_display 1 16882 #define VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION 1 16883 #define VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME "VK_EXT_acquire_drm_display" 16884 typedef VkResult (VKAPI_PTR *PFN_vkAcquireDrmDisplayEXT)(VkPhysicalDevice physicalDevice, int32_t drmFd, VkDisplayKHR display); 16885 typedef VkResult (VKAPI_PTR *PFN_vkGetDrmDisplayEXT)(VkPhysicalDevice physicalDevice, int32_t drmFd, uint32_t connectorId, VkDisplayKHR* display); 16886 16887 #ifndef VK_NO_PROTOTYPES 16888 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireDrmDisplayEXT( 16889 VkPhysicalDevice physicalDevice, 16890 int32_t drmFd, 16891 VkDisplayKHR display); 16892 16893 VKAPI_ATTR VkResult VKAPI_CALL vkGetDrmDisplayEXT( 16894 VkPhysicalDevice physicalDevice, 16895 int32_t drmFd, 16896 uint32_t connectorId, 16897 VkDisplayKHR* display); 16898 #endif 16899 16900 16901 // VK_EXT_robustness2 is a preprocessor guard. Do not pass it to API calls. 16902 #define VK_EXT_robustness2 1 16903 #define VK_EXT_ROBUSTNESS_2_SPEC_VERSION 1 16904 #define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2" 16905 typedef struct VkPhysicalDeviceRobustness2FeaturesEXT { 16906 VkStructureType sType; 16907 void* pNext; 16908 VkBool32 robustBufferAccess2; 16909 VkBool32 robustImageAccess2; 16910 VkBool32 nullDescriptor; 16911 } VkPhysicalDeviceRobustness2FeaturesEXT; 16912 16913 typedef struct VkPhysicalDeviceRobustness2PropertiesEXT { 16914 VkStructureType sType; 16915 void* pNext; 16916 VkDeviceSize robustStorageBufferAccessSizeAlignment; 16917 VkDeviceSize robustUniformBufferAccessSizeAlignment; 16918 } VkPhysicalDeviceRobustness2PropertiesEXT; 16919 16920 16921 16922 // VK_EXT_custom_border_color is a preprocessor guard. Do not pass it to API calls. 16923 #define VK_EXT_custom_border_color 1 16924 #define VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION 12 16925 #define VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME "VK_EXT_custom_border_color" 16926 typedef struct VkSamplerCustomBorderColorCreateInfoEXT { 16927 VkStructureType sType; 16928 const void* pNext; 16929 VkClearColorValue customBorderColor; 16930 VkFormat format; 16931 } VkSamplerCustomBorderColorCreateInfoEXT; 16932 16933 typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT { 16934 VkStructureType sType; 16935 void* pNext; 16936 uint32_t maxCustomBorderColorSamplers; 16937 } VkPhysicalDeviceCustomBorderColorPropertiesEXT; 16938 16939 typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT { 16940 VkStructureType sType; 16941 void* pNext; 16942 VkBool32 customBorderColors; 16943 VkBool32 customBorderColorWithoutFormat; 16944 } VkPhysicalDeviceCustomBorderColorFeaturesEXT; 16945 16946 16947 16948 // VK_GOOGLE_user_type is a preprocessor guard. Do not pass it to API calls. 16949 #define VK_GOOGLE_user_type 1 16950 #define VK_GOOGLE_USER_TYPE_SPEC_VERSION 1 16951 #define VK_GOOGLE_USER_TYPE_EXTENSION_NAME "VK_GOOGLE_user_type" 16952 16953 16954 // VK_NV_present_barrier is a preprocessor guard. Do not pass it to API calls. 16955 #define VK_NV_present_barrier 1 16956 #define VK_NV_PRESENT_BARRIER_SPEC_VERSION 1 16957 #define VK_NV_PRESENT_BARRIER_EXTENSION_NAME "VK_NV_present_barrier" 16958 typedef struct VkPhysicalDevicePresentBarrierFeaturesNV { 16959 VkStructureType sType; 16960 void* pNext; 16961 VkBool32 presentBarrier; 16962 } VkPhysicalDevicePresentBarrierFeaturesNV; 16963 16964 typedef struct VkSurfaceCapabilitiesPresentBarrierNV { 16965 VkStructureType sType; 16966 void* pNext; 16967 VkBool32 presentBarrierSupported; 16968 } VkSurfaceCapabilitiesPresentBarrierNV; 16969 16970 typedef struct VkSwapchainPresentBarrierCreateInfoNV { 16971 VkStructureType sType; 16972 void* pNext; 16973 VkBool32 presentBarrierEnable; 16974 } VkSwapchainPresentBarrierCreateInfoNV; 16975 16976 16977 16978 // VK_EXT_private_data is a preprocessor guard. Do not pass it to API calls. 16979 #define VK_EXT_private_data 1 16980 typedef VkPrivateDataSlot VkPrivateDataSlotEXT; 16981 16982 #define VK_EXT_PRIVATE_DATA_SPEC_VERSION 1 16983 #define VK_EXT_PRIVATE_DATA_EXTENSION_NAME "VK_EXT_private_data" 16984 typedef VkPrivateDataSlotCreateFlags VkPrivateDataSlotCreateFlagsEXT; 16985 16986 typedef VkPhysicalDevicePrivateDataFeatures VkPhysicalDevicePrivateDataFeaturesEXT; 16987 16988 typedef VkDevicePrivateDataCreateInfo VkDevicePrivateDataCreateInfoEXT; 16989 16990 typedef VkPrivateDataSlotCreateInfo VkPrivateDataSlotCreateInfoEXT; 16991 16992 typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlotEXT)(VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot); 16993 typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlotEXT)(VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator); 16994 typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateDataEXT)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data); 16995 typedef void (VKAPI_PTR *PFN_vkGetPrivateDataEXT)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t* pData); 16996 16997 #ifndef VK_NO_PROTOTYPES 16998 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlotEXT( 16999 VkDevice device, 17000 const VkPrivateDataSlotCreateInfo* pCreateInfo, 17001 const VkAllocationCallbacks* pAllocator, 17002 VkPrivateDataSlot* pPrivateDataSlot); 17003 17004 VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlotEXT( 17005 VkDevice device, 17006 VkPrivateDataSlot privateDataSlot, 17007 const VkAllocationCallbacks* pAllocator); 17008 17009 VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateDataEXT( 17010 VkDevice device, 17011 VkObjectType objectType, 17012 uint64_t objectHandle, 17013 VkPrivateDataSlot privateDataSlot, 17014 uint64_t data); 17015 17016 VKAPI_ATTR void VKAPI_CALL vkGetPrivateDataEXT( 17017 VkDevice device, 17018 VkObjectType objectType, 17019 uint64_t objectHandle, 17020 VkPrivateDataSlot privateDataSlot, 17021 uint64_t* pData); 17022 #endif 17023 17024 17025 // VK_EXT_pipeline_creation_cache_control is a preprocessor guard. Do not pass it to API calls. 17026 #define VK_EXT_pipeline_creation_cache_control 1 17027 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION 3 17028 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME "VK_EXT_pipeline_creation_cache_control" 17029 typedef VkPhysicalDevicePipelineCreationCacheControlFeatures VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT; 17030 17031 17032 17033 // VK_NV_device_diagnostics_config is a preprocessor guard. Do not pass it to API calls. 17034 #define VK_NV_device_diagnostics_config 1 17035 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 2 17036 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME "VK_NV_device_diagnostics_config" 17037 17038 typedef enum VkDeviceDiagnosticsConfigFlagBitsNV { 17039 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 0x00000001, 17040 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV = 0x00000002, 17041 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV = 0x00000004, 17042 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_ERROR_REPORTING_BIT_NV = 0x00000008, 17043 VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 17044 } VkDeviceDiagnosticsConfigFlagBitsNV; 17045 typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV; 17046 typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV { 17047 VkStructureType sType; 17048 void* pNext; 17049 VkBool32 diagnosticsConfig; 17050 } VkPhysicalDeviceDiagnosticsConfigFeaturesNV; 17051 17052 typedef struct VkDeviceDiagnosticsConfigCreateInfoNV { 17053 VkStructureType sType; 17054 const void* pNext; 17055 VkDeviceDiagnosticsConfigFlagsNV flags; 17056 } VkDeviceDiagnosticsConfigCreateInfoNV; 17057 17058 17059 17060 // VK_QCOM_render_pass_store_ops is a preprocessor guard. Do not pass it to API calls. 17061 #define VK_QCOM_render_pass_store_ops 1 17062 #define VK_QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION 2 17063 #define VK_QCOM_RENDER_PASS_STORE_OPS_EXTENSION_NAME "VK_QCOM_render_pass_store_ops" 17064 17065 17066 // VK_NV_cuda_kernel_launch is a preprocessor guard. Do not pass it to API calls. 17067 #define VK_NV_cuda_kernel_launch 1 17068 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCudaModuleNV) 17069 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCudaFunctionNV) 17070 #define VK_NV_CUDA_KERNEL_LAUNCH_SPEC_VERSION 2 17071 #define VK_NV_CUDA_KERNEL_LAUNCH_EXTENSION_NAME "VK_NV_cuda_kernel_launch" 17072 typedef struct VkCudaModuleCreateInfoNV { 17073 VkStructureType sType; 17074 const void* pNext; 17075 size_t dataSize; 17076 const void* pData; 17077 } VkCudaModuleCreateInfoNV; 17078 17079 typedef struct VkCudaFunctionCreateInfoNV { 17080 VkStructureType sType; 17081 const void* pNext; 17082 VkCudaModuleNV module; 17083 const char* pName; 17084 } VkCudaFunctionCreateInfoNV; 17085 17086 typedef struct VkCudaLaunchInfoNV { 17087 VkStructureType sType; 17088 const void* pNext; 17089 VkCudaFunctionNV function; 17090 uint32_t gridDimX; 17091 uint32_t gridDimY; 17092 uint32_t gridDimZ; 17093 uint32_t blockDimX; 17094 uint32_t blockDimY; 17095 uint32_t blockDimZ; 17096 uint32_t sharedMemBytes; 17097 size_t paramCount; 17098 const void* const * pParams; 17099 size_t extraCount; 17100 const void* const * pExtras; 17101 } VkCudaLaunchInfoNV; 17102 17103 typedef struct VkPhysicalDeviceCudaKernelLaunchFeaturesNV { 17104 VkStructureType sType; 17105 void* pNext; 17106 VkBool32 cudaKernelLaunchFeatures; 17107 } VkPhysicalDeviceCudaKernelLaunchFeaturesNV; 17108 17109 typedef struct VkPhysicalDeviceCudaKernelLaunchPropertiesNV { 17110 VkStructureType sType; 17111 void* pNext; 17112 uint32_t computeCapabilityMinor; 17113 uint32_t computeCapabilityMajor; 17114 } VkPhysicalDeviceCudaKernelLaunchPropertiesNV; 17115 17116 typedef VkResult (VKAPI_PTR *PFN_vkCreateCudaModuleNV)(VkDevice device, const VkCudaModuleCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCudaModuleNV* pModule); 17117 typedef VkResult (VKAPI_PTR *PFN_vkGetCudaModuleCacheNV)(VkDevice device, VkCudaModuleNV module, size_t* pCacheSize, void* pCacheData); 17118 typedef VkResult (VKAPI_PTR *PFN_vkCreateCudaFunctionNV)(VkDevice device, const VkCudaFunctionCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCudaFunctionNV* pFunction); 17119 typedef void (VKAPI_PTR *PFN_vkDestroyCudaModuleNV)(VkDevice device, VkCudaModuleNV module, const VkAllocationCallbacks* pAllocator); 17120 typedef void (VKAPI_PTR *PFN_vkDestroyCudaFunctionNV)(VkDevice device, VkCudaFunctionNV function, const VkAllocationCallbacks* pAllocator); 17121 typedef void (VKAPI_PTR *PFN_vkCmdCudaLaunchKernelNV)(VkCommandBuffer commandBuffer, const VkCudaLaunchInfoNV* pLaunchInfo); 17122 17123 #ifndef VK_NO_PROTOTYPES 17124 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCudaModuleNV( 17125 VkDevice device, 17126 const VkCudaModuleCreateInfoNV* pCreateInfo, 17127 const VkAllocationCallbacks* pAllocator, 17128 VkCudaModuleNV* pModule); 17129 17130 VKAPI_ATTR VkResult VKAPI_CALL vkGetCudaModuleCacheNV( 17131 VkDevice device, 17132 VkCudaModuleNV module, 17133 size_t* pCacheSize, 17134 void* pCacheData); 17135 17136 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCudaFunctionNV( 17137 VkDevice device, 17138 const VkCudaFunctionCreateInfoNV* pCreateInfo, 17139 const VkAllocationCallbacks* pAllocator, 17140 VkCudaFunctionNV* pFunction); 17141 17142 VKAPI_ATTR void VKAPI_CALL vkDestroyCudaModuleNV( 17143 VkDevice device, 17144 VkCudaModuleNV module, 17145 const VkAllocationCallbacks* pAllocator); 17146 17147 VKAPI_ATTR void VKAPI_CALL vkDestroyCudaFunctionNV( 17148 VkDevice device, 17149 VkCudaFunctionNV function, 17150 const VkAllocationCallbacks* pAllocator); 17151 17152 VKAPI_ATTR void VKAPI_CALL vkCmdCudaLaunchKernelNV( 17153 VkCommandBuffer commandBuffer, 17154 const VkCudaLaunchInfoNV* pLaunchInfo); 17155 #endif 17156 17157 17158 // VK_NV_low_latency is a preprocessor guard. Do not pass it to API calls. 17159 #define VK_NV_low_latency 1 17160 #define VK_NV_LOW_LATENCY_SPEC_VERSION 1 17161 #define VK_NV_LOW_LATENCY_EXTENSION_NAME "VK_NV_low_latency" 17162 typedef struct VkQueryLowLatencySupportNV { 17163 VkStructureType sType; 17164 const void* pNext; 17165 void* pQueriedLowLatencyData; 17166 } VkQueryLowLatencySupportNV; 17167 17168 17169 17170 // VK_EXT_descriptor_buffer is a preprocessor guard. Do not pass it to API calls. 17171 #define VK_EXT_descriptor_buffer 1 17172 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR) 17173 #define VK_EXT_DESCRIPTOR_BUFFER_SPEC_VERSION 1 17174 #define VK_EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME "VK_EXT_descriptor_buffer" 17175 typedef struct VkPhysicalDeviceDescriptorBufferPropertiesEXT { 17176 VkStructureType sType; 17177 void* pNext; 17178 VkBool32 combinedImageSamplerDescriptorSingleArray; 17179 VkBool32 bufferlessPushDescriptors; 17180 VkBool32 allowSamplerImageViewPostSubmitCreation; 17181 VkDeviceSize descriptorBufferOffsetAlignment; 17182 uint32_t maxDescriptorBufferBindings; 17183 uint32_t maxResourceDescriptorBufferBindings; 17184 uint32_t maxSamplerDescriptorBufferBindings; 17185 uint32_t maxEmbeddedImmutableSamplerBindings; 17186 uint32_t maxEmbeddedImmutableSamplers; 17187 size_t bufferCaptureReplayDescriptorDataSize; 17188 size_t imageCaptureReplayDescriptorDataSize; 17189 size_t imageViewCaptureReplayDescriptorDataSize; 17190 size_t samplerCaptureReplayDescriptorDataSize; 17191 size_t accelerationStructureCaptureReplayDescriptorDataSize; 17192 size_t samplerDescriptorSize; 17193 size_t combinedImageSamplerDescriptorSize; 17194 size_t sampledImageDescriptorSize; 17195 size_t storageImageDescriptorSize; 17196 size_t uniformTexelBufferDescriptorSize; 17197 size_t robustUniformTexelBufferDescriptorSize; 17198 size_t storageTexelBufferDescriptorSize; 17199 size_t robustStorageTexelBufferDescriptorSize; 17200 size_t uniformBufferDescriptorSize; 17201 size_t robustUniformBufferDescriptorSize; 17202 size_t storageBufferDescriptorSize; 17203 size_t robustStorageBufferDescriptorSize; 17204 size_t inputAttachmentDescriptorSize; 17205 size_t accelerationStructureDescriptorSize; 17206 VkDeviceSize maxSamplerDescriptorBufferRange; 17207 VkDeviceSize maxResourceDescriptorBufferRange; 17208 VkDeviceSize samplerDescriptorBufferAddressSpaceSize; 17209 VkDeviceSize resourceDescriptorBufferAddressSpaceSize; 17210 VkDeviceSize descriptorBufferAddressSpaceSize; 17211 } VkPhysicalDeviceDescriptorBufferPropertiesEXT; 17212 17213 typedef struct VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT { 17214 VkStructureType sType; 17215 void* pNext; 17216 size_t combinedImageSamplerDensityMapDescriptorSize; 17217 } VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT; 17218 17219 typedef struct VkPhysicalDeviceDescriptorBufferFeaturesEXT { 17220 VkStructureType sType; 17221 void* pNext; 17222 VkBool32 descriptorBuffer; 17223 VkBool32 descriptorBufferCaptureReplay; 17224 VkBool32 descriptorBufferImageLayoutIgnored; 17225 VkBool32 descriptorBufferPushDescriptors; 17226 } VkPhysicalDeviceDescriptorBufferFeaturesEXT; 17227 17228 typedef struct VkDescriptorAddressInfoEXT { 17229 VkStructureType sType; 17230 void* pNext; 17231 VkDeviceAddress address; 17232 VkDeviceSize range; 17233 VkFormat format; 17234 } VkDescriptorAddressInfoEXT; 17235 17236 typedef struct VkDescriptorBufferBindingInfoEXT { 17237 VkStructureType sType; 17238 const void* pNext; 17239 VkDeviceAddress address; 17240 VkBufferUsageFlags usage; 17241 } VkDescriptorBufferBindingInfoEXT; 17242 17243 typedef struct VkDescriptorBufferBindingPushDescriptorBufferHandleEXT { 17244 VkStructureType sType; 17245 const void* pNext; 17246 VkBuffer buffer; 17247 } VkDescriptorBufferBindingPushDescriptorBufferHandleEXT; 17248 17249 typedef union VkDescriptorDataEXT { 17250 const VkSampler* pSampler; 17251 const VkDescriptorImageInfo* pCombinedImageSampler; 17252 const VkDescriptorImageInfo* pInputAttachmentImage; 17253 const VkDescriptorImageInfo* pSampledImage; 17254 const VkDescriptorImageInfo* pStorageImage; 17255 const VkDescriptorAddressInfoEXT* pUniformTexelBuffer; 17256 const VkDescriptorAddressInfoEXT* pStorageTexelBuffer; 17257 const VkDescriptorAddressInfoEXT* pUniformBuffer; 17258 const VkDescriptorAddressInfoEXT* pStorageBuffer; 17259 VkDeviceAddress accelerationStructure; 17260 } VkDescriptorDataEXT; 17261 17262 typedef struct VkDescriptorGetInfoEXT { 17263 VkStructureType sType; 17264 const void* pNext; 17265 VkDescriptorType type; 17266 VkDescriptorDataEXT data; 17267 } VkDescriptorGetInfoEXT; 17268 17269 typedef struct VkBufferCaptureDescriptorDataInfoEXT { 17270 VkStructureType sType; 17271 const void* pNext; 17272 VkBuffer buffer; 17273 } VkBufferCaptureDescriptorDataInfoEXT; 17274 17275 typedef struct VkImageCaptureDescriptorDataInfoEXT { 17276 VkStructureType sType; 17277 const void* pNext; 17278 VkImage image; 17279 } VkImageCaptureDescriptorDataInfoEXT; 17280 17281 typedef struct VkImageViewCaptureDescriptorDataInfoEXT { 17282 VkStructureType sType; 17283 const void* pNext; 17284 VkImageView imageView; 17285 } VkImageViewCaptureDescriptorDataInfoEXT; 17286 17287 typedef struct VkSamplerCaptureDescriptorDataInfoEXT { 17288 VkStructureType sType; 17289 const void* pNext; 17290 VkSampler sampler; 17291 } VkSamplerCaptureDescriptorDataInfoEXT; 17292 17293 typedef struct VkOpaqueCaptureDescriptorDataCreateInfoEXT { 17294 VkStructureType sType; 17295 const void* pNext; 17296 const void* opaqueCaptureDescriptorData; 17297 } VkOpaqueCaptureDescriptorDataCreateInfoEXT; 17298 17299 typedef struct VkAccelerationStructureCaptureDescriptorDataInfoEXT { 17300 VkStructureType sType; 17301 const void* pNext; 17302 VkAccelerationStructureKHR accelerationStructure; 17303 VkAccelerationStructureNV accelerationStructureNV; 17304 } VkAccelerationStructureCaptureDescriptorDataInfoEXT; 17305 17306 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSizeEXT)(VkDevice device, VkDescriptorSetLayout layout, VkDeviceSize* pLayoutSizeInBytes); 17307 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutBindingOffsetEXT)(VkDevice device, VkDescriptorSetLayout layout, uint32_t binding, VkDeviceSize* pOffset); 17308 typedef void (VKAPI_PTR *PFN_vkGetDescriptorEXT)(VkDevice device, const VkDescriptorGetInfoEXT* pDescriptorInfo, size_t dataSize, void* pDescriptor); 17309 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorBuffersEXT)(VkCommandBuffer commandBuffer, uint32_t bufferCount, const VkDescriptorBufferBindingInfoEXT* pBindingInfos); 17310 typedef void (VKAPI_PTR *PFN_vkCmdSetDescriptorBufferOffsetsEXT)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t setCount, const uint32_t* pBufferIndices, const VkDeviceSize* pOffsets); 17311 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set); 17312 typedef VkResult (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkBufferCaptureDescriptorDataInfoEXT* pInfo, void* pData); 17313 typedef VkResult (VKAPI_PTR *PFN_vkGetImageOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkImageCaptureDescriptorDataInfoEXT* pInfo, void* pData); 17314 typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkImageViewCaptureDescriptorDataInfoEXT* pInfo, void* pData); 17315 typedef VkResult (VKAPI_PTR *PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkSamplerCaptureDescriptorDataInfoEXT* pInfo, void* pData); 17316 typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkAccelerationStructureCaptureDescriptorDataInfoEXT* pInfo, void* pData); 17317 17318 #ifndef VK_NO_PROTOTYPES 17319 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSizeEXT( 17320 VkDevice device, 17321 VkDescriptorSetLayout layout, 17322 VkDeviceSize* pLayoutSizeInBytes); 17323 17324 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutBindingOffsetEXT( 17325 VkDevice device, 17326 VkDescriptorSetLayout layout, 17327 uint32_t binding, 17328 VkDeviceSize* pOffset); 17329 17330 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorEXT( 17331 VkDevice device, 17332 const VkDescriptorGetInfoEXT* pDescriptorInfo, 17333 size_t dataSize, 17334 void* pDescriptor); 17335 17336 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorBuffersEXT( 17337 VkCommandBuffer commandBuffer, 17338 uint32_t bufferCount, 17339 const VkDescriptorBufferBindingInfoEXT* pBindingInfos); 17340 17341 VKAPI_ATTR void VKAPI_CALL vkCmdSetDescriptorBufferOffsetsEXT( 17342 VkCommandBuffer commandBuffer, 17343 VkPipelineBindPoint pipelineBindPoint, 17344 VkPipelineLayout layout, 17345 uint32_t firstSet, 17346 uint32_t setCount, 17347 const uint32_t* pBufferIndices, 17348 const VkDeviceSize* pOffsets); 17349 17350 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorBufferEmbeddedSamplersEXT( 17351 VkCommandBuffer commandBuffer, 17352 VkPipelineBindPoint pipelineBindPoint, 17353 VkPipelineLayout layout, 17354 uint32_t set); 17355 17356 VKAPI_ATTR VkResult VKAPI_CALL vkGetBufferOpaqueCaptureDescriptorDataEXT( 17357 VkDevice device, 17358 const VkBufferCaptureDescriptorDataInfoEXT* pInfo, 17359 void* pData); 17360 17361 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageOpaqueCaptureDescriptorDataEXT( 17362 VkDevice device, 17363 const VkImageCaptureDescriptorDataInfoEXT* pInfo, 17364 void* pData); 17365 17366 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewOpaqueCaptureDescriptorDataEXT( 17367 VkDevice device, 17368 const VkImageViewCaptureDescriptorDataInfoEXT* pInfo, 17369 void* pData); 17370 17371 VKAPI_ATTR VkResult VKAPI_CALL vkGetSamplerOpaqueCaptureDescriptorDataEXT( 17372 VkDevice device, 17373 const VkSamplerCaptureDescriptorDataInfoEXT* pInfo, 17374 void* pData); 17375 17376 VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT( 17377 VkDevice device, 17378 const VkAccelerationStructureCaptureDescriptorDataInfoEXT* pInfo, 17379 void* pData); 17380 #endif 17381 17382 17383 // VK_EXT_graphics_pipeline_library is a preprocessor guard. Do not pass it to API calls. 17384 #define VK_EXT_graphics_pipeline_library 1 17385 #define VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION 1 17386 #define VK_EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME "VK_EXT_graphics_pipeline_library" 17387 17388 typedef enum VkGraphicsPipelineLibraryFlagBitsEXT { 17389 VK_GRAPHICS_PIPELINE_LIBRARY_VERTEX_INPUT_INTERFACE_BIT_EXT = 0x00000001, 17390 VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT = 0x00000002, 17391 VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT = 0x00000004, 17392 VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT = 0x00000008, 17393 VK_GRAPHICS_PIPELINE_LIBRARY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 17394 } VkGraphicsPipelineLibraryFlagBitsEXT; 17395 typedef VkFlags VkGraphicsPipelineLibraryFlagsEXT; 17396 typedef struct VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT { 17397 VkStructureType sType; 17398 void* pNext; 17399 VkBool32 graphicsPipelineLibrary; 17400 } VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT; 17401 17402 typedef struct VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT { 17403 VkStructureType sType; 17404 void* pNext; 17405 VkBool32 graphicsPipelineLibraryFastLinking; 17406 VkBool32 graphicsPipelineLibraryIndependentInterpolationDecoration; 17407 } VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT; 17408 17409 typedef struct VkGraphicsPipelineLibraryCreateInfoEXT { 17410 VkStructureType sType; 17411 const void* pNext; 17412 VkGraphicsPipelineLibraryFlagsEXT flags; 17413 } VkGraphicsPipelineLibraryCreateInfoEXT; 17414 17415 17416 17417 // VK_AMD_shader_early_and_late_fragment_tests is a preprocessor guard. Do not pass it to API calls. 17418 #define VK_AMD_shader_early_and_late_fragment_tests 1 17419 #define VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_SPEC_VERSION 1 17420 #define VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_EXTENSION_NAME "VK_AMD_shader_early_and_late_fragment_tests" 17421 typedef struct VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD { 17422 VkStructureType sType; 17423 void* pNext; 17424 VkBool32 shaderEarlyAndLateFragmentTests; 17425 } VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD; 17426 17427 17428 17429 // VK_NV_fragment_shading_rate_enums is a preprocessor guard. Do not pass it to API calls. 17430 #define VK_NV_fragment_shading_rate_enums 1 17431 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION 1 17432 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums" 17433 17434 typedef enum VkFragmentShadingRateTypeNV { 17435 VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV = 0, 17436 VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV = 1, 17437 VK_FRAGMENT_SHADING_RATE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 17438 } VkFragmentShadingRateTypeNV; 17439 17440 typedef enum VkFragmentShadingRateNV { 17441 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0, 17442 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 1, 17443 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 4, 17444 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 5, 17445 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 6, 17446 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 9, 17447 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 10, 17448 VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 11, 17449 VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 12, 17450 VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 13, 17451 VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 14, 17452 VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV = 15, 17453 VK_FRAGMENT_SHADING_RATE_MAX_ENUM_NV = 0x7FFFFFFF 17454 } VkFragmentShadingRateNV; 17455 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV { 17456 VkStructureType sType; 17457 void* pNext; 17458 VkBool32 fragmentShadingRateEnums; 17459 VkBool32 supersampleFragmentShadingRates; 17460 VkBool32 noInvocationFragmentShadingRates; 17461 } VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV; 17462 17463 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV { 17464 VkStructureType sType; 17465 void* pNext; 17466 VkSampleCountFlagBits maxFragmentShadingRateInvocationCount; 17467 } VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV; 17468 17469 typedef struct VkPipelineFragmentShadingRateEnumStateCreateInfoNV { 17470 VkStructureType sType; 17471 const void* pNext; 17472 VkFragmentShadingRateTypeNV shadingRateType; 17473 VkFragmentShadingRateNV shadingRate; 17474 VkFragmentShadingRateCombinerOpKHR combinerOps[2]; 17475 } VkPipelineFragmentShadingRateEnumStateCreateInfoNV; 17476 17477 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateEnumNV)(VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); 17478 17479 #ifndef VK_NO_PROTOTYPES 17480 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateEnumNV( 17481 VkCommandBuffer commandBuffer, 17482 VkFragmentShadingRateNV shadingRate, 17483 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); 17484 #endif 17485 17486 17487 // VK_NV_ray_tracing_motion_blur is a preprocessor guard. Do not pass it to API calls. 17488 #define VK_NV_ray_tracing_motion_blur 1 17489 #define VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION 1 17490 #define VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME "VK_NV_ray_tracing_motion_blur" 17491 17492 typedef enum VkAccelerationStructureMotionInstanceTypeNV { 17493 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV = 0, 17494 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV = 1, 17495 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV = 2, 17496 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 17497 } VkAccelerationStructureMotionInstanceTypeNV; 17498 typedef VkFlags VkAccelerationStructureMotionInfoFlagsNV; 17499 typedef VkFlags VkAccelerationStructureMotionInstanceFlagsNV; 17500 typedef union VkDeviceOrHostAddressConstKHR { 17501 VkDeviceAddress deviceAddress; 17502 const void* hostAddress; 17503 } VkDeviceOrHostAddressConstKHR; 17504 17505 typedef struct VkAccelerationStructureGeometryMotionTrianglesDataNV { 17506 VkStructureType sType; 17507 const void* pNext; 17508 VkDeviceOrHostAddressConstKHR vertexData; 17509 } VkAccelerationStructureGeometryMotionTrianglesDataNV; 17510 17511 typedef struct VkAccelerationStructureMotionInfoNV { 17512 VkStructureType sType; 17513 const void* pNext; 17514 uint32_t maxInstances; 17515 VkAccelerationStructureMotionInfoFlagsNV flags; 17516 } VkAccelerationStructureMotionInfoNV; 17517 17518 typedef struct VkAccelerationStructureMatrixMotionInstanceNV { 17519 VkTransformMatrixKHR transformT0; 17520 VkTransformMatrixKHR transformT1; 17521 uint32_t instanceCustomIndex:24; 17522 uint32_t mask:8; 17523 uint32_t instanceShaderBindingTableRecordOffset:24; 17524 VkGeometryInstanceFlagsKHR flags:8; 17525 uint64_t accelerationStructureReference; 17526 } VkAccelerationStructureMatrixMotionInstanceNV; 17527 17528 typedef struct VkSRTDataNV { 17529 float sx; 17530 float a; 17531 float b; 17532 float pvx; 17533 float sy; 17534 float c; 17535 float pvy; 17536 float sz; 17537 float pvz; 17538 float qx; 17539 float qy; 17540 float qz; 17541 float qw; 17542 float tx; 17543 float ty; 17544 float tz; 17545 } VkSRTDataNV; 17546 17547 typedef struct VkAccelerationStructureSRTMotionInstanceNV { 17548 VkSRTDataNV transformT0; 17549 VkSRTDataNV transformT1; 17550 uint32_t instanceCustomIndex:24; 17551 uint32_t mask:8; 17552 uint32_t instanceShaderBindingTableRecordOffset:24; 17553 VkGeometryInstanceFlagsKHR flags:8; 17554 uint64_t accelerationStructureReference; 17555 } VkAccelerationStructureSRTMotionInstanceNV; 17556 17557 typedef union VkAccelerationStructureMotionInstanceDataNV { 17558 VkAccelerationStructureInstanceKHR staticInstance; 17559 VkAccelerationStructureMatrixMotionInstanceNV matrixMotionInstance; 17560 VkAccelerationStructureSRTMotionInstanceNV srtMotionInstance; 17561 } VkAccelerationStructureMotionInstanceDataNV; 17562 17563 typedef struct VkAccelerationStructureMotionInstanceNV { 17564 VkAccelerationStructureMotionInstanceTypeNV type; 17565 VkAccelerationStructureMotionInstanceFlagsNV flags; 17566 VkAccelerationStructureMotionInstanceDataNV data; 17567 } VkAccelerationStructureMotionInstanceNV; 17568 17569 typedef struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV { 17570 VkStructureType sType; 17571 void* pNext; 17572 VkBool32 rayTracingMotionBlur; 17573 VkBool32 rayTracingMotionBlurPipelineTraceRaysIndirect; 17574 } VkPhysicalDeviceRayTracingMotionBlurFeaturesNV; 17575 17576 17577 17578 // VK_EXT_ycbcr_2plane_444_formats is a preprocessor guard. Do not pass it to API calls. 17579 #define VK_EXT_ycbcr_2plane_444_formats 1 17580 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION 1 17581 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME "VK_EXT_ycbcr_2plane_444_formats" 17582 typedef struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT { 17583 VkStructureType sType; 17584 void* pNext; 17585 VkBool32 ycbcr2plane444Formats; 17586 } VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT; 17587 17588 17589 17590 // VK_EXT_fragment_density_map2 is a preprocessor guard. Do not pass it to API calls. 17591 #define VK_EXT_fragment_density_map2 1 17592 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1 17593 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2" 17594 typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT { 17595 VkStructureType sType; 17596 void* pNext; 17597 VkBool32 fragmentDensityMapDeferred; 17598 } VkPhysicalDeviceFragmentDensityMap2FeaturesEXT; 17599 17600 typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT { 17601 VkStructureType sType; 17602 void* pNext; 17603 VkBool32 subsampledLoads; 17604 VkBool32 subsampledCoarseReconstructionEarlyAccess; 17605 uint32_t maxSubsampledArrayLayers; 17606 uint32_t maxDescriptorSetSubsampledSamplers; 17607 } VkPhysicalDeviceFragmentDensityMap2PropertiesEXT; 17608 17609 17610 17611 // VK_QCOM_rotated_copy_commands is a preprocessor guard. Do not pass it to API calls. 17612 #define VK_QCOM_rotated_copy_commands 1 17613 #define VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION 2 17614 #define VK_QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME "VK_QCOM_rotated_copy_commands" 17615 typedef struct VkCopyCommandTransformInfoQCOM { 17616 VkStructureType sType; 17617 const void* pNext; 17618 VkSurfaceTransformFlagBitsKHR transform; 17619 } VkCopyCommandTransformInfoQCOM; 17620 17621 17622 17623 // VK_EXT_image_robustness is a preprocessor guard. Do not pass it to API calls. 17624 #define VK_EXT_image_robustness 1 17625 #define VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION 1 17626 #define VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_image_robustness" 17627 typedef VkPhysicalDeviceImageRobustnessFeatures VkPhysicalDeviceImageRobustnessFeaturesEXT; 17628 17629 17630 17631 // VK_EXT_image_compression_control is a preprocessor guard. Do not pass it to API calls. 17632 #define VK_EXT_image_compression_control 1 17633 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION 1 17634 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME "VK_EXT_image_compression_control" 17635 17636 typedef enum VkImageCompressionFlagBitsEXT { 17637 VK_IMAGE_COMPRESSION_DEFAULT_EXT = 0, 17638 VK_IMAGE_COMPRESSION_FIXED_RATE_DEFAULT_EXT = 0x00000001, 17639 VK_IMAGE_COMPRESSION_FIXED_RATE_EXPLICIT_EXT = 0x00000002, 17640 VK_IMAGE_COMPRESSION_DISABLED_EXT = 0x00000004, 17641 VK_IMAGE_COMPRESSION_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 17642 } VkImageCompressionFlagBitsEXT; 17643 typedef VkFlags VkImageCompressionFlagsEXT; 17644 17645 typedef enum VkImageCompressionFixedRateFlagBitsEXT { 17646 VK_IMAGE_COMPRESSION_FIXED_RATE_NONE_EXT = 0, 17647 VK_IMAGE_COMPRESSION_FIXED_RATE_1BPC_BIT_EXT = 0x00000001, 17648 VK_IMAGE_COMPRESSION_FIXED_RATE_2BPC_BIT_EXT = 0x00000002, 17649 VK_IMAGE_COMPRESSION_FIXED_RATE_3BPC_BIT_EXT = 0x00000004, 17650 VK_IMAGE_COMPRESSION_FIXED_RATE_4BPC_BIT_EXT = 0x00000008, 17651 VK_IMAGE_COMPRESSION_FIXED_RATE_5BPC_BIT_EXT = 0x00000010, 17652 VK_IMAGE_COMPRESSION_FIXED_RATE_6BPC_BIT_EXT = 0x00000020, 17653 VK_IMAGE_COMPRESSION_FIXED_RATE_7BPC_BIT_EXT = 0x00000040, 17654 VK_IMAGE_COMPRESSION_FIXED_RATE_8BPC_BIT_EXT = 0x00000080, 17655 VK_IMAGE_COMPRESSION_FIXED_RATE_9BPC_BIT_EXT = 0x00000100, 17656 VK_IMAGE_COMPRESSION_FIXED_RATE_10BPC_BIT_EXT = 0x00000200, 17657 VK_IMAGE_COMPRESSION_FIXED_RATE_11BPC_BIT_EXT = 0x00000400, 17658 VK_IMAGE_COMPRESSION_FIXED_RATE_12BPC_BIT_EXT = 0x00000800, 17659 VK_IMAGE_COMPRESSION_FIXED_RATE_13BPC_BIT_EXT = 0x00001000, 17660 VK_IMAGE_COMPRESSION_FIXED_RATE_14BPC_BIT_EXT = 0x00002000, 17661 VK_IMAGE_COMPRESSION_FIXED_RATE_15BPC_BIT_EXT = 0x00004000, 17662 VK_IMAGE_COMPRESSION_FIXED_RATE_16BPC_BIT_EXT = 0x00008000, 17663 VK_IMAGE_COMPRESSION_FIXED_RATE_17BPC_BIT_EXT = 0x00010000, 17664 VK_IMAGE_COMPRESSION_FIXED_RATE_18BPC_BIT_EXT = 0x00020000, 17665 VK_IMAGE_COMPRESSION_FIXED_RATE_19BPC_BIT_EXT = 0x00040000, 17666 VK_IMAGE_COMPRESSION_FIXED_RATE_20BPC_BIT_EXT = 0x00080000, 17667 VK_IMAGE_COMPRESSION_FIXED_RATE_21BPC_BIT_EXT = 0x00100000, 17668 VK_IMAGE_COMPRESSION_FIXED_RATE_22BPC_BIT_EXT = 0x00200000, 17669 VK_IMAGE_COMPRESSION_FIXED_RATE_23BPC_BIT_EXT = 0x00400000, 17670 VK_IMAGE_COMPRESSION_FIXED_RATE_24BPC_BIT_EXT = 0x00800000, 17671 VK_IMAGE_COMPRESSION_FIXED_RATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 17672 } VkImageCompressionFixedRateFlagBitsEXT; 17673 typedef VkFlags VkImageCompressionFixedRateFlagsEXT; 17674 typedef struct VkPhysicalDeviceImageCompressionControlFeaturesEXT { 17675 VkStructureType sType; 17676 void* pNext; 17677 VkBool32 imageCompressionControl; 17678 } VkPhysicalDeviceImageCompressionControlFeaturesEXT; 17679 17680 typedef struct VkImageCompressionControlEXT { 17681 VkStructureType sType; 17682 const void* pNext; 17683 VkImageCompressionFlagsEXT flags; 17684 uint32_t compressionControlPlaneCount; 17685 VkImageCompressionFixedRateFlagsEXT* pFixedRateFlags; 17686 } VkImageCompressionControlEXT; 17687 17688 typedef struct VkImageCompressionPropertiesEXT { 17689 VkStructureType sType; 17690 void* pNext; 17691 VkImageCompressionFlagsEXT imageCompressionFlags; 17692 VkImageCompressionFixedRateFlagsEXT imageCompressionFixedRateFlags; 17693 } VkImageCompressionPropertiesEXT; 17694 17695 17696 17697 // VK_EXT_attachment_feedback_loop_layout is a preprocessor guard. Do not pass it to API calls. 17698 #define VK_EXT_attachment_feedback_loop_layout 1 17699 #define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_SPEC_VERSION 2 17700 #define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_EXTENSION_NAME "VK_EXT_attachment_feedback_loop_layout" 17701 typedef struct VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT { 17702 VkStructureType sType; 17703 void* pNext; 17704 VkBool32 attachmentFeedbackLoopLayout; 17705 } VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT; 17706 17707 17708 17709 // VK_EXT_4444_formats is a preprocessor guard. Do not pass it to API calls. 17710 #define VK_EXT_4444_formats 1 17711 #define VK_EXT_4444_FORMATS_SPEC_VERSION 1 17712 #define VK_EXT_4444_FORMATS_EXTENSION_NAME "VK_EXT_4444_formats" 17713 typedef struct VkPhysicalDevice4444FormatsFeaturesEXT { 17714 VkStructureType sType; 17715 void* pNext; 17716 VkBool32 formatA4R4G4B4; 17717 VkBool32 formatA4B4G4R4; 17718 } VkPhysicalDevice4444FormatsFeaturesEXT; 17719 17720 17721 17722 // VK_EXT_device_fault is a preprocessor guard. Do not pass it to API calls. 17723 #define VK_EXT_device_fault 1 17724 #define VK_EXT_DEVICE_FAULT_SPEC_VERSION 2 17725 #define VK_EXT_DEVICE_FAULT_EXTENSION_NAME "VK_EXT_device_fault" 17726 17727 typedef enum VkDeviceFaultAddressTypeEXT { 17728 VK_DEVICE_FAULT_ADDRESS_TYPE_NONE_EXT = 0, 17729 VK_DEVICE_FAULT_ADDRESS_TYPE_READ_INVALID_EXT = 1, 17730 VK_DEVICE_FAULT_ADDRESS_TYPE_WRITE_INVALID_EXT = 2, 17731 VK_DEVICE_FAULT_ADDRESS_TYPE_EXECUTE_INVALID_EXT = 3, 17732 VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_UNKNOWN_EXT = 4, 17733 VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_INVALID_EXT = 5, 17734 VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_FAULT_EXT = 6, 17735 VK_DEVICE_FAULT_ADDRESS_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 17736 } VkDeviceFaultAddressTypeEXT; 17737 17738 typedef enum VkDeviceFaultVendorBinaryHeaderVersionEXT { 17739 VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_ONE_EXT = 1, 17740 VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF 17741 } VkDeviceFaultVendorBinaryHeaderVersionEXT; 17742 typedef struct VkPhysicalDeviceFaultFeaturesEXT { 17743 VkStructureType sType; 17744 void* pNext; 17745 VkBool32 deviceFault; 17746 VkBool32 deviceFaultVendorBinary; 17747 } VkPhysicalDeviceFaultFeaturesEXT; 17748 17749 typedef struct VkDeviceFaultCountsEXT { 17750 VkStructureType sType; 17751 void* pNext; 17752 uint32_t addressInfoCount; 17753 uint32_t vendorInfoCount; 17754 VkDeviceSize vendorBinarySize; 17755 } VkDeviceFaultCountsEXT; 17756 17757 typedef struct VkDeviceFaultAddressInfoEXT { 17758 VkDeviceFaultAddressTypeEXT addressType; 17759 VkDeviceAddress reportedAddress; 17760 VkDeviceSize addressPrecision; 17761 } VkDeviceFaultAddressInfoEXT; 17762 17763 typedef struct VkDeviceFaultVendorInfoEXT { 17764 char description[VK_MAX_DESCRIPTION_SIZE]; 17765 uint64_t vendorFaultCode; 17766 uint64_t vendorFaultData; 17767 } VkDeviceFaultVendorInfoEXT; 17768 17769 typedef struct VkDeviceFaultInfoEXT { 17770 VkStructureType sType; 17771 void* pNext; 17772 char description[VK_MAX_DESCRIPTION_SIZE]; 17773 VkDeviceFaultAddressInfoEXT* pAddressInfos; 17774 VkDeviceFaultVendorInfoEXT* pVendorInfos; 17775 void* pVendorBinaryData; 17776 } VkDeviceFaultInfoEXT; 17777 17778 typedef struct VkDeviceFaultVendorBinaryHeaderVersionOneEXT { 17779 uint32_t headerSize; 17780 VkDeviceFaultVendorBinaryHeaderVersionEXT headerVersion; 17781 uint32_t vendorID; 17782 uint32_t deviceID; 17783 uint32_t driverVersion; 17784 uint8_t pipelineCacheUUID[VK_UUID_SIZE]; 17785 uint32_t applicationNameOffset; 17786 uint32_t applicationVersion; 17787 uint32_t engineNameOffset; 17788 uint32_t engineVersion; 17789 uint32_t apiVersion; 17790 } VkDeviceFaultVendorBinaryHeaderVersionOneEXT; 17791 17792 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceFaultInfoEXT)(VkDevice device, VkDeviceFaultCountsEXT* pFaultCounts, VkDeviceFaultInfoEXT* pFaultInfo); 17793 17794 #ifndef VK_NO_PROTOTYPES 17795 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceFaultInfoEXT( 17796 VkDevice device, 17797 VkDeviceFaultCountsEXT* pFaultCounts, 17798 VkDeviceFaultInfoEXT* pFaultInfo); 17799 #endif 17800 17801 17802 // VK_ARM_rasterization_order_attachment_access is a preprocessor guard. Do not pass it to API calls. 17803 #define VK_ARM_rasterization_order_attachment_access 1 17804 #define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION 1 17805 #define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME "VK_ARM_rasterization_order_attachment_access" 17806 typedef struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT { 17807 VkStructureType sType; 17808 void* pNext; 17809 VkBool32 rasterizationOrderColorAttachmentAccess; 17810 VkBool32 rasterizationOrderDepthAttachmentAccess; 17811 VkBool32 rasterizationOrderStencilAttachmentAccess; 17812 } VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT; 17813 17814 typedef VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM; 17815 17816 17817 17818 // VK_EXT_rgba10x6_formats is a preprocessor guard. Do not pass it to API calls. 17819 #define VK_EXT_rgba10x6_formats 1 17820 #define VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION 1 17821 #define VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME "VK_EXT_rgba10x6_formats" 17822 typedef struct VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT { 17823 VkStructureType sType; 17824 void* pNext; 17825 VkBool32 formatRgba10x6WithoutYCbCrSampler; 17826 } VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT; 17827 17828 17829 17830 // VK_VALVE_mutable_descriptor_type is a preprocessor guard. Do not pass it to API calls. 17831 #define VK_VALVE_mutable_descriptor_type 1 17832 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1 17833 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_VALVE_mutable_descriptor_type" 17834 typedef struct VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT { 17835 VkStructureType sType; 17836 void* pNext; 17837 VkBool32 mutableDescriptorType; 17838 } VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT; 17839 17840 typedef VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE; 17841 17842 typedef struct VkMutableDescriptorTypeListEXT { 17843 uint32_t descriptorTypeCount; 17844 const VkDescriptorType* pDescriptorTypes; 17845 } VkMutableDescriptorTypeListEXT; 17846 17847 typedef VkMutableDescriptorTypeListEXT VkMutableDescriptorTypeListVALVE; 17848 17849 typedef struct VkMutableDescriptorTypeCreateInfoEXT { 17850 VkStructureType sType; 17851 const void* pNext; 17852 uint32_t mutableDescriptorTypeListCount; 17853 const VkMutableDescriptorTypeListEXT* pMutableDescriptorTypeLists; 17854 } VkMutableDescriptorTypeCreateInfoEXT; 17855 17856 typedef VkMutableDescriptorTypeCreateInfoEXT VkMutableDescriptorTypeCreateInfoVALVE; 17857 17858 17859 17860 // VK_EXT_vertex_input_dynamic_state is a preprocessor guard. Do not pass it to API calls. 17861 #define VK_EXT_vertex_input_dynamic_state 1 17862 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION 2 17863 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_vertex_input_dynamic_state" 17864 typedef struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT { 17865 VkStructureType sType; 17866 void* pNext; 17867 VkBool32 vertexInputDynamicState; 17868 } VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT; 17869 17870 typedef struct VkVertexInputBindingDescription2EXT { 17871 VkStructureType sType; 17872 void* pNext; 17873 uint32_t binding; 17874 uint32_t stride; 17875 VkVertexInputRate inputRate; 17876 uint32_t divisor; 17877 } VkVertexInputBindingDescription2EXT; 17878 17879 typedef struct VkVertexInputAttributeDescription2EXT { 17880 VkStructureType sType; 17881 void* pNext; 17882 uint32_t location; 17883 uint32_t binding; 17884 VkFormat format; 17885 uint32_t offset; 17886 } VkVertexInputAttributeDescription2EXT; 17887 17888 typedef void (VKAPI_PTR *PFN_vkCmdSetVertexInputEXT)(VkCommandBuffer commandBuffer, uint32_t vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, uint32_t vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions); 17889 17890 #ifndef VK_NO_PROTOTYPES 17891 VKAPI_ATTR void VKAPI_CALL vkCmdSetVertexInputEXT( 17892 VkCommandBuffer commandBuffer, 17893 uint32_t vertexBindingDescriptionCount, 17894 const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, 17895 uint32_t vertexAttributeDescriptionCount, 17896 const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions); 17897 #endif 17898 17899 17900 // VK_EXT_physical_device_drm is a preprocessor guard. Do not pass it to API calls. 17901 #define VK_EXT_physical_device_drm 1 17902 #define VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION 1 17903 #define VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME "VK_EXT_physical_device_drm" 17904 typedef struct VkPhysicalDeviceDrmPropertiesEXT { 17905 VkStructureType sType; 17906 void* pNext; 17907 VkBool32 hasPrimary; 17908 VkBool32 hasRender; 17909 int64_t primaryMajor; 17910 int64_t primaryMinor; 17911 int64_t renderMajor; 17912 int64_t renderMinor; 17913 } VkPhysicalDeviceDrmPropertiesEXT; 17914 17915 17916 17917 // VK_EXT_device_address_binding_report is a preprocessor guard. Do not pass it to API calls. 17918 #define VK_EXT_device_address_binding_report 1 17919 #define VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_SPEC_VERSION 1 17920 #define VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_EXTENSION_NAME "VK_EXT_device_address_binding_report" 17921 17922 typedef enum VkDeviceAddressBindingTypeEXT { 17923 VK_DEVICE_ADDRESS_BINDING_TYPE_BIND_EXT = 0, 17924 VK_DEVICE_ADDRESS_BINDING_TYPE_UNBIND_EXT = 1, 17925 VK_DEVICE_ADDRESS_BINDING_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 17926 } VkDeviceAddressBindingTypeEXT; 17927 17928 typedef enum VkDeviceAddressBindingFlagBitsEXT { 17929 VK_DEVICE_ADDRESS_BINDING_INTERNAL_OBJECT_BIT_EXT = 0x00000001, 17930 VK_DEVICE_ADDRESS_BINDING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 17931 } VkDeviceAddressBindingFlagBitsEXT; 17932 typedef VkFlags VkDeviceAddressBindingFlagsEXT; 17933 typedef struct VkPhysicalDeviceAddressBindingReportFeaturesEXT { 17934 VkStructureType sType; 17935 void* pNext; 17936 VkBool32 reportAddressBinding; 17937 } VkPhysicalDeviceAddressBindingReportFeaturesEXT; 17938 17939 typedef struct VkDeviceAddressBindingCallbackDataEXT { 17940 VkStructureType sType; 17941 void* pNext; 17942 VkDeviceAddressBindingFlagsEXT flags; 17943 VkDeviceAddress baseAddress; 17944 VkDeviceSize size; 17945 VkDeviceAddressBindingTypeEXT bindingType; 17946 } VkDeviceAddressBindingCallbackDataEXT; 17947 17948 17949 17950 // VK_EXT_depth_clip_control is a preprocessor guard. Do not pass it to API calls. 17951 #define VK_EXT_depth_clip_control 1 17952 #define VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION 1 17953 #define VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME "VK_EXT_depth_clip_control" 17954 typedef struct VkPhysicalDeviceDepthClipControlFeaturesEXT { 17955 VkStructureType sType; 17956 void* pNext; 17957 VkBool32 depthClipControl; 17958 } VkPhysicalDeviceDepthClipControlFeaturesEXT; 17959 17960 typedef struct VkPipelineViewportDepthClipControlCreateInfoEXT { 17961 VkStructureType sType; 17962 const void* pNext; 17963 VkBool32 negativeOneToOne; 17964 } VkPipelineViewportDepthClipControlCreateInfoEXT; 17965 17966 17967 17968 // VK_EXT_primitive_topology_list_restart is a preprocessor guard. Do not pass it to API calls. 17969 #define VK_EXT_primitive_topology_list_restart 1 17970 #define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION 1 17971 #define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME "VK_EXT_primitive_topology_list_restart" 17972 typedef struct VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT { 17973 VkStructureType sType; 17974 void* pNext; 17975 VkBool32 primitiveTopologyListRestart; 17976 VkBool32 primitiveTopologyPatchListRestart; 17977 } VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT; 17978 17979 17980 17981 // VK_EXT_present_mode_fifo_latest_ready is a preprocessor guard. Do not pass it to API calls. 17982 #define VK_EXT_present_mode_fifo_latest_ready 1 17983 #define VK_EXT_PRESENT_MODE_FIFO_LATEST_READY_SPEC_VERSION 1 17984 #define VK_EXT_PRESENT_MODE_FIFO_LATEST_READY_EXTENSION_NAME "VK_EXT_present_mode_fifo_latest_ready" 17985 typedef struct VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT { 17986 VkStructureType sType; 17987 void* pNext; 17988 VkBool32 presentModeFifoLatestReady; 17989 } VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT; 17990 17991 17992 17993 // VK_HUAWEI_subpass_shading is a preprocessor guard. Do not pass it to API calls. 17994 #define VK_HUAWEI_subpass_shading 1 17995 #define VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION 3 17996 #define VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME "VK_HUAWEI_subpass_shading" 17997 typedef struct VkSubpassShadingPipelineCreateInfoHUAWEI { 17998 VkStructureType sType; 17999 void* pNext; 18000 VkRenderPass renderPass; 18001 uint32_t subpass; 18002 } VkSubpassShadingPipelineCreateInfoHUAWEI; 18003 18004 typedef struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI { 18005 VkStructureType sType; 18006 void* pNext; 18007 VkBool32 subpassShading; 18008 } VkPhysicalDeviceSubpassShadingFeaturesHUAWEI; 18009 18010 typedef struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI { 18011 VkStructureType sType; 18012 void* pNext; 18013 uint32_t maxSubpassShadingWorkgroupSizeAspectRatio; 18014 } VkPhysicalDeviceSubpassShadingPropertiesHUAWEI; 18015 18016 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI)(VkDevice device, VkRenderPass renderpass, VkExtent2D* pMaxWorkgroupSize); 18017 typedef void (VKAPI_PTR *PFN_vkCmdSubpassShadingHUAWEI)(VkCommandBuffer commandBuffer); 18018 18019 #ifndef VK_NO_PROTOTYPES 18020 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( 18021 VkDevice device, 18022 VkRenderPass renderpass, 18023 VkExtent2D* pMaxWorkgroupSize); 18024 18025 VKAPI_ATTR void VKAPI_CALL vkCmdSubpassShadingHUAWEI( 18026 VkCommandBuffer commandBuffer); 18027 #endif 18028 18029 18030 // VK_HUAWEI_invocation_mask is a preprocessor guard. Do not pass it to API calls. 18031 #define VK_HUAWEI_invocation_mask 1 18032 #define VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION 1 18033 #define VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME "VK_HUAWEI_invocation_mask" 18034 typedef struct VkPhysicalDeviceInvocationMaskFeaturesHUAWEI { 18035 VkStructureType sType; 18036 void* pNext; 18037 VkBool32 invocationMask; 18038 } VkPhysicalDeviceInvocationMaskFeaturesHUAWEI; 18039 18040 typedef void (VKAPI_PTR *PFN_vkCmdBindInvocationMaskHUAWEI)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout); 18041 18042 #ifndef VK_NO_PROTOTYPES 18043 VKAPI_ATTR void VKAPI_CALL vkCmdBindInvocationMaskHUAWEI( 18044 VkCommandBuffer commandBuffer, 18045 VkImageView imageView, 18046 VkImageLayout imageLayout); 18047 #endif 18048 18049 18050 // VK_NV_external_memory_rdma is a preprocessor guard. Do not pass it to API calls. 18051 #define VK_NV_external_memory_rdma 1 18052 typedef void* VkRemoteAddressNV; 18053 #define VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION 1 18054 #define VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME "VK_NV_external_memory_rdma" 18055 typedef struct VkMemoryGetRemoteAddressInfoNV { 18056 VkStructureType sType; 18057 const void* pNext; 18058 VkDeviceMemory memory; 18059 VkExternalMemoryHandleTypeFlagBits handleType; 18060 } VkMemoryGetRemoteAddressInfoNV; 18061 18062 typedef struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV { 18063 VkStructureType sType; 18064 void* pNext; 18065 VkBool32 externalMemoryRDMA; 18066 } VkPhysicalDeviceExternalMemoryRDMAFeaturesNV; 18067 18068 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryRemoteAddressNV)(VkDevice device, const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, VkRemoteAddressNV* pAddress); 18069 18070 #ifndef VK_NO_PROTOTYPES 18071 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryRemoteAddressNV( 18072 VkDevice device, 18073 const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, 18074 VkRemoteAddressNV* pAddress); 18075 #endif 18076 18077 18078 // VK_EXT_pipeline_properties is a preprocessor guard. Do not pass it to API calls. 18079 #define VK_EXT_pipeline_properties 1 18080 #define VK_EXT_PIPELINE_PROPERTIES_SPEC_VERSION 1 18081 #define VK_EXT_PIPELINE_PROPERTIES_EXTENSION_NAME "VK_EXT_pipeline_properties" 18082 typedef VkPipelineInfoKHR VkPipelineInfoEXT; 18083 18084 typedef struct VkPipelinePropertiesIdentifierEXT { 18085 VkStructureType sType; 18086 void* pNext; 18087 uint8_t pipelineIdentifier[VK_UUID_SIZE]; 18088 } VkPipelinePropertiesIdentifierEXT; 18089 18090 typedef struct VkPhysicalDevicePipelinePropertiesFeaturesEXT { 18091 VkStructureType sType; 18092 void* pNext; 18093 VkBool32 pipelinePropertiesIdentifier; 18094 } VkPhysicalDevicePipelinePropertiesFeaturesEXT; 18095 18096 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelinePropertiesEXT)(VkDevice device, const VkPipelineInfoEXT* pPipelineInfo, VkBaseOutStructure* pPipelineProperties); 18097 18098 #ifndef VK_NO_PROTOTYPES 18099 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelinePropertiesEXT( 18100 VkDevice device, 18101 const VkPipelineInfoEXT* pPipelineInfo, 18102 VkBaseOutStructure* pPipelineProperties); 18103 #endif 18104 18105 18106 // VK_EXT_frame_boundary is a preprocessor guard. Do not pass it to API calls. 18107 #define VK_EXT_frame_boundary 1 18108 #define VK_EXT_FRAME_BOUNDARY_SPEC_VERSION 1 18109 #define VK_EXT_FRAME_BOUNDARY_EXTENSION_NAME "VK_EXT_frame_boundary" 18110 18111 typedef enum VkFrameBoundaryFlagBitsEXT { 18112 VK_FRAME_BOUNDARY_FRAME_END_BIT_EXT = 0x00000001, 18113 VK_FRAME_BOUNDARY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 18114 } VkFrameBoundaryFlagBitsEXT; 18115 typedef VkFlags VkFrameBoundaryFlagsEXT; 18116 typedef struct VkPhysicalDeviceFrameBoundaryFeaturesEXT { 18117 VkStructureType sType; 18118 void* pNext; 18119 VkBool32 frameBoundary; 18120 } VkPhysicalDeviceFrameBoundaryFeaturesEXT; 18121 18122 typedef struct VkFrameBoundaryEXT { 18123 VkStructureType sType; 18124 const void* pNext; 18125 VkFrameBoundaryFlagsEXT flags; 18126 uint64_t frameID; 18127 uint32_t imageCount; 18128 const VkImage* pImages; 18129 uint32_t bufferCount; 18130 const VkBuffer* pBuffers; 18131 uint64_t tagName; 18132 size_t tagSize; 18133 const void* pTag; 18134 } VkFrameBoundaryEXT; 18135 18136 18137 18138 // VK_EXT_multisampled_render_to_single_sampled is a preprocessor guard. Do not pass it to API calls. 18139 #define VK_EXT_multisampled_render_to_single_sampled 1 18140 #define VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_SPEC_VERSION 1 18141 #define VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_EXTENSION_NAME "VK_EXT_multisampled_render_to_single_sampled" 18142 typedef struct VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT { 18143 VkStructureType sType; 18144 void* pNext; 18145 VkBool32 multisampledRenderToSingleSampled; 18146 } VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT; 18147 18148 typedef struct VkSubpassResolvePerformanceQueryEXT { 18149 VkStructureType sType; 18150 void* pNext; 18151 VkBool32 optimal; 18152 } VkSubpassResolvePerformanceQueryEXT; 18153 18154 typedef struct VkMultisampledRenderToSingleSampledInfoEXT { 18155 VkStructureType sType; 18156 const void* pNext; 18157 VkBool32 multisampledRenderToSingleSampledEnable; 18158 VkSampleCountFlagBits rasterizationSamples; 18159 } VkMultisampledRenderToSingleSampledInfoEXT; 18160 18161 18162 18163 // VK_EXT_extended_dynamic_state2 is a preprocessor guard. Do not pass it to API calls. 18164 #define VK_EXT_extended_dynamic_state2 1 18165 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION 1 18166 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME "VK_EXT_extended_dynamic_state2" 18167 typedef struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT { 18168 VkStructureType sType; 18169 void* pNext; 18170 VkBool32 extendedDynamicState2; 18171 VkBool32 extendedDynamicState2LogicOp; 18172 VkBool32 extendedDynamicState2PatchControlPoints; 18173 } VkPhysicalDeviceExtendedDynamicState2FeaturesEXT; 18174 18175 typedef void (VKAPI_PTR *PFN_vkCmdSetPatchControlPointsEXT)(VkCommandBuffer commandBuffer, uint32_t patchControlPoints); 18176 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable); 18177 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable); 18178 typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEXT)(VkCommandBuffer commandBuffer, VkLogicOp logicOp); 18179 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable); 18180 18181 #ifndef VK_NO_PROTOTYPES 18182 VKAPI_ATTR void VKAPI_CALL vkCmdSetPatchControlPointsEXT( 18183 VkCommandBuffer commandBuffer, 18184 uint32_t patchControlPoints); 18185 18186 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnableEXT( 18187 VkCommandBuffer commandBuffer, 18188 VkBool32 rasterizerDiscardEnable); 18189 18190 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnableEXT( 18191 VkCommandBuffer commandBuffer, 18192 VkBool32 depthBiasEnable); 18193 18194 VKAPI_ATTR void VKAPI_CALL vkCmdSetLogicOpEXT( 18195 VkCommandBuffer commandBuffer, 18196 VkLogicOp logicOp); 18197 18198 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnableEXT( 18199 VkCommandBuffer commandBuffer, 18200 VkBool32 primitiveRestartEnable); 18201 #endif 18202 18203 18204 // VK_EXT_color_write_enable is a preprocessor guard. Do not pass it to API calls. 18205 #define VK_EXT_color_write_enable 1 18206 #define VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION 1 18207 #define VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME "VK_EXT_color_write_enable" 18208 typedef struct VkPhysicalDeviceColorWriteEnableFeaturesEXT { 18209 VkStructureType sType; 18210 void* pNext; 18211 VkBool32 colorWriteEnable; 18212 } VkPhysicalDeviceColorWriteEnableFeaturesEXT; 18213 18214 typedef struct VkPipelineColorWriteCreateInfoEXT { 18215 VkStructureType sType; 18216 const void* pNext; 18217 uint32_t attachmentCount; 18218 const VkBool32* pColorWriteEnables; 18219 } VkPipelineColorWriteCreateInfoEXT; 18220 18221 typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteEnableEXT)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32* pColorWriteEnables); 18222 18223 #ifndef VK_NO_PROTOTYPES 18224 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteEnableEXT( 18225 VkCommandBuffer commandBuffer, 18226 uint32_t attachmentCount, 18227 const VkBool32* pColorWriteEnables); 18228 #endif 18229 18230 18231 // VK_EXT_primitives_generated_query is a preprocessor guard. Do not pass it to API calls. 18232 #define VK_EXT_primitives_generated_query 1 18233 #define VK_EXT_PRIMITIVES_GENERATED_QUERY_SPEC_VERSION 1 18234 #define VK_EXT_PRIMITIVES_GENERATED_QUERY_EXTENSION_NAME "VK_EXT_primitives_generated_query" 18235 typedef struct VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT { 18236 VkStructureType sType; 18237 void* pNext; 18238 VkBool32 primitivesGeneratedQuery; 18239 VkBool32 primitivesGeneratedQueryWithRasterizerDiscard; 18240 VkBool32 primitivesGeneratedQueryWithNonZeroStreams; 18241 } VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT; 18242 18243 18244 18245 // VK_EXT_global_priority_query is a preprocessor guard. Do not pass it to API calls. 18246 #define VK_EXT_global_priority_query 1 18247 #define VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION 1 18248 #define VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME "VK_EXT_global_priority_query" 18249 #define VK_MAX_GLOBAL_PRIORITY_SIZE_EXT VK_MAX_GLOBAL_PRIORITY_SIZE 18250 typedef VkPhysicalDeviceGlobalPriorityQueryFeatures VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT; 18251 18252 typedef VkQueueFamilyGlobalPriorityProperties VkQueueFamilyGlobalPriorityPropertiesEXT; 18253 18254 18255 18256 // VK_EXT_image_view_min_lod is a preprocessor guard. Do not pass it to API calls. 18257 #define VK_EXT_image_view_min_lod 1 18258 #define VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION 1 18259 #define VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME "VK_EXT_image_view_min_lod" 18260 typedef struct VkPhysicalDeviceImageViewMinLodFeaturesEXT { 18261 VkStructureType sType; 18262 void* pNext; 18263 VkBool32 minLod; 18264 } VkPhysicalDeviceImageViewMinLodFeaturesEXT; 18265 18266 typedef struct VkImageViewMinLodCreateInfoEXT { 18267 VkStructureType sType; 18268 const void* pNext; 18269 float minLod; 18270 } VkImageViewMinLodCreateInfoEXT; 18271 18272 18273 18274 // VK_EXT_multi_draw is a preprocessor guard. Do not pass it to API calls. 18275 #define VK_EXT_multi_draw 1 18276 #define VK_EXT_MULTI_DRAW_SPEC_VERSION 1 18277 #define VK_EXT_MULTI_DRAW_EXTENSION_NAME "VK_EXT_multi_draw" 18278 typedef struct VkPhysicalDeviceMultiDrawFeaturesEXT { 18279 VkStructureType sType; 18280 void* pNext; 18281 VkBool32 multiDraw; 18282 } VkPhysicalDeviceMultiDrawFeaturesEXT; 18283 18284 typedef struct VkPhysicalDeviceMultiDrawPropertiesEXT { 18285 VkStructureType sType; 18286 void* pNext; 18287 uint32_t maxMultiDrawCount; 18288 } VkPhysicalDeviceMultiDrawPropertiesEXT; 18289 18290 typedef struct VkMultiDrawInfoEXT { 18291 uint32_t firstVertex; 18292 uint32_t vertexCount; 18293 } VkMultiDrawInfoEXT; 18294 18295 typedef struct VkMultiDrawIndexedInfoEXT { 18296 uint32_t firstIndex; 18297 uint32_t indexCount; 18298 int32_t vertexOffset; 18299 } VkMultiDrawIndexedInfoEXT; 18300 18301 typedef void (VKAPI_PTR *PFN_vkCmdDrawMultiEXT)(VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawInfoEXT* pVertexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride); 18302 typedef void (VKAPI_PTR *PFN_vkCmdDrawMultiIndexedEXT)(VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawIndexedInfoEXT* pIndexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride, const int32_t* pVertexOffset); 18303 18304 #ifndef VK_NO_PROTOTYPES 18305 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiEXT( 18306 VkCommandBuffer commandBuffer, 18307 uint32_t drawCount, 18308 const VkMultiDrawInfoEXT* pVertexInfo, 18309 uint32_t instanceCount, 18310 uint32_t firstInstance, 18311 uint32_t stride); 18312 18313 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiIndexedEXT( 18314 VkCommandBuffer commandBuffer, 18315 uint32_t drawCount, 18316 const VkMultiDrawIndexedInfoEXT* pIndexInfo, 18317 uint32_t instanceCount, 18318 uint32_t firstInstance, 18319 uint32_t stride, 18320 const int32_t* pVertexOffset); 18321 #endif 18322 18323 18324 // VK_EXT_image_2d_view_of_3d is a preprocessor guard. Do not pass it to API calls. 18325 #define VK_EXT_image_2d_view_of_3d 1 18326 #define VK_EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION 1 18327 #define VK_EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME "VK_EXT_image_2d_view_of_3d" 18328 typedef struct VkPhysicalDeviceImage2DViewOf3DFeaturesEXT { 18329 VkStructureType sType; 18330 void* pNext; 18331 VkBool32 image2DViewOf3D; 18332 VkBool32 sampler2DViewOf3D; 18333 } VkPhysicalDeviceImage2DViewOf3DFeaturesEXT; 18334 18335 18336 18337 // VK_EXT_shader_tile_image is a preprocessor guard. Do not pass it to API calls. 18338 #define VK_EXT_shader_tile_image 1 18339 #define VK_EXT_SHADER_TILE_IMAGE_SPEC_VERSION 1 18340 #define VK_EXT_SHADER_TILE_IMAGE_EXTENSION_NAME "VK_EXT_shader_tile_image" 18341 typedef struct VkPhysicalDeviceShaderTileImageFeaturesEXT { 18342 VkStructureType sType; 18343 void* pNext; 18344 VkBool32 shaderTileImageColorReadAccess; 18345 VkBool32 shaderTileImageDepthReadAccess; 18346 VkBool32 shaderTileImageStencilReadAccess; 18347 } VkPhysicalDeviceShaderTileImageFeaturesEXT; 18348 18349 typedef struct VkPhysicalDeviceShaderTileImagePropertiesEXT { 18350 VkStructureType sType; 18351 void* pNext; 18352 VkBool32 shaderTileImageCoherentReadAccelerated; 18353 VkBool32 shaderTileImageReadSampleFromPixelRateInvocation; 18354 VkBool32 shaderTileImageReadFromHelperInvocation; 18355 } VkPhysicalDeviceShaderTileImagePropertiesEXT; 18356 18357 18358 18359 // VK_EXT_opacity_micromap is a preprocessor guard. Do not pass it to API calls. 18360 #define VK_EXT_opacity_micromap 1 18361 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkMicromapEXT) 18362 #define VK_EXT_OPACITY_MICROMAP_SPEC_VERSION 2 18363 #define VK_EXT_OPACITY_MICROMAP_EXTENSION_NAME "VK_EXT_opacity_micromap" 18364 18365 typedef enum VkMicromapTypeEXT { 18366 VK_MICROMAP_TYPE_OPACITY_MICROMAP_EXT = 0, 18367 #ifdef VK_ENABLE_BETA_EXTENSIONS 18368 VK_MICROMAP_TYPE_DISPLACEMENT_MICROMAP_NV = 1000397000, 18369 #endif 18370 VK_MICROMAP_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 18371 } VkMicromapTypeEXT; 18372 18373 typedef enum VkBuildMicromapModeEXT { 18374 VK_BUILD_MICROMAP_MODE_BUILD_EXT = 0, 18375 VK_BUILD_MICROMAP_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 18376 } VkBuildMicromapModeEXT; 18377 18378 typedef enum VkCopyMicromapModeEXT { 18379 VK_COPY_MICROMAP_MODE_CLONE_EXT = 0, 18380 VK_COPY_MICROMAP_MODE_SERIALIZE_EXT = 1, 18381 VK_COPY_MICROMAP_MODE_DESERIALIZE_EXT = 2, 18382 VK_COPY_MICROMAP_MODE_COMPACT_EXT = 3, 18383 VK_COPY_MICROMAP_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 18384 } VkCopyMicromapModeEXT; 18385 18386 typedef enum VkOpacityMicromapFormatEXT { 18387 VK_OPACITY_MICROMAP_FORMAT_2_STATE_EXT = 1, 18388 VK_OPACITY_MICROMAP_FORMAT_4_STATE_EXT = 2, 18389 VK_OPACITY_MICROMAP_FORMAT_MAX_ENUM_EXT = 0x7FFFFFFF 18390 } VkOpacityMicromapFormatEXT; 18391 18392 typedef enum VkOpacityMicromapSpecialIndexEXT { 18393 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_TRANSPARENT_EXT = -1, 18394 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_OPAQUE_EXT = -2, 18395 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_TRANSPARENT_EXT = -3, 18396 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_OPAQUE_EXT = -4, 18397 VK_OPACITY_MICROMAP_SPECIAL_INDEX_CLUSTER_GEOMETRY_DISABLE_OPACITY_MICROMAP_NV = -5, 18398 VK_OPACITY_MICROMAP_SPECIAL_INDEX_MAX_ENUM_EXT = 0x7FFFFFFF 18399 } VkOpacityMicromapSpecialIndexEXT; 18400 18401 typedef enum VkAccelerationStructureCompatibilityKHR { 18402 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR = 0, 18403 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR = 1, 18404 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR = 0x7FFFFFFF 18405 } VkAccelerationStructureCompatibilityKHR; 18406 18407 typedef enum VkAccelerationStructureBuildTypeKHR { 18408 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0, 18409 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1, 18410 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR = 2, 18411 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 18412 } VkAccelerationStructureBuildTypeKHR; 18413 18414 typedef enum VkBuildMicromapFlagBitsEXT { 18415 VK_BUILD_MICROMAP_PREFER_FAST_TRACE_BIT_EXT = 0x00000001, 18416 VK_BUILD_MICROMAP_PREFER_FAST_BUILD_BIT_EXT = 0x00000002, 18417 VK_BUILD_MICROMAP_ALLOW_COMPACTION_BIT_EXT = 0x00000004, 18418 VK_BUILD_MICROMAP_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 18419 } VkBuildMicromapFlagBitsEXT; 18420 typedef VkFlags VkBuildMicromapFlagsEXT; 18421 18422 typedef enum VkMicromapCreateFlagBitsEXT { 18423 VK_MICROMAP_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = 0x00000001, 18424 VK_MICROMAP_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 18425 } VkMicromapCreateFlagBitsEXT; 18426 typedef VkFlags VkMicromapCreateFlagsEXT; 18427 typedef struct VkMicromapUsageEXT { 18428 uint32_t count; 18429 uint32_t subdivisionLevel; 18430 uint32_t format; 18431 } VkMicromapUsageEXT; 18432 18433 typedef union VkDeviceOrHostAddressKHR { 18434 VkDeviceAddress deviceAddress; 18435 void* hostAddress; 18436 } VkDeviceOrHostAddressKHR; 18437 18438 typedef struct VkMicromapBuildInfoEXT { 18439 VkStructureType sType; 18440 const void* pNext; 18441 VkMicromapTypeEXT type; 18442 VkBuildMicromapFlagsEXT flags; 18443 VkBuildMicromapModeEXT mode; 18444 VkMicromapEXT dstMicromap; 18445 uint32_t usageCountsCount; 18446 const VkMicromapUsageEXT* pUsageCounts; 18447 const VkMicromapUsageEXT* const* ppUsageCounts; 18448 VkDeviceOrHostAddressConstKHR data; 18449 VkDeviceOrHostAddressKHR scratchData; 18450 VkDeviceOrHostAddressConstKHR triangleArray; 18451 VkDeviceSize triangleArrayStride; 18452 } VkMicromapBuildInfoEXT; 18453 18454 typedef struct VkMicromapCreateInfoEXT { 18455 VkStructureType sType; 18456 const void* pNext; 18457 VkMicromapCreateFlagsEXT createFlags; 18458 VkBuffer buffer; 18459 VkDeviceSize offset; 18460 VkDeviceSize size; 18461 VkMicromapTypeEXT type; 18462 VkDeviceAddress deviceAddress; 18463 } VkMicromapCreateInfoEXT; 18464 18465 typedef struct VkPhysicalDeviceOpacityMicromapFeaturesEXT { 18466 VkStructureType sType; 18467 void* pNext; 18468 VkBool32 micromap; 18469 VkBool32 micromapCaptureReplay; 18470 VkBool32 micromapHostCommands; 18471 } VkPhysicalDeviceOpacityMicromapFeaturesEXT; 18472 18473 typedef struct VkPhysicalDeviceOpacityMicromapPropertiesEXT { 18474 VkStructureType sType; 18475 void* pNext; 18476 uint32_t maxOpacity2StateSubdivisionLevel; 18477 uint32_t maxOpacity4StateSubdivisionLevel; 18478 } VkPhysicalDeviceOpacityMicromapPropertiesEXT; 18479 18480 typedef struct VkMicromapVersionInfoEXT { 18481 VkStructureType sType; 18482 const void* pNext; 18483 const uint8_t* pVersionData; 18484 } VkMicromapVersionInfoEXT; 18485 18486 typedef struct VkCopyMicromapToMemoryInfoEXT { 18487 VkStructureType sType; 18488 const void* pNext; 18489 VkMicromapEXT src; 18490 VkDeviceOrHostAddressKHR dst; 18491 VkCopyMicromapModeEXT mode; 18492 } VkCopyMicromapToMemoryInfoEXT; 18493 18494 typedef struct VkCopyMemoryToMicromapInfoEXT { 18495 VkStructureType sType; 18496 const void* pNext; 18497 VkDeviceOrHostAddressConstKHR src; 18498 VkMicromapEXT dst; 18499 VkCopyMicromapModeEXT mode; 18500 } VkCopyMemoryToMicromapInfoEXT; 18501 18502 typedef struct VkCopyMicromapInfoEXT { 18503 VkStructureType sType; 18504 const void* pNext; 18505 VkMicromapEXT src; 18506 VkMicromapEXT dst; 18507 VkCopyMicromapModeEXT mode; 18508 } VkCopyMicromapInfoEXT; 18509 18510 typedef struct VkMicromapBuildSizesInfoEXT { 18511 VkStructureType sType; 18512 const void* pNext; 18513 VkDeviceSize micromapSize; 18514 VkDeviceSize buildScratchSize; 18515 VkBool32 discardable; 18516 } VkMicromapBuildSizesInfoEXT; 18517 18518 typedef struct VkAccelerationStructureTrianglesOpacityMicromapEXT { 18519 VkStructureType sType; 18520 void* pNext; 18521 VkIndexType indexType; 18522 VkDeviceOrHostAddressConstKHR indexBuffer; 18523 VkDeviceSize indexStride; 18524 uint32_t baseTriangle; 18525 uint32_t usageCountsCount; 18526 const VkMicromapUsageEXT* pUsageCounts; 18527 const VkMicromapUsageEXT* const* ppUsageCounts; 18528 VkMicromapEXT micromap; 18529 } VkAccelerationStructureTrianglesOpacityMicromapEXT; 18530 18531 typedef struct VkMicromapTriangleEXT { 18532 uint32_t dataOffset; 18533 uint16_t subdivisionLevel; 18534 uint16_t format; 18535 } VkMicromapTriangleEXT; 18536 18537 typedef VkResult (VKAPI_PTR *PFN_vkCreateMicromapEXT)(VkDevice device, const VkMicromapCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkMicromapEXT* pMicromap); 18538 typedef void (VKAPI_PTR *PFN_vkDestroyMicromapEXT)(VkDevice device, VkMicromapEXT micromap, const VkAllocationCallbacks* pAllocator); 18539 typedef void (VKAPI_PTR *PFN_vkCmdBuildMicromapsEXT)(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkMicromapBuildInfoEXT* pInfos); 18540 typedef VkResult (VKAPI_PTR *PFN_vkBuildMicromapsEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkMicromapBuildInfoEXT* pInfos); 18541 typedef VkResult (VKAPI_PTR *PFN_vkCopyMicromapEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapInfoEXT* pInfo); 18542 typedef VkResult (VKAPI_PTR *PFN_vkCopyMicromapToMemoryEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapToMemoryInfoEXT* pInfo); 18543 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToMicromapEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToMicromapInfoEXT* pInfo); 18544 typedef VkResult (VKAPI_PTR *PFN_vkWriteMicromapsPropertiesEXT)(VkDevice device, uint32_t micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, size_t dataSize, void* pData, size_t stride); 18545 typedef void (VKAPI_PTR *PFN_vkCmdCopyMicromapEXT)(VkCommandBuffer commandBuffer, const VkCopyMicromapInfoEXT* pInfo); 18546 typedef void (VKAPI_PTR *PFN_vkCmdCopyMicromapToMemoryEXT)(VkCommandBuffer commandBuffer, const VkCopyMicromapToMemoryInfoEXT* pInfo); 18547 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToMicromapEXT)(VkCommandBuffer commandBuffer, const VkCopyMemoryToMicromapInfoEXT* pInfo); 18548 typedef void (VKAPI_PTR *PFN_vkCmdWriteMicromapsPropertiesEXT)(VkCommandBuffer commandBuffer, uint32_t micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery); 18549 typedef void (VKAPI_PTR *PFN_vkGetDeviceMicromapCompatibilityEXT)(VkDevice device, const VkMicromapVersionInfoEXT* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility); 18550 typedef void (VKAPI_PTR *PFN_vkGetMicromapBuildSizesEXT)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkMicromapBuildInfoEXT* pBuildInfo, VkMicromapBuildSizesInfoEXT* pSizeInfo); 18551 18552 #ifndef VK_NO_PROTOTYPES 18553 VKAPI_ATTR VkResult VKAPI_CALL vkCreateMicromapEXT( 18554 VkDevice device, 18555 const VkMicromapCreateInfoEXT* pCreateInfo, 18556 const VkAllocationCallbacks* pAllocator, 18557 VkMicromapEXT* pMicromap); 18558 18559 VKAPI_ATTR void VKAPI_CALL vkDestroyMicromapEXT( 18560 VkDevice device, 18561 VkMicromapEXT micromap, 18562 const VkAllocationCallbacks* pAllocator); 18563 18564 VKAPI_ATTR void VKAPI_CALL vkCmdBuildMicromapsEXT( 18565 VkCommandBuffer commandBuffer, 18566 uint32_t infoCount, 18567 const VkMicromapBuildInfoEXT* pInfos); 18568 18569 VKAPI_ATTR VkResult VKAPI_CALL vkBuildMicromapsEXT( 18570 VkDevice device, 18571 VkDeferredOperationKHR deferredOperation, 18572 uint32_t infoCount, 18573 const VkMicromapBuildInfoEXT* pInfos); 18574 18575 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMicromapEXT( 18576 VkDevice device, 18577 VkDeferredOperationKHR deferredOperation, 18578 const VkCopyMicromapInfoEXT* pInfo); 18579 18580 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMicromapToMemoryEXT( 18581 VkDevice device, 18582 VkDeferredOperationKHR deferredOperation, 18583 const VkCopyMicromapToMemoryInfoEXT* pInfo); 18584 18585 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToMicromapEXT( 18586 VkDevice device, 18587 VkDeferredOperationKHR deferredOperation, 18588 const VkCopyMemoryToMicromapInfoEXT* pInfo); 18589 18590 VKAPI_ATTR VkResult VKAPI_CALL vkWriteMicromapsPropertiesEXT( 18591 VkDevice device, 18592 uint32_t micromapCount, 18593 const VkMicromapEXT* pMicromaps, 18594 VkQueryType queryType, 18595 size_t dataSize, 18596 void* pData, 18597 size_t stride); 18598 18599 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMicromapEXT( 18600 VkCommandBuffer commandBuffer, 18601 const VkCopyMicromapInfoEXT* pInfo); 18602 18603 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMicromapToMemoryEXT( 18604 VkCommandBuffer commandBuffer, 18605 const VkCopyMicromapToMemoryInfoEXT* pInfo); 18606 18607 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToMicromapEXT( 18608 VkCommandBuffer commandBuffer, 18609 const VkCopyMemoryToMicromapInfoEXT* pInfo); 18610 18611 VKAPI_ATTR void VKAPI_CALL vkCmdWriteMicromapsPropertiesEXT( 18612 VkCommandBuffer commandBuffer, 18613 uint32_t micromapCount, 18614 const VkMicromapEXT* pMicromaps, 18615 VkQueryType queryType, 18616 VkQueryPool queryPool, 18617 uint32_t firstQuery); 18618 18619 VKAPI_ATTR void VKAPI_CALL vkGetDeviceMicromapCompatibilityEXT( 18620 VkDevice device, 18621 const VkMicromapVersionInfoEXT* pVersionInfo, 18622 VkAccelerationStructureCompatibilityKHR* pCompatibility); 18623 18624 VKAPI_ATTR void VKAPI_CALL vkGetMicromapBuildSizesEXT( 18625 VkDevice device, 18626 VkAccelerationStructureBuildTypeKHR buildType, 18627 const VkMicromapBuildInfoEXT* pBuildInfo, 18628 VkMicromapBuildSizesInfoEXT* pSizeInfo); 18629 #endif 18630 18631 18632 // VK_EXT_load_store_op_none is a preprocessor guard. Do not pass it to API calls. 18633 #define VK_EXT_load_store_op_none 1 18634 #define VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION 1 18635 #define VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME "VK_EXT_load_store_op_none" 18636 18637 18638 // VK_HUAWEI_cluster_culling_shader is a preprocessor guard. Do not pass it to API calls. 18639 #define VK_HUAWEI_cluster_culling_shader 1 18640 #define VK_HUAWEI_CLUSTER_CULLING_SHADER_SPEC_VERSION 3 18641 #define VK_HUAWEI_CLUSTER_CULLING_SHADER_EXTENSION_NAME "VK_HUAWEI_cluster_culling_shader" 18642 typedef struct VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI { 18643 VkStructureType sType; 18644 void* pNext; 18645 VkBool32 clustercullingShader; 18646 VkBool32 multiviewClusterCullingShader; 18647 } VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI; 18648 18649 typedef struct VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI { 18650 VkStructureType sType; 18651 void* pNext; 18652 uint32_t maxWorkGroupCount[3]; 18653 uint32_t maxWorkGroupSize[3]; 18654 uint32_t maxOutputClusterCount; 18655 VkDeviceSize indirectBufferOffsetAlignment; 18656 } VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI; 18657 18658 typedef struct VkPhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI { 18659 VkStructureType sType; 18660 void* pNext; 18661 VkBool32 clusterShadingRate; 18662 } VkPhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI; 18663 18664 typedef void (VKAPI_PTR *PFN_vkCmdDrawClusterHUAWEI)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ); 18665 typedef void (VKAPI_PTR *PFN_vkCmdDrawClusterIndirectHUAWEI)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset); 18666 18667 #ifndef VK_NO_PROTOTYPES 18668 VKAPI_ATTR void VKAPI_CALL vkCmdDrawClusterHUAWEI( 18669 VkCommandBuffer commandBuffer, 18670 uint32_t groupCountX, 18671 uint32_t groupCountY, 18672 uint32_t groupCountZ); 18673 18674 VKAPI_ATTR void VKAPI_CALL vkCmdDrawClusterIndirectHUAWEI( 18675 VkCommandBuffer commandBuffer, 18676 VkBuffer buffer, 18677 VkDeviceSize offset); 18678 #endif 18679 18680 18681 // VK_EXT_border_color_swizzle is a preprocessor guard. Do not pass it to API calls. 18682 #define VK_EXT_border_color_swizzle 1 18683 #define VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION 1 18684 #define VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME "VK_EXT_border_color_swizzle" 18685 typedef struct VkPhysicalDeviceBorderColorSwizzleFeaturesEXT { 18686 VkStructureType sType; 18687 void* pNext; 18688 VkBool32 borderColorSwizzle; 18689 VkBool32 borderColorSwizzleFromImage; 18690 } VkPhysicalDeviceBorderColorSwizzleFeaturesEXT; 18691 18692 typedef struct VkSamplerBorderColorComponentMappingCreateInfoEXT { 18693 VkStructureType sType; 18694 const void* pNext; 18695 VkComponentMapping components; 18696 VkBool32 srgb; 18697 } VkSamplerBorderColorComponentMappingCreateInfoEXT; 18698 18699 18700 18701 // VK_EXT_pageable_device_local_memory is a preprocessor guard. Do not pass it to API calls. 18702 #define VK_EXT_pageable_device_local_memory 1 18703 #define VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION 1 18704 #define VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME "VK_EXT_pageable_device_local_memory" 18705 typedef struct VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT { 18706 VkStructureType sType; 18707 void* pNext; 18708 VkBool32 pageableDeviceLocalMemory; 18709 } VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT; 18710 18711 typedef void (VKAPI_PTR *PFN_vkSetDeviceMemoryPriorityEXT)(VkDevice device, VkDeviceMemory memory, float priority); 18712 18713 #ifndef VK_NO_PROTOTYPES 18714 VKAPI_ATTR void VKAPI_CALL vkSetDeviceMemoryPriorityEXT( 18715 VkDevice device, 18716 VkDeviceMemory memory, 18717 float priority); 18718 #endif 18719 18720 18721 // VK_ARM_shader_core_properties is a preprocessor guard. Do not pass it to API calls. 18722 #define VK_ARM_shader_core_properties 1 18723 #define VK_ARM_SHADER_CORE_PROPERTIES_SPEC_VERSION 1 18724 #define VK_ARM_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_ARM_shader_core_properties" 18725 typedef struct VkPhysicalDeviceShaderCorePropertiesARM { 18726 VkStructureType sType; 18727 void* pNext; 18728 uint32_t pixelRate; 18729 uint32_t texelRate; 18730 uint32_t fmaRate; 18731 } VkPhysicalDeviceShaderCorePropertiesARM; 18732 18733 18734 18735 // VK_ARM_scheduling_controls is a preprocessor guard. Do not pass it to API calls. 18736 #define VK_ARM_scheduling_controls 1 18737 #define VK_ARM_SCHEDULING_CONTROLS_SPEC_VERSION 1 18738 #define VK_ARM_SCHEDULING_CONTROLS_EXTENSION_NAME "VK_ARM_scheduling_controls" 18739 typedef VkFlags64 VkPhysicalDeviceSchedulingControlsFlagsARM; 18740 18741 // Flag bits for VkPhysicalDeviceSchedulingControlsFlagBitsARM 18742 typedef VkFlags64 VkPhysicalDeviceSchedulingControlsFlagBitsARM; 18743 static const VkPhysicalDeviceSchedulingControlsFlagBitsARM VK_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_SHADER_CORE_COUNT_ARM = 0x00000001ULL; 18744 18745 typedef struct VkDeviceQueueShaderCoreControlCreateInfoARM { 18746 VkStructureType sType; 18747 void* pNext; 18748 uint32_t shaderCoreCount; 18749 } VkDeviceQueueShaderCoreControlCreateInfoARM; 18750 18751 typedef struct VkPhysicalDeviceSchedulingControlsFeaturesARM { 18752 VkStructureType sType; 18753 void* pNext; 18754 VkBool32 schedulingControls; 18755 } VkPhysicalDeviceSchedulingControlsFeaturesARM; 18756 18757 typedef struct VkPhysicalDeviceSchedulingControlsPropertiesARM { 18758 VkStructureType sType; 18759 void* pNext; 18760 VkPhysicalDeviceSchedulingControlsFlagsARM schedulingControlsFlags; 18761 } VkPhysicalDeviceSchedulingControlsPropertiesARM; 18762 18763 18764 18765 // VK_EXT_image_sliced_view_of_3d is a preprocessor guard. Do not pass it to API calls. 18766 #define VK_EXT_image_sliced_view_of_3d 1 18767 #define VK_EXT_IMAGE_SLICED_VIEW_OF_3D_SPEC_VERSION 1 18768 #define VK_EXT_IMAGE_SLICED_VIEW_OF_3D_EXTENSION_NAME "VK_EXT_image_sliced_view_of_3d" 18769 #define VK_REMAINING_3D_SLICES_EXT (~0U) 18770 typedef struct VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT { 18771 VkStructureType sType; 18772 void* pNext; 18773 VkBool32 imageSlicedViewOf3D; 18774 } VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT; 18775 18776 typedef struct VkImageViewSlicedCreateInfoEXT { 18777 VkStructureType sType; 18778 const void* pNext; 18779 uint32_t sliceOffset; 18780 uint32_t sliceCount; 18781 } VkImageViewSlicedCreateInfoEXT; 18782 18783 18784 18785 // VK_VALVE_descriptor_set_host_mapping is a preprocessor guard. Do not pass it to API calls. 18786 #define VK_VALVE_descriptor_set_host_mapping 1 18787 #define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION 1 18788 #define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME "VK_VALVE_descriptor_set_host_mapping" 18789 typedef struct VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE { 18790 VkStructureType sType; 18791 void* pNext; 18792 VkBool32 descriptorSetHostMapping; 18793 } VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE; 18794 18795 typedef struct VkDescriptorSetBindingReferenceVALVE { 18796 VkStructureType sType; 18797 const void* pNext; 18798 VkDescriptorSetLayout descriptorSetLayout; 18799 uint32_t binding; 18800 } VkDescriptorSetBindingReferenceVALVE; 18801 18802 typedef struct VkDescriptorSetLayoutHostMappingInfoVALVE { 18803 VkStructureType sType; 18804 void* pNext; 18805 size_t descriptorOffset; 18806 uint32_t descriptorSize; 18807 } VkDescriptorSetLayoutHostMappingInfoVALVE; 18808 18809 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE)(VkDevice device, const VkDescriptorSetBindingReferenceVALVE* pBindingReference, VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping); 18810 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetHostMappingVALVE)(VkDevice device, VkDescriptorSet descriptorSet, void** ppData); 18811 18812 #ifndef VK_NO_PROTOTYPES 18813 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutHostMappingInfoVALVE( 18814 VkDevice device, 18815 const VkDescriptorSetBindingReferenceVALVE* pBindingReference, 18816 VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping); 18817 18818 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetHostMappingVALVE( 18819 VkDevice device, 18820 VkDescriptorSet descriptorSet, 18821 void** ppData); 18822 #endif 18823 18824 18825 // VK_EXT_depth_clamp_zero_one is a preprocessor guard. Do not pass it to API calls. 18826 #define VK_EXT_depth_clamp_zero_one 1 18827 #define VK_EXT_DEPTH_CLAMP_ZERO_ONE_SPEC_VERSION 1 18828 #define VK_EXT_DEPTH_CLAMP_ZERO_ONE_EXTENSION_NAME "VK_EXT_depth_clamp_zero_one" 18829 typedef VkPhysicalDeviceDepthClampZeroOneFeaturesKHR VkPhysicalDeviceDepthClampZeroOneFeaturesEXT; 18830 18831 18832 18833 // VK_EXT_non_seamless_cube_map is a preprocessor guard. Do not pass it to API calls. 18834 #define VK_EXT_non_seamless_cube_map 1 18835 #define VK_EXT_NON_SEAMLESS_CUBE_MAP_SPEC_VERSION 1 18836 #define VK_EXT_NON_SEAMLESS_CUBE_MAP_EXTENSION_NAME "VK_EXT_non_seamless_cube_map" 18837 typedef struct VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT { 18838 VkStructureType sType; 18839 void* pNext; 18840 VkBool32 nonSeamlessCubeMap; 18841 } VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT; 18842 18843 18844 18845 // VK_ARM_render_pass_striped is a preprocessor guard. Do not pass it to API calls. 18846 #define VK_ARM_render_pass_striped 1 18847 #define VK_ARM_RENDER_PASS_STRIPED_SPEC_VERSION 1 18848 #define VK_ARM_RENDER_PASS_STRIPED_EXTENSION_NAME "VK_ARM_render_pass_striped" 18849 typedef struct VkPhysicalDeviceRenderPassStripedFeaturesARM { 18850 VkStructureType sType; 18851 void* pNext; 18852 VkBool32 renderPassStriped; 18853 } VkPhysicalDeviceRenderPassStripedFeaturesARM; 18854 18855 typedef struct VkPhysicalDeviceRenderPassStripedPropertiesARM { 18856 VkStructureType sType; 18857 void* pNext; 18858 VkExtent2D renderPassStripeGranularity; 18859 uint32_t maxRenderPassStripes; 18860 } VkPhysicalDeviceRenderPassStripedPropertiesARM; 18861 18862 typedef struct VkRenderPassStripeInfoARM { 18863 VkStructureType sType; 18864 const void* pNext; 18865 VkRect2D stripeArea; 18866 } VkRenderPassStripeInfoARM; 18867 18868 typedef struct VkRenderPassStripeBeginInfoARM { 18869 VkStructureType sType; 18870 const void* pNext; 18871 uint32_t stripeInfoCount; 18872 const VkRenderPassStripeInfoARM* pStripeInfos; 18873 } VkRenderPassStripeBeginInfoARM; 18874 18875 typedef struct VkRenderPassStripeSubmitInfoARM { 18876 VkStructureType sType; 18877 const void* pNext; 18878 uint32_t stripeSemaphoreInfoCount; 18879 const VkSemaphoreSubmitInfo* pStripeSemaphoreInfos; 18880 } VkRenderPassStripeSubmitInfoARM; 18881 18882 18883 18884 // VK_QCOM_fragment_density_map_offset is a preprocessor guard. Do not pass it to API calls. 18885 #define VK_QCOM_fragment_density_map_offset 1 18886 #define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION 2 18887 #define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME "VK_QCOM_fragment_density_map_offset" 18888 typedef struct VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM { 18889 VkStructureType sType; 18890 void* pNext; 18891 VkBool32 fragmentDensityMapOffset; 18892 } VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM; 18893 18894 typedef struct VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM { 18895 VkStructureType sType; 18896 void* pNext; 18897 VkExtent2D fragmentDensityOffsetGranularity; 18898 } VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM; 18899 18900 typedef struct VkSubpassFragmentDensityMapOffsetEndInfoQCOM { 18901 VkStructureType sType; 18902 const void* pNext; 18903 uint32_t fragmentDensityOffsetCount; 18904 const VkOffset2D* pFragmentDensityOffsets; 18905 } VkSubpassFragmentDensityMapOffsetEndInfoQCOM; 18906 18907 18908 18909 // VK_NV_copy_memory_indirect is a preprocessor guard. Do not pass it to API calls. 18910 #define VK_NV_copy_memory_indirect 1 18911 #define VK_NV_COPY_MEMORY_INDIRECT_SPEC_VERSION 1 18912 #define VK_NV_COPY_MEMORY_INDIRECT_EXTENSION_NAME "VK_NV_copy_memory_indirect" 18913 typedef struct VkCopyMemoryIndirectCommandNV { 18914 VkDeviceAddress srcAddress; 18915 VkDeviceAddress dstAddress; 18916 VkDeviceSize size; 18917 } VkCopyMemoryIndirectCommandNV; 18918 18919 typedef struct VkCopyMemoryToImageIndirectCommandNV { 18920 VkDeviceAddress srcAddress; 18921 uint32_t bufferRowLength; 18922 uint32_t bufferImageHeight; 18923 VkImageSubresourceLayers imageSubresource; 18924 VkOffset3D imageOffset; 18925 VkExtent3D imageExtent; 18926 } VkCopyMemoryToImageIndirectCommandNV; 18927 18928 typedef struct VkPhysicalDeviceCopyMemoryIndirectFeaturesNV { 18929 VkStructureType sType; 18930 void* pNext; 18931 VkBool32 indirectCopy; 18932 } VkPhysicalDeviceCopyMemoryIndirectFeaturesNV; 18933 18934 typedef struct VkPhysicalDeviceCopyMemoryIndirectPropertiesNV { 18935 VkStructureType sType; 18936 void* pNext; 18937 VkQueueFlags supportedQueues; 18938 } VkPhysicalDeviceCopyMemoryIndirectPropertiesNV; 18939 18940 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryIndirectNV)(VkCommandBuffer commandBuffer, VkDeviceAddress copyBufferAddress, uint32_t copyCount, uint32_t stride); 18941 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToImageIndirectNV)(VkCommandBuffer commandBuffer, VkDeviceAddress copyBufferAddress, uint32_t copyCount, uint32_t stride, VkImage dstImage, VkImageLayout dstImageLayout, const VkImageSubresourceLayers* pImageSubresources); 18942 18943 #ifndef VK_NO_PROTOTYPES 18944 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryIndirectNV( 18945 VkCommandBuffer commandBuffer, 18946 VkDeviceAddress copyBufferAddress, 18947 uint32_t copyCount, 18948 uint32_t stride); 18949 18950 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToImageIndirectNV( 18951 VkCommandBuffer commandBuffer, 18952 VkDeviceAddress copyBufferAddress, 18953 uint32_t copyCount, 18954 uint32_t stride, 18955 VkImage dstImage, 18956 VkImageLayout dstImageLayout, 18957 const VkImageSubresourceLayers* pImageSubresources); 18958 #endif 18959 18960 18961 // VK_NV_memory_decompression is a preprocessor guard. Do not pass it to API calls. 18962 #define VK_NV_memory_decompression 1 18963 #define VK_NV_MEMORY_DECOMPRESSION_SPEC_VERSION 1 18964 #define VK_NV_MEMORY_DECOMPRESSION_EXTENSION_NAME "VK_NV_memory_decompression" 18965 18966 // Flag bits for VkMemoryDecompressionMethodFlagBitsNV 18967 typedef VkFlags64 VkMemoryDecompressionMethodFlagBitsNV; 18968 static const VkMemoryDecompressionMethodFlagBitsNV VK_MEMORY_DECOMPRESSION_METHOD_GDEFLATE_1_0_BIT_NV = 0x00000001ULL; 18969 18970 typedef VkFlags64 VkMemoryDecompressionMethodFlagsNV; 18971 typedef struct VkDecompressMemoryRegionNV { 18972 VkDeviceAddress srcAddress; 18973 VkDeviceAddress dstAddress; 18974 VkDeviceSize compressedSize; 18975 VkDeviceSize decompressedSize; 18976 VkMemoryDecompressionMethodFlagsNV decompressionMethod; 18977 } VkDecompressMemoryRegionNV; 18978 18979 typedef struct VkPhysicalDeviceMemoryDecompressionFeaturesNV { 18980 VkStructureType sType; 18981 void* pNext; 18982 VkBool32 memoryDecompression; 18983 } VkPhysicalDeviceMemoryDecompressionFeaturesNV; 18984 18985 typedef struct VkPhysicalDeviceMemoryDecompressionPropertiesNV { 18986 VkStructureType sType; 18987 void* pNext; 18988 VkMemoryDecompressionMethodFlagsNV decompressionMethods; 18989 uint64_t maxDecompressionIndirectCount; 18990 } VkPhysicalDeviceMemoryDecompressionPropertiesNV; 18991 18992 typedef void (VKAPI_PTR *PFN_vkCmdDecompressMemoryNV)(VkCommandBuffer commandBuffer, uint32_t decompressRegionCount, const VkDecompressMemoryRegionNV* pDecompressMemoryRegions); 18993 typedef void (VKAPI_PTR *PFN_vkCmdDecompressMemoryIndirectCountNV)(VkCommandBuffer commandBuffer, VkDeviceAddress indirectCommandsAddress, VkDeviceAddress indirectCommandsCountAddress, uint32_t stride); 18994 18995 #ifndef VK_NO_PROTOTYPES 18996 VKAPI_ATTR void VKAPI_CALL vkCmdDecompressMemoryNV( 18997 VkCommandBuffer commandBuffer, 18998 uint32_t decompressRegionCount, 18999 const VkDecompressMemoryRegionNV* pDecompressMemoryRegions); 19000 19001 VKAPI_ATTR void VKAPI_CALL vkCmdDecompressMemoryIndirectCountNV( 19002 VkCommandBuffer commandBuffer, 19003 VkDeviceAddress indirectCommandsAddress, 19004 VkDeviceAddress indirectCommandsCountAddress, 19005 uint32_t stride); 19006 #endif 19007 19008 19009 // VK_NV_device_generated_commands_compute is a preprocessor guard. Do not pass it to API calls. 19010 #define VK_NV_device_generated_commands_compute 1 19011 #define VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_SPEC_VERSION 2 19012 #define VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_EXTENSION_NAME "VK_NV_device_generated_commands_compute" 19013 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV { 19014 VkStructureType sType; 19015 void* pNext; 19016 VkBool32 deviceGeneratedCompute; 19017 VkBool32 deviceGeneratedComputePipelines; 19018 VkBool32 deviceGeneratedComputeCaptureReplay; 19019 } VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV; 19020 19021 typedef struct VkComputePipelineIndirectBufferInfoNV { 19022 VkStructureType sType; 19023 const void* pNext; 19024 VkDeviceAddress deviceAddress; 19025 VkDeviceSize size; 19026 VkDeviceAddress pipelineDeviceAddressCaptureReplay; 19027 } VkComputePipelineIndirectBufferInfoNV; 19028 19029 typedef struct VkPipelineIndirectDeviceAddressInfoNV { 19030 VkStructureType sType; 19031 const void* pNext; 19032 VkPipelineBindPoint pipelineBindPoint; 19033 VkPipeline pipeline; 19034 } VkPipelineIndirectDeviceAddressInfoNV; 19035 19036 typedef struct VkBindPipelineIndirectCommandNV { 19037 VkDeviceAddress pipelineAddress; 19038 } VkBindPipelineIndirectCommandNV; 19039 19040 typedef void (VKAPI_PTR *PFN_vkGetPipelineIndirectMemoryRequirementsNV)(VkDevice device, const VkComputePipelineCreateInfo* pCreateInfo, VkMemoryRequirements2* pMemoryRequirements); 19041 typedef void (VKAPI_PTR *PFN_vkCmdUpdatePipelineIndirectBufferNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline); 19042 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetPipelineIndirectDeviceAddressNV)(VkDevice device, const VkPipelineIndirectDeviceAddressInfoNV* pInfo); 19043 19044 #ifndef VK_NO_PROTOTYPES 19045 VKAPI_ATTR void VKAPI_CALL vkGetPipelineIndirectMemoryRequirementsNV( 19046 VkDevice device, 19047 const VkComputePipelineCreateInfo* pCreateInfo, 19048 VkMemoryRequirements2* pMemoryRequirements); 19049 19050 VKAPI_ATTR void VKAPI_CALL vkCmdUpdatePipelineIndirectBufferNV( 19051 VkCommandBuffer commandBuffer, 19052 VkPipelineBindPoint pipelineBindPoint, 19053 VkPipeline pipeline); 19054 19055 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetPipelineIndirectDeviceAddressNV( 19056 VkDevice device, 19057 const VkPipelineIndirectDeviceAddressInfoNV* pInfo); 19058 #endif 19059 19060 19061 // VK_NV_ray_tracing_linear_swept_spheres is a preprocessor guard. Do not pass it to API calls. 19062 #define VK_NV_ray_tracing_linear_swept_spheres 1 19063 #define VK_NV_RAY_TRACING_LINEAR_SWEPT_SPHERES_SPEC_VERSION 1 19064 #define VK_NV_RAY_TRACING_LINEAR_SWEPT_SPHERES_EXTENSION_NAME "VK_NV_ray_tracing_linear_swept_spheres" 19065 19066 typedef enum VkRayTracingLssIndexingModeNV { 19067 VK_RAY_TRACING_LSS_INDEXING_MODE_LIST_NV = 0, 19068 VK_RAY_TRACING_LSS_INDEXING_MODE_SUCCESSIVE_NV = 1, 19069 VK_RAY_TRACING_LSS_INDEXING_MODE_MAX_ENUM_NV = 0x7FFFFFFF 19070 } VkRayTracingLssIndexingModeNV; 19071 19072 typedef enum VkRayTracingLssPrimitiveEndCapsModeNV { 19073 VK_RAY_TRACING_LSS_PRIMITIVE_END_CAPS_MODE_NONE_NV = 0, 19074 VK_RAY_TRACING_LSS_PRIMITIVE_END_CAPS_MODE_CHAINED_NV = 1, 19075 VK_RAY_TRACING_LSS_PRIMITIVE_END_CAPS_MODE_MAX_ENUM_NV = 0x7FFFFFFF 19076 } VkRayTracingLssPrimitiveEndCapsModeNV; 19077 typedef struct VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV { 19078 VkStructureType sType; 19079 void* pNext; 19080 VkBool32 spheres; 19081 VkBool32 linearSweptSpheres; 19082 } VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV; 19083 19084 typedef struct VkAccelerationStructureGeometryLinearSweptSpheresDataNV { 19085 VkStructureType sType; 19086 const void* pNext; 19087 VkFormat vertexFormat; 19088 VkDeviceOrHostAddressConstKHR vertexData; 19089 VkDeviceSize vertexStride; 19090 VkFormat radiusFormat; 19091 VkDeviceOrHostAddressConstKHR radiusData; 19092 VkDeviceSize radiusStride; 19093 VkIndexType indexType; 19094 VkDeviceOrHostAddressConstKHR indexData; 19095 VkDeviceSize indexStride; 19096 VkRayTracingLssIndexingModeNV indexingMode; 19097 VkRayTracingLssPrimitiveEndCapsModeNV endCapsMode; 19098 } VkAccelerationStructureGeometryLinearSweptSpheresDataNV; 19099 19100 typedef struct VkAccelerationStructureGeometrySpheresDataNV { 19101 VkStructureType sType; 19102 const void* pNext; 19103 VkFormat vertexFormat; 19104 VkDeviceOrHostAddressConstKHR vertexData; 19105 VkDeviceSize vertexStride; 19106 VkFormat radiusFormat; 19107 VkDeviceOrHostAddressConstKHR radiusData; 19108 VkDeviceSize radiusStride; 19109 VkIndexType indexType; 19110 VkDeviceOrHostAddressConstKHR indexData; 19111 VkDeviceSize indexStride; 19112 } VkAccelerationStructureGeometrySpheresDataNV; 19113 19114 19115 19116 // VK_NV_linear_color_attachment is a preprocessor guard. Do not pass it to API calls. 19117 #define VK_NV_linear_color_attachment 1 19118 #define VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION 1 19119 #define VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME "VK_NV_linear_color_attachment" 19120 typedef struct VkPhysicalDeviceLinearColorAttachmentFeaturesNV { 19121 VkStructureType sType; 19122 void* pNext; 19123 VkBool32 linearColorAttachment; 19124 } VkPhysicalDeviceLinearColorAttachmentFeaturesNV; 19125 19126 19127 19128 // VK_GOOGLE_surfaceless_query is a preprocessor guard. Do not pass it to API calls. 19129 #define VK_GOOGLE_surfaceless_query 1 19130 #define VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION 2 19131 #define VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME "VK_GOOGLE_surfaceless_query" 19132 19133 19134 // VK_EXT_image_compression_control_swapchain is a preprocessor guard. Do not pass it to API calls. 19135 #define VK_EXT_image_compression_control_swapchain 1 19136 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_SPEC_VERSION 1 19137 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_EXTENSION_NAME "VK_EXT_image_compression_control_swapchain" 19138 typedef struct VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT { 19139 VkStructureType sType; 19140 void* pNext; 19141 VkBool32 imageCompressionControlSwapchain; 19142 } VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT; 19143 19144 19145 19146 // VK_QCOM_image_processing is a preprocessor guard. Do not pass it to API calls. 19147 #define VK_QCOM_image_processing 1 19148 #define VK_QCOM_IMAGE_PROCESSING_SPEC_VERSION 1 19149 #define VK_QCOM_IMAGE_PROCESSING_EXTENSION_NAME "VK_QCOM_image_processing" 19150 typedef struct VkImageViewSampleWeightCreateInfoQCOM { 19151 VkStructureType sType; 19152 const void* pNext; 19153 VkOffset2D filterCenter; 19154 VkExtent2D filterSize; 19155 uint32_t numPhases; 19156 } VkImageViewSampleWeightCreateInfoQCOM; 19157 19158 typedef struct VkPhysicalDeviceImageProcessingFeaturesQCOM { 19159 VkStructureType sType; 19160 void* pNext; 19161 VkBool32 textureSampleWeighted; 19162 VkBool32 textureBoxFilter; 19163 VkBool32 textureBlockMatch; 19164 } VkPhysicalDeviceImageProcessingFeaturesQCOM; 19165 19166 typedef struct VkPhysicalDeviceImageProcessingPropertiesQCOM { 19167 VkStructureType sType; 19168 void* pNext; 19169 uint32_t maxWeightFilterPhases; 19170 VkExtent2D maxWeightFilterDimension; 19171 VkExtent2D maxBlockMatchRegion; 19172 VkExtent2D maxBoxFilterBlockSize; 19173 } VkPhysicalDeviceImageProcessingPropertiesQCOM; 19174 19175 19176 19177 // VK_EXT_nested_command_buffer is a preprocessor guard. Do not pass it to API calls. 19178 #define VK_EXT_nested_command_buffer 1 19179 #define VK_EXT_NESTED_COMMAND_BUFFER_SPEC_VERSION 1 19180 #define VK_EXT_NESTED_COMMAND_BUFFER_EXTENSION_NAME "VK_EXT_nested_command_buffer" 19181 typedef struct VkPhysicalDeviceNestedCommandBufferFeaturesEXT { 19182 VkStructureType sType; 19183 void* pNext; 19184 VkBool32 nestedCommandBuffer; 19185 VkBool32 nestedCommandBufferRendering; 19186 VkBool32 nestedCommandBufferSimultaneousUse; 19187 } VkPhysicalDeviceNestedCommandBufferFeaturesEXT; 19188 19189 typedef struct VkPhysicalDeviceNestedCommandBufferPropertiesEXT { 19190 VkStructureType sType; 19191 void* pNext; 19192 uint32_t maxCommandBufferNestingLevel; 19193 } VkPhysicalDeviceNestedCommandBufferPropertiesEXT; 19194 19195 19196 19197 // VK_EXT_external_memory_acquire_unmodified is a preprocessor guard. Do not pass it to API calls. 19198 #define VK_EXT_external_memory_acquire_unmodified 1 19199 #define VK_EXT_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_SPEC_VERSION 1 19200 #define VK_EXT_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXTENSION_NAME "VK_EXT_external_memory_acquire_unmodified" 19201 typedef struct VkExternalMemoryAcquireUnmodifiedEXT { 19202 VkStructureType sType; 19203 const void* pNext; 19204 VkBool32 acquireUnmodifiedMemory; 19205 } VkExternalMemoryAcquireUnmodifiedEXT; 19206 19207 19208 19209 // VK_EXT_extended_dynamic_state3 is a preprocessor guard. Do not pass it to API calls. 19210 #define VK_EXT_extended_dynamic_state3 1 19211 #define VK_EXT_EXTENDED_DYNAMIC_STATE_3_SPEC_VERSION 2 19212 #define VK_EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME "VK_EXT_extended_dynamic_state3" 19213 typedef struct VkPhysicalDeviceExtendedDynamicState3FeaturesEXT { 19214 VkStructureType sType; 19215 void* pNext; 19216 VkBool32 extendedDynamicState3TessellationDomainOrigin; 19217 VkBool32 extendedDynamicState3DepthClampEnable; 19218 VkBool32 extendedDynamicState3PolygonMode; 19219 VkBool32 extendedDynamicState3RasterizationSamples; 19220 VkBool32 extendedDynamicState3SampleMask; 19221 VkBool32 extendedDynamicState3AlphaToCoverageEnable; 19222 VkBool32 extendedDynamicState3AlphaToOneEnable; 19223 VkBool32 extendedDynamicState3LogicOpEnable; 19224 VkBool32 extendedDynamicState3ColorBlendEnable; 19225 VkBool32 extendedDynamicState3ColorBlendEquation; 19226 VkBool32 extendedDynamicState3ColorWriteMask; 19227 VkBool32 extendedDynamicState3RasterizationStream; 19228 VkBool32 extendedDynamicState3ConservativeRasterizationMode; 19229 VkBool32 extendedDynamicState3ExtraPrimitiveOverestimationSize; 19230 VkBool32 extendedDynamicState3DepthClipEnable; 19231 VkBool32 extendedDynamicState3SampleLocationsEnable; 19232 VkBool32 extendedDynamicState3ColorBlendAdvanced; 19233 VkBool32 extendedDynamicState3ProvokingVertexMode; 19234 VkBool32 extendedDynamicState3LineRasterizationMode; 19235 VkBool32 extendedDynamicState3LineStippleEnable; 19236 VkBool32 extendedDynamicState3DepthClipNegativeOneToOne; 19237 VkBool32 extendedDynamicState3ViewportWScalingEnable; 19238 VkBool32 extendedDynamicState3ViewportSwizzle; 19239 VkBool32 extendedDynamicState3CoverageToColorEnable; 19240 VkBool32 extendedDynamicState3CoverageToColorLocation; 19241 VkBool32 extendedDynamicState3CoverageModulationMode; 19242 VkBool32 extendedDynamicState3CoverageModulationTableEnable; 19243 VkBool32 extendedDynamicState3CoverageModulationTable; 19244 VkBool32 extendedDynamicState3CoverageReductionMode; 19245 VkBool32 extendedDynamicState3RepresentativeFragmentTestEnable; 19246 VkBool32 extendedDynamicState3ShadingRateImageEnable; 19247 } VkPhysicalDeviceExtendedDynamicState3FeaturesEXT; 19248 19249 typedef struct VkPhysicalDeviceExtendedDynamicState3PropertiesEXT { 19250 VkStructureType sType; 19251 void* pNext; 19252 VkBool32 dynamicPrimitiveTopologyUnrestricted; 19253 } VkPhysicalDeviceExtendedDynamicState3PropertiesEXT; 19254 19255 typedef struct VkColorBlendEquationEXT { 19256 VkBlendFactor srcColorBlendFactor; 19257 VkBlendFactor dstColorBlendFactor; 19258 VkBlendOp colorBlendOp; 19259 VkBlendFactor srcAlphaBlendFactor; 19260 VkBlendFactor dstAlphaBlendFactor; 19261 VkBlendOp alphaBlendOp; 19262 } VkColorBlendEquationEXT; 19263 19264 typedef struct VkColorBlendAdvancedEXT { 19265 VkBlendOp advancedBlendOp; 19266 VkBool32 srcPremultiplied; 19267 VkBool32 dstPremultiplied; 19268 VkBlendOverlapEXT blendOverlap; 19269 VkBool32 clampResults; 19270 } VkColorBlendAdvancedEXT; 19271 19272 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClampEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthClampEnable); 19273 typedef void (VKAPI_PTR *PFN_vkCmdSetPolygonModeEXT)(VkCommandBuffer commandBuffer, VkPolygonMode polygonMode); 19274 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizationSamplesEXT)(VkCommandBuffer commandBuffer, VkSampleCountFlagBits rasterizationSamples); 19275 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleMaskEXT)(VkCommandBuffer commandBuffer, VkSampleCountFlagBits samples, const VkSampleMask* pSampleMask); 19276 typedef void (VKAPI_PTR *PFN_vkCmdSetAlphaToCoverageEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 alphaToCoverageEnable); 19277 typedef void (VKAPI_PTR *PFN_vkCmdSetAlphaToOneEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 alphaToOneEnable); 19278 typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 logicOpEnable); 19279 typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendEnableEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkBool32* pColorBlendEnables); 19280 typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendEquationEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendEquationEXT* pColorBlendEquations); 19281 typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteMaskEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorComponentFlags* pColorWriteMasks); 19282 typedef void (VKAPI_PTR *PFN_vkCmdSetTessellationDomainOriginEXT)(VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin); 19283 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizationStreamEXT)(VkCommandBuffer commandBuffer, uint32_t rasterizationStream); 19284 typedef void (VKAPI_PTR *PFN_vkCmdSetConservativeRasterizationModeEXT)(VkCommandBuffer commandBuffer, VkConservativeRasterizationModeEXT conservativeRasterizationMode); 19285 typedef void (VKAPI_PTR *PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT)(VkCommandBuffer commandBuffer, float extraPrimitiveOverestimationSize); 19286 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClipEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthClipEnable); 19287 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 sampleLocationsEnable); 19288 typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendAdvancedEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendAdvancedEXT* pColorBlendAdvanced); 19289 typedef void (VKAPI_PTR *PFN_vkCmdSetProvokingVertexModeEXT)(VkCommandBuffer commandBuffer, VkProvokingVertexModeEXT provokingVertexMode); 19290 typedef void (VKAPI_PTR *PFN_vkCmdSetLineRasterizationModeEXT)(VkCommandBuffer commandBuffer, VkLineRasterizationModeEXT lineRasterizationMode); 19291 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stippledLineEnable); 19292 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClipNegativeOneToOneEXT)(VkCommandBuffer commandBuffer, VkBool32 negativeOneToOne); 19293 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingEnableNV)(VkCommandBuffer commandBuffer, VkBool32 viewportWScalingEnable); 19294 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportSwizzleNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportSwizzleNV* pViewportSwizzles); 19295 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageToColorEnableNV)(VkCommandBuffer commandBuffer, VkBool32 coverageToColorEnable); 19296 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageToColorLocationNV)(VkCommandBuffer commandBuffer, uint32_t coverageToColorLocation); 19297 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageModulationModeNV)(VkCommandBuffer commandBuffer, VkCoverageModulationModeNV coverageModulationMode); 19298 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageModulationTableEnableNV)(VkCommandBuffer commandBuffer, VkBool32 coverageModulationTableEnable); 19299 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageModulationTableNV)(VkCommandBuffer commandBuffer, uint32_t coverageModulationTableCount, const float* pCoverageModulationTable); 19300 typedef void (VKAPI_PTR *PFN_vkCmdSetShadingRateImageEnableNV)(VkCommandBuffer commandBuffer, VkBool32 shadingRateImageEnable); 19301 typedef void (VKAPI_PTR *PFN_vkCmdSetRepresentativeFragmentTestEnableNV)(VkCommandBuffer commandBuffer, VkBool32 representativeFragmentTestEnable); 19302 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageReductionModeNV)(VkCommandBuffer commandBuffer, VkCoverageReductionModeNV coverageReductionMode); 19303 19304 #ifndef VK_NO_PROTOTYPES 19305 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClampEnableEXT( 19306 VkCommandBuffer commandBuffer, 19307 VkBool32 depthClampEnable); 19308 19309 VKAPI_ATTR void VKAPI_CALL vkCmdSetPolygonModeEXT( 19310 VkCommandBuffer commandBuffer, 19311 VkPolygonMode polygonMode); 19312 19313 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizationSamplesEXT( 19314 VkCommandBuffer commandBuffer, 19315 VkSampleCountFlagBits rasterizationSamples); 19316 19317 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleMaskEXT( 19318 VkCommandBuffer commandBuffer, 19319 VkSampleCountFlagBits samples, 19320 const VkSampleMask* pSampleMask); 19321 19322 VKAPI_ATTR void VKAPI_CALL vkCmdSetAlphaToCoverageEnableEXT( 19323 VkCommandBuffer commandBuffer, 19324 VkBool32 alphaToCoverageEnable); 19325 19326 VKAPI_ATTR void VKAPI_CALL vkCmdSetAlphaToOneEnableEXT( 19327 VkCommandBuffer commandBuffer, 19328 VkBool32 alphaToOneEnable); 19329 19330 VKAPI_ATTR void VKAPI_CALL vkCmdSetLogicOpEnableEXT( 19331 VkCommandBuffer commandBuffer, 19332 VkBool32 logicOpEnable); 19333 19334 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorBlendEnableEXT( 19335 VkCommandBuffer commandBuffer, 19336 uint32_t firstAttachment, 19337 uint32_t attachmentCount, 19338 const VkBool32* pColorBlendEnables); 19339 19340 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorBlendEquationEXT( 19341 VkCommandBuffer commandBuffer, 19342 uint32_t firstAttachment, 19343 uint32_t attachmentCount, 19344 const VkColorBlendEquationEXT* pColorBlendEquations); 19345 19346 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteMaskEXT( 19347 VkCommandBuffer commandBuffer, 19348 uint32_t firstAttachment, 19349 uint32_t attachmentCount, 19350 const VkColorComponentFlags* pColorWriteMasks); 19351 19352 VKAPI_ATTR void VKAPI_CALL vkCmdSetTessellationDomainOriginEXT( 19353 VkCommandBuffer commandBuffer, 19354 VkTessellationDomainOrigin domainOrigin); 19355 19356 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizationStreamEXT( 19357 VkCommandBuffer commandBuffer, 19358 uint32_t rasterizationStream); 19359 19360 VKAPI_ATTR void VKAPI_CALL vkCmdSetConservativeRasterizationModeEXT( 19361 VkCommandBuffer commandBuffer, 19362 VkConservativeRasterizationModeEXT conservativeRasterizationMode); 19363 19364 VKAPI_ATTR void VKAPI_CALL vkCmdSetExtraPrimitiveOverestimationSizeEXT( 19365 VkCommandBuffer commandBuffer, 19366 float extraPrimitiveOverestimationSize); 19367 19368 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClipEnableEXT( 19369 VkCommandBuffer commandBuffer, 19370 VkBool32 depthClipEnable); 19371 19372 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEnableEXT( 19373 VkCommandBuffer commandBuffer, 19374 VkBool32 sampleLocationsEnable); 19375 19376 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorBlendAdvancedEXT( 19377 VkCommandBuffer commandBuffer, 19378 uint32_t firstAttachment, 19379 uint32_t attachmentCount, 19380 const VkColorBlendAdvancedEXT* pColorBlendAdvanced); 19381 19382 VKAPI_ATTR void VKAPI_CALL vkCmdSetProvokingVertexModeEXT( 19383 VkCommandBuffer commandBuffer, 19384 VkProvokingVertexModeEXT provokingVertexMode); 19385 19386 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineRasterizationModeEXT( 19387 VkCommandBuffer commandBuffer, 19388 VkLineRasterizationModeEXT lineRasterizationMode); 19389 19390 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEnableEXT( 19391 VkCommandBuffer commandBuffer, 19392 VkBool32 stippledLineEnable); 19393 19394 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClipNegativeOneToOneEXT( 19395 VkCommandBuffer commandBuffer, 19396 VkBool32 negativeOneToOne); 19397 19398 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingEnableNV( 19399 VkCommandBuffer commandBuffer, 19400 VkBool32 viewportWScalingEnable); 19401 19402 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportSwizzleNV( 19403 VkCommandBuffer commandBuffer, 19404 uint32_t firstViewport, 19405 uint32_t viewportCount, 19406 const VkViewportSwizzleNV* pViewportSwizzles); 19407 19408 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageToColorEnableNV( 19409 VkCommandBuffer commandBuffer, 19410 VkBool32 coverageToColorEnable); 19411 19412 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageToColorLocationNV( 19413 VkCommandBuffer commandBuffer, 19414 uint32_t coverageToColorLocation); 19415 19416 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageModulationModeNV( 19417 VkCommandBuffer commandBuffer, 19418 VkCoverageModulationModeNV coverageModulationMode); 19419 19420 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageModulationTableEnableNV( 19421 VkCommandBuffer commandBuffer, 19422 VkBool32 coverageModulationTableEnable); 19423 19424 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageModulationTableNV( 19425 VkCommandBuffer commandBuffer, 19426 uint32_t coverageModulationTableCount, 19427 const float* pCoverageModulationTable); 19428 19429 VKAPI_ATTR void VKAPI_CALL vkCmdSetShadingRateImageEnableNV( 19430 VkCommandBuffer commandBuffer, 19431 VkBool32 shadingRateImageEnable); 19432 19433 VKAPI_ATTR void VKAPI_CALL vkCmdSetRepresentativeFragmentTestEnableNV( 19434 VkCommandBuffer commandBuffer, 19435 VkBool32 representativeFragmentTestEnable); 19436 19437 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageReductionModeNV( 19438 VkCommandBuffer commandBuffer, 19439 VkCoverageReductionModeNV coverageReductionMode); 19440 #endif 19441 19442 19443 // VK_EXT_subpass_merge_feedback is a preprocessor guard. Do not pass it to API calls. 19444 #define VK_EXT_subpass_merge_feedback 1 19445 #define VK_EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION 2 19446 #define VK_EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME "VK_EXT_subpass_merge_feedback" 19447 19448 typedef enum VkSubpassMergeStatusEXT { 19449 VK_SUBPASS_MERGE_STATUS_MERGED_EXT = 0, 19450 VK_SUBPASS_MERGE_STATUS_DISALLOWED_EXT = 1, 19451 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SIDE_EFFECTS_EXT = 2, 19452 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SAMPLES_MISMATCH_EXT = 3, 19453 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_VIEWS_MISMATCH_EXT = 4, 19454 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_ALIASING_EXT = 5, 19455 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPENDENCIES_EXT = 6, 19456 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INCOMPATIBLE_INPUT_ATTACHMENT_EXT = 7, 19457 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_TOO_MANY_ATTACHMENTS_EXT = 8, 19458 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INSUFFICIENT_STORAGE_EXT = 9, 19459 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPTH_STENCIL_COUNT_EXT = 10, 19460 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_RESOLVE_ATTACHMENT_REUSE_EXT = 11, 19461 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SINGLE_SUBPASS_EXT = 12, 19462 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_UNSPECIFIED_EXT = 13, 19463 VK_SUBPASS_MERGE_STATUS_MAX_ENUM_EXT = 0x7FFFFFFF 19464 } VkSubpassMergeStatusEXT; 19465 typedef struct VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT { 19466 VkStructureType sType; 19467 void* pNext; 19468 VkBool32 subpassMergeFeedback; 19469 } VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT; 19470 19471 typedef struct VkRenderPassCreationControlEXT { 19472 VkStructureType sType; 19473 const void* pNext; 19474 VkBool32 disallowMerging; 19475 } VkRenderPassCreationControlEXT; 19476 19477 typedef struct VkRenderPassCreationFeedbackInfoEXT { 19478 uint32_t postMergeSubpassCount; 19479 } VkRenderPassCreationFeedbackInfoEXT; 19480 19481 typedef struct VkRenderPassCreationFeedbackCreateInfoEXT { 19482 VkStructureType sType; 19483 const void* pNext; 19484 VkRenderPassCreationFeedbackInfoEXT* pRenderPassFeedback; 19485 } VkRenderPassCreationFeedbackCreateInfoEXT; 19486 19487 typedef struct VkRenderPassSubpassFeedbackInfoEXT { 19488 VkSubpassMergeStatusEXT subpassMergeStatus; 19489 char description[VK_MAX_DESCRIPTION_SIZE]; 19490 uint32_t postMergeIndex; 19491 } VkRenderPassSubpassFeedbackInfoEXT; 19492 19493 typedef struct VkRenderPassSubpassFeedbackCreateInfoEXT { 19494 VkStructureType sType; 19495 const void* pNext; 19496 VkRenderPassSubpassFeedbackInfoEXT* pSubpassFeedback; 19497 } VkRenderPassSubpassFeedbackCreateInfoEXT; 19498 19499 19500 19501 // VK_LUNARG_direct_driver_loading is a preprocessor guard. Do not pass it to API calls. 19502 #define VK_LUNARG_direct_driver_loading 1 19503 #define VK_LUNARG_DIRECT_DRIVER_LOADING_SPEC_VERSION 1 19504 #define VK_LUNARG_DIRECT_DRIVER_LOADING_EXTENSION_NAME "VK_LUNARG_direct_driver_loading" 19505 19506 typedef enum VkDirectDriverLoadingModeLUNARG { 19507 VK_DIRECT_DRIVER_LOADING_MODE_EXCLUSIVE_LUNARG = 0, 19508 VK_DIRECT_DRIVER_LOADING_MODE_INCLUSIVE_LUNARG = 1, 19509 VK_DIRECT_DRIVER_LOADING_MODE_MAX_ENUM_LUNARG = 0x7FFFFFFF 19510 } VkDirectDriverLoadingModeLUNARG; 19511 typedef VkFlags VkDirectDriverLoadingFlagsLUNARG; 19512 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddrLUNARG)( 19513 VkInstance instance, const char* pName); 19514 19515 typedef struct VkDirectDriverLoadingInfoLUNARG { 19516 VkStructureType sType; 19517 void* pNext; 19518 VkDirectDriverLoadingFlagsLUNARG flags; 19519 PFN_vkGetInstanceProcAddrLUNARG pfnGetInstanceProcAddr; 19520 } VkDirectDriverLoadingInfoLUNARG; 19521 19522 typedef struct VkDirectDriverLoadingListLUNARG { 19523 VkStructureType sType; 19524 const void* pNext; 19525 VkDirectDriverLoadingModeLUNARG mode; 19526 uint32_t driverCount; 19527 const VkDirectDriverLoadingInfoLUNARG* pDrivers; 19528 } VkDirectDriverLoadingListLUNARG; 19529 19530 19531 19532 // VK_EXT_shader_module_identifier is a preprocessor guard. Do not pass it to API calls. 19533 #define VK_EXT_shader_module_identifier 1 19534 #define VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT 32U 19535 #define VK_EXT_SHADER_MODULE_IDENTIFIER_SPEC_VERSION 1 19536 #define VK_EXT_SHADER_MODULE_IDENTIFIER_EXTENSION_NAME "VK_EXT_shader_module_identifier" 19537 typedef struct VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT { 19538 VkStructureType sType; 19539 void* pNext; 19540 VkBool32 shaderModuleIdentifier; 19541 } VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT; 19542 19543 typedef struct VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT { 19544 VkStructureType sType; 19545 void* pNext; 19546 uint8_t shaderModuleIdentifierAlgorithmUUID[VK_UUID_SIZE]; 19547 } VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT; 19548 19549 typedef struct VkPipelineShaderStageModuleIdentifierCreateInfoEXT { 19550 VkStructureType sType; 19551 const void* pNext; 19552 uint32_t identifierSize; 19553 const uint8_t* pIdentifier; 19554 } VkPipelineShaderStageModuleIdentifierCreateInfoEXT; 19555 19556 typedef struct VkShaderModuleIdentifierEXT { 19557 VkStructureType sType; 19558 void* pNext; 19559 uint32_t identifierSize; 19560 uint8_t identifier[VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT]; 19561 } VkShaderModuleIdentifierEXT; 19562 19563 typedef void (VKAPI_PTR *PFN_vkGetShaderModuleIdentifierEXT)(VkDevice device, VkShaderModule shaderModule, VkShaderModuleIdentifierEXT* pIdentifier); 19564 typedef void (VKAPI_PTR *PFN_vkGetShaderModuleCreateInfoIdentifierEXT)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, VkShaderModuleIdentifierEXT* pIdentifier); 19565 19566 #ifndef VK_NO_PROTOTYPES 19567 VKAPI_ATTR void VKAPI_CALL vkGetShaderModuleIdentifierEXT( 19568 VkDevice device, 19569 VkShaderModule shaderModule, 19570 VkShaderModuleIdentifierEXT* pIdentifier); 19571 19572 VKAPI_ATTR void VKAPI_CALL vkGetShaderModuleCreateInfoIdentifierEXT( 19573 VkDevice device, 19574 const VkShaderModuleCreateInfo* pCreateInfo, 19575 VkShaderModuleIdentifierEXT* pIdentifier); 19576 #endif 19577 19578 19579 // VK_EXT_rasterization_order_attachment_access is a preprocessor guard. Do not pass it to API calls. 19580 #define VK_EXT_rasterization_order_attachment_access 1 19581 #define VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION 1 19582 #define VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME "VK_EXT_rasterization_order_attachment_access" 19583 19584 19585 // VK_NV_optical_flow is a preprocessor guard. Do not pass it to API calls. 19586 #define VK_NV_optical_flow 1 19587 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkOpticalFlowSessionNV) 19588 #define VK_NV_OPTICAL_FLOW_SPEC_VERSION 1 19589 #define VK_NV_OPTICAL_FLOW_EXTENSION_NAME "VK_NV_optical_flow" 19590 19591 typedef enum VkOpticalFlowPerformanceLevelNV { 19592 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_UNKNOWN_NV = 0, 19593 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_SLOW_NV = 1, 19594 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MEDIUM_NV = 2, 19595 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_FAST_NV = 3, 19596 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MAX_ENUM_NV = 0x7FFFFFFF 19597 } VkOpticalFlowPerformanceLevelNV; 19598 19599 typedef enum VkOpticalFlowSessionBindingPointNV { 19600 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_UNKNOWN_NV = 0, 19601 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_INPUT_NV = 1, 19602 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_REFERENCE_NV = 2, 19603 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_HINT_NV = 3, 19604 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_FLOW_VECTOR_NV = 4, 19605 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_FLOW_VECTOR_NV = 5, 19606 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_COST_NV = 6, 19607 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_COST_NV = 7, 19608 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_GLOBAL_FLOW_NV = 8, 19609 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_MAX_ENUM_NV = 0x7FFFFFFF 19610 } VkOpticalFlowSessionBindingPointNV; 19611 19612 typedef enum VkOpticalFlowGridSizeFlagBitsNV { 19613 VK_OPTICAL_FLOW_GRID_SIZE_UNKNOWN_NV = 0, 19614 VK_OPTICAL_FLOW_GRID_SIZE_1X1_BIT_NV = 0x00000001, 19615 VK_OPTICAL_FLOW_GRID_SIZE_2X2_BIT_NV = 0x00000002, 19616 VK_OPTICAL_FLOW_GRID_SIZE_4X4_BIT_NV = 0x00000004, 19617 VK_OPTICAL_FLOW_GRID_SIZE_8X8_BIT_NV = 0x00000008, 19618 VK_OPTICAL_FLOW_GRID_SIZE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 19619 } VkOpticalFlowGridSizeFlagBitsNV; 19620 typedef VkFlags VkOpticalFlowGridSizeFlagsNV; 19621 19622 typedef enum VkOpticalFlowUsageFlagBitsNV { 19623 VK_OPTICAL_FLOW_USAGE_UNKNOWN_NV = 0, 19624 VK_OPTICAL_FLOW_USAGE_INPUT_BIT_NV = 0x00000001, 19625 VK_OPTICAL_FLOW_USAGE_OUTPUT_BIT_NV = 0x00000002, 19626 VK_OPTICAL_FLOW_USAGE_HINT_BIT_NV = 0x00000004, 19627 VK_OPTICAL_FLOW_USAGE_COST_BIT_NV = 0x00000008, 19628 VK_OPTICAL_FLOW_USAGE_GLOBAL_FLOW_BIT_NV = 0x00000010, 19629 VK_OPTICAL_FLOW_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 19630 } VkOpticalFlowUsageFlagBitsNV; 19631 typedef VkFlags VkOpticalFlowUsageFlagsNV; 19632 19633 typedef enum VkOpticalFlowSessionCreateFlagBitsNV { 19634 VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_HINT_BIT_NV = 0x00000001, 19635 VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_COST_BIT_NV = 0x00000002, 19636 VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_GLOBAL_FLOW_BIT_NV = 0x00000004, 19637 VK_OPTICAL_FLOW_SESSION_CREATE_ALLOW_REGIONS_BIT_NV = 0x00000008, 19638 VK_OPTICAL_FLOW_SESSION_CREATE_BOTH_DIRECTIONS_BIT_NV = 0x00000010, 19639 VK_OPTICAL_FLOW_SESSION_CREATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 19640 } VkOpticalFlowSessionCreateFlagBitsNV; 19641 typedef VkFlags VkOpticalFlowSessionCreateFlagsNV; 19642 19643 typedef enum VkOpticalFlowExecuteFlagBitsNV { 19644 VK_OPTICAL_FLOW_EXECUTE_DISABLE_TEMPORAL_HINTS_BIT_NV = 0x00000001, 19645 VK_OPTICAL_FLOW_EXECUTE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 19646 } VkOpticalFlowExecuteFlagBitsNV; 19647 typedef VkFlags VkOpticalFlowExecuteFlagsNV; 19648 typedef struct VkPhysicalDeviceOpticalFlowFeaturesNV { 19649 VkStructureType sType; 19650 void* pNext; 19651 VkBool32 opticalFlow; 19652 } VkPhysicalDeviceOpticalFlowFeaturesNV; 19653 19654 typedef struct VkPhysicalDeviceOpticalFlowPropertiesNV { 19655 VkStructureType sType; 19656 void* pNext; 19657 VkOpticalFlowGridSizeFlagsNV supportedOutputGridSizes; 19658 VkOpticalFlowGridSizeFlagsNV supportedHintGridSizes; 19659 VkBool32 hintSupported; 19660 VkBool32 costSupported; 19661 VkBool32 bidirectionalFlowSupported; 19662 VkBool32 globalFlowSupported; 19663 uint32_t minWidth; 19664 uint32_t minHeight; 19665 uint32_t maxWidth; 19666 uint32_t maxHeight; 19667 uint32_t maxNumRegionsOfInterest; 19668 } VkPhysicalDeviceOpticalFlowPropertiesNV; 19669 19670 typedef struct VkOpticalFlowImageFormatInfoNV { 19671 VkStructureType sType; 19672 const void* pNext; 19673 VkOpticalFlowUsageFlagsNV usage; 19674 } VkOpticalFlowImageFormatInfoNV; 19675 19676 typedef struct VkOpticalFlowImageFormatPropertiesNV { 19677 VkStructureType sType; 19678 const void* pNext; 19679 VkFormat format; 19680 } VkOpticalFlowImageFormatPropertiesNV; 19681 19682 typedef struct VkOpticalFlowSessionCreateInfoNV { 19683 VkStructureType sType; 19684 void* pNext; 19685 uint32_t width; 19686 uint32_t height; 19687 VkFormat imageFormat; 19688 VkFormat flowVectorFormat; 19689 VkFormat costFormat; 19690 VkOpticalFlowGridSizeFlagsNV outputGridSize; 19691 VkOpticalFlowGridSizeFlagsNV hintGridSize; 19692 VkOpticalFlowPerformanceLevelNV performanceLevel; 19693 VkOpticalFlowSessionCreateFlagsNV flags; 19694 } VkOpticalFlowSessionCreateInfoNV; 19695 19696 typedef struct VkOpticalFlowSessionCreatePrivateDataInfoNV { 19697 VkStructureType sType; 19698 void* pNext; 19699 uint32_t id; 19700 uint32_t size; 19701 const void* pPrivateData; 19702 } VkOpticalFlowSessionCreatePrivateDataInfoNV; 19703 19704 typedef struct VkOpticalFlowExecuteInfoNV { 19705 VkStructureType sType; 19706 void* pNext; 19707 VkOpticalFlowExecuteFlagsNV flags; 19708 uint32_t regionCount; 19709 const VkRect2D* pRegions; 19710 } VkOpticalFlowExecuteInfoNV; 19711 19712 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV)(VkPhysicalDevice physicalDevice, const VkOpticalFlowImageFormatInfoNV* pOpticalFlowImageFormatInfo, uint32_t* pFormatCount, VkOpticalFlowImageFormatPropertiesNV* pImageFormatProperties); 19713 typedef VkResult (VKAPI_PTR *PFN_vkCreateOpticalFlowSessionNV)(VkDevice device, const VkOpticalFlowSessionCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkOpticalFlowSessionNV* pSession); 19714 typedef void (VKAPI_PTR *PFN_vkDestroyOpticalFlowSessionNV)(VkDevice device, VkOpticalFlowSessionNV session, const VkAllocationCallbacks* pAllocator); 19715 typedef VkResult (VKAPI_PTR *PFN_vkBindOpticalFlowSessionImageNV)(VkDevice device, VkOpticalFlowSessionNV session, VkOpticalFlowSessionBindingPointNV bindingPoint, VkImageView view, VkImageLayout layout); 19716 typedef void (VKAPI_PTR *PFN_vkCmdOpticalFlowExecuteNV)(VkCommandBuffer commandBuffer, VkOpticalFlowSessionNV session, const VkOpticalFlowExecuteInfoNV* pExecuteInfo); 19717 19718 #ifndef VK_NO_PROTOTYPES 19719 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceOpticalFlowImageFormatsNV( 19720 VkPhysicalDevice physicalDevice, 19721 const VkOpticalFlowImageFormatInfoNV* pOpticalFlowImageFormatInfo, 19722 uint32_t* pFormatCount, 19723 VkOpticalFlowImageFormatPropertiesNV* pImageFormatProperties); 19724 19725 VKAPI_ATTR VkResult VKAPI_CALL vkCreateOpticalFlowSessionNV( 19726 VkDevice device, 19727 const VkOpticalFlowSessionCreateInfoNV* pCreateInfo, 19728 const VkAllocationCallbacks* pAllocator, 19729 VkOpticalFlowSessionNV* pSession); 19730 19731 VKAPI_ATTR void VKAPI_CALL vkDestroyOpticalFlowSessionNV( 19732 VkDevice device, 19733 VkOpticalFlowSessionNV session, 19734 const VkAllocationCallbacks* pAllocator); 19735 19736 VKAPI_ATTR VkResult VKAPI_CALL vkBindOpticalFlowSessionImageNV( 19737 VkDevice device, 19738 VkOpticalFlowSessionNV session, 19739 VkOpticalFlowSessionBindingPointNV bindingPoint, 19740 VkImageView view, 19741 VkImageLayout layout); 19742 19743 VKAPI_ATTR void VKAPI_CALL vkCmdOpticalFlowExecuteNV( 19744 VkCommandBuffer commandBuffer, 19745 VkOpticalFlowSessionNV session, 19746 const VkOpticalFlowExecuteInfoNV* pExecuteInfo); 19747 #endif 19748 19749 19750 // VK_EXT_legacy_dithering is a preprocessor guard. Do not pass it to API calls. 19751 #define VK_EXT_legacy_dithering 1 19752 #define VK_EXT_LEGACY_DITHERING_SPEC_VERSION 2 19753 #define VK_EXT_LEGACY_DITHERING_EXTENSION_NAME "VK_EXT_legacy_dithering" 19754 typedef struct VkPhysicalDeviceLegacyDitheringFeaturesEXT { 19755 VkStructureType sType; 19756 void* pNext; 19757 VkBool32 legacyDithering; 19758 } VkPhysicalDeviceLegacyDitheringFeaturesEXT; 19759 19760 19761 19762 // VK_EXT_pipeline_protected_access is a preprocessor guard. Do not pass it to API calls. 19763 #define VK_EXT_pipeline_protected_access 1 19764 #define VK_EXT_PIPELINE_PROTECTED_ACCESS_SPEC_VERSION 1 19765 #define VK_EXT_PIPELINE_PROTECTED_ACCESS_EXTENSION_NAME "VK_EXT_pipeline_protected_access" 19766 typedef VkPhysicalDevicePipelineProtectedAccessFeatures VkPhysicalDevicePipelineProtectedAccessFeaturesEXT; 19767 19768 19769 19770 // VK_AMD_anti_lag is a preprocessor guard. Do not pass it to API calls. 19771 #define VK_AMD_anti_lag 1 19772 #define VK_AMD_ANTI_LAG_SPEC_VERSION 1 19773 #define VK_AMD_ANTI_LAG_EXTENSION_NAME "VK_AMD_anti_lag" 19774 19775 typedef enum VkAntiLagModeAMD { 19776 VK_ANTI_LAG_MODE_DRIVER_CONTROL_AMD = 0, 19777 VK_ANTI_LAG_MODE_ON_AMD = 1, 19778 VK_ANTI_LAG_MODE_OFF_AMD = 2, 19779 VK_ANTI_LAG_MODE_MAX_ENUM_AMD = 0x7FFFFFFF 19780 } VkAntiLagModeAMD; 19781 19782 typedef enum VkAntiLagStageAMD { 19783 VK_ANTI_LAG_STAGE_INPUT_AMD = 0, 19784 VK_ANTI_LAG_STAGE_PRESENT_AMD = 1, 19785 VK_ANTI_LAG_STAGE_MAX_ENUM_AMD = 0x7FFFFFFF 19786 } VkAntiLagStageAMD; 19787 typedef struct VkPhysicalDeviceAntiLagFeaturesAMD { 19788 VkStructureType sType; 19789 void* pNext; 19790 VkBool32 antiLag; 19791 } VkPhysicalDeviceAntiLagFeaturesAMD; 19792 19793 typedef struct VkAntiLagPresentationInfoAMD { 19794 VkStructureType sType; 19795 void* pNext; 19796 VkAntiLagStageAMD stage; 19797 uint64_t frameIndex; 19798 } VkAntiLagPresentationInfoAMD; 19799 19800 typedef struct VkAntiLagDataAMD { 19801 VkStructureType sType; 19802 const void* pNext; 19803 VkAntiLagModeAMD mode; 19804 uint32_t maxFPS; 19805 const VkAntiLagPresentationInfoAMD* pPresentationInfo; 19806 } VkAntiLagDataAMD; 19807 19808 typedef void (VKAPI_PTR *PFN_vkAntiLagUpdateAMD)(VkDevice device, const VkAntiLagDataAMD* pData); 19809 19810 #ifndef VK_NO_PROTOTYPES 19811 VKAPI_ATTR void VKAPI_CALL vkAntiLagUpdateAMD( 19812 VkDevice device, 19813 const VkAntiLagDataAMD* pData); 19814 #endif 19815 19816 19817 // VK_EXT_shader_object is a preprocessor guard. Do not pass it to API calls. 19818 #define VK_EXT_shader_object 1 19819 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderEXT) 19820 #define VK_EXT_SHADER_OBJECT_SPEC_VERSION 1 19821 #define VK_EXT_SHADER_OBJECT_EXTENSION_NAME "VK_EXT_shader_object" 19822 19823 typedef enum VkShaderCodeTypeEXT { 19824 VK_SHADER_CODE_TYPE_BINARY_EXT = 0, 19825 VK_SHADER_CODE_TYPE_SPIRV_EXT = 1, 19826 VK_SHADER_CODE_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 19827 } VkShaderCodeTypeEXT; 19828 19829 typedef enum VkDepthClampModeEXT { 19830 VK_DEPTH_CLAMP_MODE_VIEWPORT_RANGE_EXT = 0, 19831 VK_DEPTH_CLAMP_MODE_USER_DEFINED_RANGE_EXT = 1, 19832 VK_DEPTH_CLAMP_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 19833 } VkDepthClampModeEXT; 19834 19835 typedef enum VkShaderCreateFlagBitsEXT { 19836 VK_SHADER_CREATE_LINK_STAGE_BIT_EXT = 0x00000001, 19837 VK_SHADER_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 0x00000002, 19838 VK_SHADER_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 0x00000004, 19839 VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXT = 0x00000008, 19840 VK_SHADER_CREATE_DISPATCH_BASE_BIT_EXT = 0x00000010, 19841 VK_SHADER_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_EXT = 0x00000020, 19842 VK_SHADER_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00000040, 19843 VK_SHADER_CREATE_INDIRECT_BINDABLE_BIT_EXT = 0x00000080, 19844 VK_SHADER_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 19845 } VkShaderCreateFlagBitsEXT; 19846 typedef VkFlags VkShaderCreateFlagsEXT; 19847 typedef struct VkPhysicalDeviceShaderObjectFeaturesEXT { 19848 VkStructureType sType; 19849 void* pNext; 19850 VkBool32 shaderObject; 19851 } VkPhysicalDeviceShaderObjectFeaturesEXT; 19852 19853 typedef struct VkPhysicalDeviceShaderObjectPropertiesEXT { 19854 VkStructureType sType; 19855 void* pNext; 19856 uint8_t shaderBinaryUUID[VK_UUID_SIZE]; 19857 uint32_t shaderBinaryVersion; 19858 } VkPhysicalDeviceShaderObjectPropertiesEXT; 19859 19860 typedef struct VkShaderCreateInfoEXT { 19861 VkStructureType sType; 19862 const void* pNext; 19863 VkShaderCreateFlagsEXT flags; 19864 VkShaderStageFlagBits stage; 19865 VkShaderStageFlags nextStage; 19866 VkShaderCodeTypeEXT codeType; 19867 size_t codeSize; 19868 const void* pCode; 19869 const char* pName; 19870 uint32_t setLayoutCount; 19871 const VkDescriptorSetLayout* pSetLayouts; 19872 uint32_t pushConstantRangeCount; 19873 const VkPushConstantRange* pPushConstantRanges; 19874 const VkSpecializationInfo* pSpecializationInfo; 19875 } VkShaderCreateInfoEXT; 19876 19877 typedef VkPipelineShaderStageRequiredSubgroupSizeCreateInfo VkShaderRequiredSubgroupSizeCreateInfoEXT; 19878 19879 typedef struct VkDepthClampRangeEXT { 19880 float minDepthClamp; 19881 float maxDepthClamp; 19882 } VkDepthClampRangeEXT; 19883 19884 typedef VkResult (VKAPI_PTR *PFN_vkCreateShadersEXT)(VkDevice device, uint32_t createInfoCount, const VkShaderCreateInfoEXT* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkShaderEXT* pShaders); 19885 typedef void (VKAPI_PTR *PFN_vkDestroyShaderEXT)(VkDevice device, VkShaderEXT shader, const VkAllocationCallbacks* pAllocator); 19886 typedef VkResult (VKAPI_PTR *PFN_vkGetShaderBinaryDataEXT)(VkDevice device, VkShaderEXT shader, size_t* pDataSize, void* pData); 19887 typedef void (VKAPI_PTR *PFN_vkCmdBindShadersEXT)(VkCommandBuffer commandBuffer, uint32_t stageCount, const VkShaderStageFlagBits* pStages, const VkShaderEXT* pShaders); 19888 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClampRangeEXT)(VkCommandBuffer commandBuffer, VkDepthClampModeEXT depthClampMode, const VkDepthClampRangeEXT* pDepthClampRange); 19889 19890 #ifndef VK_NO_PROTOTYPES 19891 VKAPI_ATTR VkResult VKAPI_CALL vkCreateShadersEXT( 19892 VkDevice device, 19893 uint32_t createInfoCount, 19894 const VkShaderCreateInfoEXT* pCreateInfos, 19895 const VkAllocationCallbacks* pAllocator, 19896 VkShaderEXT* pShaders); 19897 19898 VKAPI_ATTR void VKAPI_CALL vkDestroyShaderEXT( 19899 VkDevice device, 19900 VkShaderEXT shader, 19901 const VkAllocationCallbacks* pAllocator); 19902 19903 VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderBinaryDataEXT( 19904 VkDevice device, 19905 VkShaderEXT shader, 19906 size_t* pDataSize, 19907 void* pData); 19908 19909 VKAPI_ATTR void VKAPI_CALL vkCmdBindShadersEXT( 19910 VkCommandBuffer commandBuffer, 19911 uint32_t stageCount, 19912 const VkShaderStageFlagBits* pStages, 19913 const VkShaderEXT* pShaders); 19914 19915 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClampRangeEXT( 19916 VkCommandBuffer commandBuffer, 19917 VkDepthClampModeEXT depthClampMode, 19918 const VkDepthClampRangeEXT* pDepthClampRange); 19919 #endif 19920 19921 19922 // VK_QCOM_tile_properties is a preprocessor guard. Do not pass it to API calls. 19923 #define VK_QCOM_tile_properties 1 19924 #define VK_QCOM_TILE_PROPERTIES_SPEC_VERSION 1 19925 #define VK_QCOM_TILE_PROPERTIES_EXTENSION_NAME "VK_QCOM_tile_properties" 19926 typedef struct VkPhysicalDeviceTilePropertiesFeaturesQCOM { 19927 VkStructureType sType; 19928 void* pNext; 19929 VkBool32 tileProperties; 19930 } VkPhysicalDeviceTilePropertiesFeaturesQCOM; 19931 19932 typedef struct VkTilePropertiesQCOM { 19933 VkStructureType sType; 19934 void* pNext; 19935 VkExtent3D tileSize; 19936 VkExtent2D apronSize; 19937 VkOffset2D origin; 19938 } VkTilePropertiesQCOM; 19939 19940 typedef VkResult (VKAPI_PTR *PFN_vkGetFramebufferTilePropertiesQCOM)(VkDevice device, VkFramebuffer framebuffer, uint32_t* pPropertiesCount, VkTilePropertiesQCOM* pProperties); 19941 typedef VkResult (VKAPI_PTR *PFN_vkGetDynamicRenderingTilePropertiesQCOM)(VkDevice device, const VkRenderingInfo* pRenderingInfo, VkTilePropertiesQCOM* pProperties); 19942 19943 #ifndef VK_NO_PROTOTYPES 19944 VKAPI_ATTR VkResult VKAPI_CALL vkGetFramebufferTilePropertiesQCOM( 19945 VkDevice device, 19946 VkFramebuffer framebuffer, 19947 uint32_t* pPropertiesCount, 19948 VkTilePropertiesQCOM* pProperties); 19949 19950 VKAPI_ATTR VkResult VKAPI_CALL vkGetDynamicRenderingTilePropertiesQCOM( 19951 VkDevice device, 19952 const VkRenderingInfo* pRenderingInfo, 19953 VkTilePropertiesQCOM* pProperties); 19954 #endif 19955 19956 19957 // VK_SEC_amigo_profiling is a preprocessor guard. Do not pass it to API calls. 19958 #define VK_SEC_amigo_profiling 1 19959 #define VK_SEC_AMIGO_PROFILING_SPEC_VERSION 1 19960 #define VK_SEC_AMIGO_PROFILING_EXTENSION_NAME "VK_SEC_amigo_profiling" 19961 typedef struct VkPhysicalDeviceAmigoProfilingFeaturesSEC { 19962 VkStructureType sType; 19963 void* pNext; 19964 VkBool32 amigoProfiling; 19965 } VkPhysicalDeviceAmigoProfilingFeaturesSEC; 19966 19967 typedef struct VkAmigoProfilingSubmitInfoSEC { 19968 VkStructureType sType; 19969 const void* pNext; 19970 uint64_t firstDrawTimestamp; 19971 uint64_t swapBufferTimestamp; 19972 } VkAmigoProfilingSubmitInfoSEC; 19973 19974 19975 19976 // VK_QCOM_multiview_per_view_viewports is a preprocessor guard. Do not pass it to API calls. 19977 #define VK_QCOM_multiview_per_view_viewports 1 19978 #define VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_SPEC_VERSION 1 19979 #define VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_EXTENSION_NAME "VK_QCOM_multiview_per_view_viewports" 19980 typedef struct VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM { 19981 VkStructureType sType; 19982 void* pNext; 19983 VkBool32 multiviewPerViewViewports; 19984 } VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM; 19985 19986 19987 19988 // VK_NV_ray_tracing_invocation_reorder is a preprocessor guard. Do not pass it to API calls. 19989 #define VK_NV_ray_tracing_invocation_reorder 1 19990 #define VK_NV_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION 1 19991 #define VK_NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME "VK_NV_ray_tracing_invocation_reorder" 19992 19993 typedef enum VkRayTracingInvocationReorderModeNV { 19994 VK_RAY_TRACING_INVOCATION_REORDER_MODE_NONE_NV = 0, 19995 VK_RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_NV = 1, 19996 VK_RAY_TRACING_INVOCATION_REORDER_MODE_MAX_ENUM_NV = 0x7FFFFFFF 19997 } VkRayTracingInvocationReorderModeNV; 19998 typedef struct VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV { 19999 VkStructureType sType; 20000 void* pNext; 20001 VkRayTracingInvocationReorderModeNV rayTracingInvocationReorderReorderingHint; 20002 } VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV; 20003 20004 typedef struct VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV { 20005 VkStructureType sType; 20006 void* pNext; 20007 VkBool32 rayTracingInvocationReorder; 20008 } VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV; 20009 20010 20011 20012 // VK_NV_cooperative_vector is a preprocessor guard. Do not pass it to API calls. 20013 #define VK_NV_cooperative_vector 1 20014 #define VK_NV_COOPERATIVE_VECTOR_SPEC_VERSION 4 20015 #define VK_NV_COOPERATIVE_VECTOR_EXTENSION_NAME "VK_NV_cooperative_vector" 20016 20017 typedef enum VkCooperativeVectorMatrixLayoutNV { 20018 VK_COOPERATIVE_VECTOR_MATRIX_LAYOUT_ROW_MAJOR_NV = 0, 20019 VK_COOPERATIVE_VECTOR_MATRIX_LAYOUT_COLUMN_MAJOR_NV = 1, 20020 VK_COOPERATIVE_VECTOR_MATRIX_LAYOUT_INFERENCING_OPTIMAL_NV = 2, 20021 VK_COOPERATIVE_VECTOR_MATRIX_LAYOUT_TRAINING_OPTIMAL_NV = 3, 20022 VK_COOPERATIVE_VECTOR_MATRIX_LAYOUT_MAX_ENUM_NV = 0x7FFFFFFF 20023 } VkCooperativeVectorMatrixLayoutNV; 20024 typedef struct VkPhysicalDeviceCooperativeVectorPropertiesNV { 20025 VkStructureType sType; 20026 void* pNext; 20027 VkShaderStageFlags cooperativeVectorSupportedStages; 20028 VkBool32 cooperativeVectorTrainingFloat16Accumulation; 20029 VkBool32 cooperativeVectorTrainingFloat32Accumulation; 20030 uint32_t maxCooperativeVectorComponents; 20031 } VkPhysicalDeviceCooperativeVectorPropertiesNV; 20032 20033 typedef struct VkPhysicalDeviceCooperativeVectorFeaturesNV { 20034 VkStructureType sType; 20035 void* pNext; 20036 VkBool32 cooperativeVector; 20037 VkBool32 cooperativeVectorTraining; 20038 } VkPhysicalDeviceCooperativeVectorFeaturesNV; 20039 20040 typedef struct VkCooperativeVectorPropertiesNV { 20041 VkStructureType sType; 20042 void* pNext; 20043 VkComponentTypeKHR inputType; 20044 VkComponentTypeKHR inputInterpretation; 20045 VkComponentTypeKHR matrixInterpretation; 20046 VkComponentTypeKHR biasInterpretation; 20047 VkComponentTypeKHR resultType; 20048 VkBool32 transpose; 20049 } VkCooperativeVectorPropertiesNV; 20050 20051 typedef struct VkConvertCooperativeVectorMatrixInfoNV { 20052 VkStructureType sType; 20053 const void* pNext; 20054 size_t srcSize; 20055 VkDeviceOrHostAddressConstKHR srcData; 20056 size_t* pDstSize; 20057 VkDeviceOrHostAddressKHR dstData; 20058 VkComponentTypeKHR srcComponentType; 20059 VkComponentTypeKHR dstComponentType; 20060 uint32_t numRows; 20061 uint32_t numColumns; 20062 VkCooperativeVectorMatrixLayoutNV srcLayout; 20063 size_t srcStride; 20064 VkCooperativeVectorMatrixLayoutNV dstLayout; 20065 size_t dstStride; 20066 } VkConvertCooperativeVectorMatrixInfoNV; 20067 20068 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeVectorPropertiesNV)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeVectorPropertiesNV* pProperties); 20069 typedef VkResult (VKAPI_PTR *PFN_vkConvertCooperativeVectorMatrixNV)(VkDevice device, const VkConvertCooperativeVectorMatrixInfoNV* pInfo); 20070 typedef void (VKAPI_PTR *PFN_vkCmdConvertCooperativeVectorMatrixNV)(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkConvertCooperativeVectorMatrixInfoNV* pInfos); 20071 20072 #ifndef VK_NO_PROTOTYPES 20073 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeVectorPropertiesNV( 20074 VkPhysicalDevice physicalDevice, 20075 uint32_t* pPropertyCount, 20076 VkCooperativeVectorPropertiesNV* pProperties); 20077 20078 VKAPI_ATTR VkResult VKAPI_CALL vkConvertCooperativeVectorMatrixNV( 20079 VkDevice device, 20080 const VkConvertCooperativeVectorMatrixInfoNV* pInfo); 20081 20082 VKAPI_ATTR void VKAPI_CALL vkCmdConvertCooperativeVectorMatrixNV( 20083 VkCommandBuffer commandBuffer, 20084 uint32_t infoCount, 20085 const VkConvertCooperativeVectorMatrixInfoNV* pInfos); 20086 #endif 20087 20088 20089 // VK_NV_extended_sparse_address_space is a preprocessor guard. Do not pass it to API calls. 20090 #define VK_NV_extended_sparse_address_space 1 20091 #define VK_NV_EXTENDED_SPARSE_ADDRESS_SPACE_SPEC_VERSION 1 20092 #define VK_NV_EXTENDED_SPARSE_ADDRESS_SPACE_EXTENSION_NAME "VK_NV_extended_sparse_address_space" 20093 typedef struct VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV { 20094 VkStructureType sType; 20095 void* pNext; 20096 VkBool32 extendedSparseAddressSpace; 20097 } VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV; 20098 20099 typedef struct VkPhysicalDeviceExtendedSparseAddressSpacePropertiesNV { 20100 VkStructureType sType; 20101 void* pNext; 20102 VkDeviceSize extendedSparseAddressSpaceSize; 20103 VkImageUsageFlags extendedSparseImageUsageFlags; 20104 VkBufferUsageFlags extendedSparseBufferUsageFlags; 20105 } VkPhysicalDeviceExtendedSparseAddressSpacePropertiesNV; 20106 20107 20108 20109 // VK_EXT_mutable_descriptor_type is a preprocessor guard. Do not pass it to API calls. 20110 #define VK_EXT_mutable_descriptor_type 1 20111 #define VK_EXT_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1 20112 #define VK_EXT_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_EXT_mutable_descriptor_type" 20113 20114 20115 // VK_EXT_legacy_vertex_attributes is a preprocessor guard. Do not pass it to API calls. 20116 #define VK_EXT_legacy_vertex_attributes 1 20117 #define VK_EXT_LEGACY_VERTEX_ATTRIBUTES_SPEC_VERSION 1 20118 #define VK_EXT_LEGACY_VERTEX_ATTRIBUTES_EXTENSION_NAME "VK_EXT_legacy_vertex_attributes" 20119 typedef struct VkPhysicalDeviceLegacyVertexAttributesFeaturesEXT { 20120 VkStructureType sType; 20121 void* pNext; 20122 VkBool32 legacyVertexAttributes; 20123 } VkPhysicalDeviceLegacyVertexAttributesFeaturesEXT; 20124 20125 typedef struct VkPhysicalDeviceLegacyVertexAttributesPropertiesEXT { 20126 VkStructureType sType; 20127 void* pNext; 20128 VkBool32 nativeUnalignedPerformance; 20129 } VkPhysicalDeviceLegacyVertexAttributesPropertiesEXT; 20130 20131 20132 20133 // VK_EXT_layer_settings is a preprocessor guard. Do not pass it to API calls. 20134 #define VK_EXT_layer_settings 1 20135 #define VK_EXT_LAYER_SETTINGS_SPEC_VERSION 2 20136 #define VK_EXT_LAYER_SETTINGS_EXTENSION_NAME "VK_EXT_layer_settings" 20137 20138 typedef enum VkLayerSettingTypeEXT { 20139 VK_LAYER_SETTING_TYPE_BOOL32_EXT = 0, 20140 VK_LAYER_SETTING_TYPE_INT32_EXT = 1, 20141 VK_LAYER_SETTING_TYPE_INT64_EXT = 2, 20142 VK_LAYER_SETTING_TYPE_UINT32_EXT = 3, 20143 VK_LAYER_SETTING_TYPE_UINT64_EXT = 4, 20144 VK_LAYER_SETTING_TYPE_FLOAT32_EXT = 5, 20145 VK_LAYER_SETTING_TYPE_FLOAT64_EXT = 6, 20146 VK_LAYER_SETTING_TYPE_STRING_EXT = 7, 20147 VK_LAYER_SETTING_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 20148 } VkLayerSettingTypeEXT; 20149 typedef struct VkLayerSettingEXT { 20150 const char* pLayerName; 20151 const char* pSettingName; 20152 VkLayerSettingTypeEXT type; 20153 uint32_t valueCount; 20154 const void* pValues; 20155 } VkLayerSettingEXT; 20156 20157 typedef struct VkLayerSettingsCreateInfoEXT { 20158 VkStructureType sType; 20159 const void* pNext; 20160 uint32_t settingCount; 20161 const VkLayerSettingEXT* pSettings; 20162 } VkLayerSettingsCreateInfoEXT; 20163 20164 20165 20166 // VK_ARM_shader_core_builtins is a preprocessor guard. Do not pass it to API calls. 20167 #define VK_ARM_shader_core_builtins 1 20168 #define VK_ARM_SHADER_CORE_BUILTINS_SPEC_VERSION 2 20169 #define VK_ARM_SHADER_CORE_BUILTINS_EXTENSION_NAME "VK_ARM_shader_core_builtins" 20170 typedef struct VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM { 20171 VkStructureType sType; 20172 void* pNext; 20173 VkBool32 shaderCoreBuiltins; 20174 } VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM; 20175 20176 typedef struct VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM { 20177 VkStructureType sType; 20178 void* pNext; 20179 uint64_t shaderCoreMask; 20180 uint32_t shaderCoreCount; 20181 uint32_t shaderWarpsPerCore; 20182 } VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM; 20183 20184 20185 20186 // VK_EXT_pipeline_library_group_handles is a preprocessor guard. Do not pass it to API calls. 20187 #define VK_EXT_pipeline_library_group_handles 1 20188 #define VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_SPEC_VERSION 1 20189 #define VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_EXTENSION_NAME "VK_EXT_pipeline_library_group_handles" 20190 typedef struct VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT { 20191 VkStructureType sType; 20192 void* pNext; 20193 VkBool32 pipelineLibraryGroupHandles; 20194 } VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT; 20195 20196 20197 20198 // VK_EXT_dynamic_rendering_unused_attachments is a preprocessor guard. Do not pass it to API calls. 20199 #define VK_EXT_dynamic_rendering_unused_attachments 1 20200 #define VK_EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_SPEC_VERSION 1 20201 #define VK_EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_EXTENSION_NAME "VK_EXT_dynamic_rendering_unused_attachments" 20202 typedef struct VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT { 20203 VkStructureType sType; 20204 void* pNext; 20205 VkBool32 dynamicRenderingUnusedAttachments; 20206 } VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT; 20207 20208 20209 20210 // VK_NV_low_latency2 is a preprocessor guard. Do not pass it to API calls. 20211 #define VK_NV_low_latency2 1 20212 #define VK_NV_LOW_LATENCY_2_SPEC_VERSION 2 20213 #define VK_NV_LOW_LATENCY_2_EXTENSION_NAME "VK_NV_low_latency2" 20214 20215 typedef enum VkLatencyMarkerNV { 20216 VK_LATENCY_MARKER_SIMULATION_START_NV = 0, 20217 VK_LATENCY_MARKER_SIMULATION_END_NV = 1, 20218 VK_LATENCY_MARKER_RENDERSUBMIT_START_NV = 2, 20219 VK_LATENCY_MARKER_RENDERSUBMIT_END_NV = 3, 20220 VK_LATENCY_MARKER_PRESENT_START_NV = 4, 20221 VK_LATENCY_MARKER_PRESENT_END_NV = 5, 20222 VK_LATENCY_MARKER_INPUT_SAMPLE_NV = 6, 20223 VK_LATENCY_MARKER_TRIGGER_FLASH_NV = 7, 20224 VK_LATENCY_MARKER_OUT_OF_BAND_RENDERSUBMIT_START_NV = 8, 20225 VK_LATENCY_MARKER_OUT_OF_BAND_RENDERSUBMIT_END_NV = 9, 20226 VK_LATENCY_MARKER_OUT_OF_BAND_PRESENT_START_NV = 10, 20227 VK_LATENCY_MARKER_OUT_OF_BAND_PRESENT_END_NV = 11, 20228 VK_LATENCY_MARKER_MAX_ENUM_NV = 0x7FFFFFFF 20229 } VkLatencyMarkerNV; 20230 20231 typedef enum VkOutOfBandQueueTypeNV { 20232 VK_OUT_OF_BAND_QUEUE_TYPE_RENDER_NV = 0, 20233 VK_OUT_OF_BAND_QUEUE_TYPE_PRESENT_NV = 1, 20234 VK_OUT_OF_BAND_QUEUE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 20235 } VkOutOfBandQueueTypeNV; 20236 typedef struct VkLatencySleepModeInfoNV { 20237 VkStructureType sType; 20238 const void* pNext; 20239 VkBool32 lowLatencyMode; 20240 VkBool32 lowLatencyBoost; 20241 uint32_t minimumIntervalUs; 20242 } VkLatencySleepModeInfoNV; 20243 20244 typedef struct VkLatencySleepInfoNV { 20245 VkStructureType sType; 20246 const void* pNext; 20247 VkSemaphore signalSemaphore; 20248 uint64_t value; 20249 } VkLatencySleepInfoNV; 20250 20251 typedef struct VkSetLatencyMarkerInfoNV { 20252 VkStructureType sType; 20253 const void* pNext; 20254 uint64_t presentID; 20255 VkLatencyMarkerNV marker; 20256 } VkSetLatencyMarkerInfoNV; 20257 20258 typedef struct VkLatencyTimingsFrameReportNV { 20259 VkStructureType sType; 20260 const void* pNext; 20261 uint64_t presentID; 20262 uint64_t inputSampleTimeUs; 20263 uint64_t simStartTimeUs; 20264 uint64_t simEndTimeUs; 20265 uint64_t renderSubmitStartTimeUs; 20266 uint64_t renderSubmitEndTimeUs; 20267 uint64_t presentStartTimeUs; 20268 uint64_t presentEndTimeUs; 20269 uint64_t driverStartTimeUs; 20270 uint64_t driverEndTimeUs; 20271 uint64_t osRenderQueueStartTimeUs; 20272 uint64_t osRenderQueueEndTimeUs; 20273 uint64_t gpuRenderStartTimeUs; 20274 uint64_t gpuRenderEndTimeUs; 20275 } VkLatencyTimingsFrameReportNV; 20276 20277 typedef struct VkGetLatencyMarkerInfoNV { 20278 VkStructureType sType; 20279 const void* pNext; 20280 uint32_t timingCount; 20281 VkLatencyTimingsFrameReportNV* pTimings; 20282 } VkGetLatencyMarkerInfoNV; 20283 20284 typedef struct VkLatencySubmissionPresentIdNV { 20285 VkStructureType sType; 20286 const void* pNext; 20287 uint64_t presentID; 20288 } VkLatencySubmissionPresentIdNV; 20289 20290 typedef struct VkSwapchainLatencyCreateInfoNV { 20291 VkStructureType sType; 20292 const void* pNext; 20293 VkBool32 latencyModeEnable; 20294 } VkSwapchainLatencyCreateInfoNV; 20295 20296 typedef struct VkOutOfBandQueueTypeInfoNV { 20297 VkStructureType sType; 20298 const void* pNext; 20299 VkOutOfBandQueueTypeNV queueType; 20300 } VkOutOfBandQueueTypeInfoNV; 20301 20302 typedef struct VkLatencySurfaceCapabilitiesNV { 20303 VkStructureType sType; 20304 const void* pNext; 20305 uint32_t presentModeCount; 20306 VkPresentModeKHR* pPresentModes; 20307 } VkLatencySurfaceCapabilitiesNV; 20308 20309 typedef VkResult (VKAPI_PTR *PFN_vkSetLatencySleepModeNV)(VkDevice device, VkSwapchainKHR swapchain, const VkLatencySleepModeInfoNV* pSleepModeInfo); 20310 typedef VkResult (VKAPI_PTR *PFN_vkLatencySleepNV)(VkDevice device, VkSwapchainKHR swapchain, const VkLatencySleepInfoNV* pSleepInfo); 20311 typedef void (VKAPI_PTR *PFN_vkSetLatencyMarkerNV)(VkDevice device, VkSwapchainKHR swapchain, const VkSetLatencyMarkerInfoNV* pLatencyMarkerInfo); 20312 typedef void (VKAPI_PTR *PFN_vkGetLatencyTimingsNV)(VkDevice device, VkSwapchainKHR swapchain, VkGetLatencyMarkerInfoNV* pLatencyMarkerInfo); 20313 typedef void (VKAPI_PTR *PFN_vkQueueNotifyOutOfBandNV)(VkQueue queue, const VkOutOfBandQueueTypeInfoNV* pQueueTypeInfo); 20314 20315 #ifndef VK_NO_PROTOTYPES 20316 VKAPI_ATTR VkResult VKAPI_CALL vkSetLatencySleepModeNV( 20317 VkDevice device, 20318 VkSwapchainKHR swapchain, 20319 const VkLatencySleepModeInfoNV* pSleepModeInfo); 20320 20321 VKAPI_ATTR VkResult VKAPI_CALL vkLatencySleepNV( 20322 VkDevice device, 20323 VkSwapchainKHR swapchain, 20324 const VkLatencySleepInfoNV* pSleepInfo); 20325 20326 VKAPI_ATTR void VKAPI_CALL vkSetLatencyMarkerNV( 20327 VkDevice device, 20328 VkSwapchainKHR swapchain, 20329 const VkSetLatencyMarkerInfoNV* pLatencyMarkerInfo); 20330 20331 VKAPI_ATTR void VKAPI_CALL vkGetLatencyTimingsNV( 20332 VkDevice device, 20333 VkSwapchainKHR swapchain, 20334 VkGetLatencyMarkerInfoNV* pLatencyMarkerInfo); 20335 20336 VKAPI_ATTR void VKAPI_CALL vkQueueNotifyOutOfBandNV( 20337 VkQueue queue, 20338 const VkOutOfBandQueueTypeInfoNV* pQueueTypeInfo); 20339 #endif 20340 20341 20342 // VK_QCOM_multiview_per_view_render_areas is a preprocessor guard. Do not pass it to API calls. 20343 #define VK_QCOM_multiview_per_view_render_areas 1 20344 #define VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_SPEC_VERSION 1 20345 #define VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_EXTENSION_NAME "VK_QCOM_multiview_per_view_render_areas" 20346 typedef struct VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM { 20347 VkStructureType sType; 20348 void* pNext; 20349 VkBool32 multiviewPerViewRenderAreas; 20350 } VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM; 20351 20352 typedef struct VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM { 20353 VkStructureType sType; 20354 const void* pNext; 20355 uint32_t perViewRenderAreaCount; 20356 const VkRect2D* pPerViewRenderAreas; 20357 } VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM; 20358 20359 20360 20361 // VK_NV_per_stage_descriptor_set is a preprocessor guard. Do not pass it to API calls. 20362 #define VK_NV_per_stage_descriptor_set 1 20363 #define VK_NV_PER_STAGE_DESCRIPTOR_SET_SPEC_VERSION 1 20364 #define VK_NV_PER_STAGE_DESCRIPTOR_SET_EXTENSION_NAME "VK_NV_per_stage_descriptor_set" 20365 typedef struct VkPhysicalDevicePerStageDescriptorSetFeaturesNV { 20366 VkStructureType sType; 20367 void* pNext; 20368 VkBool32 perStageDescriptorSet; 20369 VkBool32 dynamicPipelineLayout; 20370 } VkPhysicalDevicePerStageDescriptorSetFeaturesNV; 20371 20372 20373 20374 // VK_QCOM_image_processing2 is a preprocessor guard. Do not pass it to API calls. 20375 #define VK_QCOM_image_processing2 1 20376 #define VK_QCOM_IMAGE_PROCESSING_2_SPEC_VERSION 1 20377 #define VK_QCOM_IMAGE_PROCESSING_2_EXTENSION_NAME "VK_QCOM_image_processing2" 20378 20379 typedef enum VkBlockMatchWindowCompareModeQCOM { 20380 VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MIN_QCOM = 0, 20381 VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MAX_QCOM = 1, 20382 VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MAX_ENUM_QCOM = 0x7FFFFFFF 20383 } VkBlockMatchWindowCompareModeQCOM; 20384 typedef struct VkPhysicalDeviceImageProcessing2FeaturesQCOM { 20385 VkStructureType sType; 20386 void* pNext; 20387 VkBool32 textureBlockMatch2; 20388 } VkPhysicalDeviceImageProcessing2FeaturesQCOM; 20389 20390 typedef struct VkPhysicalDeviceImageProcessing2PropertiesQCOM { 20391 VkStructureType sType; 20392 void* pNext; 20393 VkExtent2D maxBlockMatchWindow; 20394 } VkPhysicalDeviceImageProcessing2PropertiesQCOM; 20395 20396 typedef struct VkSamplerBlockMatchWindowCreateInfoQCOM { 20397 VkStructureType sType; 20398 const void* pNext; 20399 VkExtent2D windowExtent; 20400 VkBlockMatchWindowCompareModeQCOM windowCompareMode; 20401 } VkSamplerBlockMatchWindowCreateInfoQCOM; 20402 20403 20404 20405 // VK_QCOM_filter_cubic_weights is a preprocessor guard. Do not pass it to API calls. 20406 #define VK_QCOM_filter_cubic_weights 1 20407 #define VK_QCOM_FILTER_CUBIC_WEIGHTS_SPEC_VERSION 1 20408 #define VK_QCOM_FILTER_CUBIC_WEIGHTS_EXTENSION_NAME "VK_QCOM_filter_cubic_weights" 20409 20410 typedef enum VkCubicFilterWeightsQCOM { 20411 VK_CUBIC_FILTER_WEIGHTS_CATMULL_ROM_QCOM = 0, 20412 VK_CUBIC_FILTER_WEIGHTS_ZERO_TANGENT_CARDINAL_QCOM = 1, 20413 VK_CUBIC_FILTER_WEIGHTS_B_SPLINE_QCOM = 2, 20414 VK_CUBIC_FILTER_WEIGHTS_MITCHELL_NETRAVALI_QCOM = 3, 20415 VK_CUBIC_FILTER_WEIGHTS_MAX_ENUM_QCOM = 0x7FFFFFFF 20416 } VkCubicFilterWeightsQCOM; 20417 typedef struct VkPhysicalDeviceCubicWeightsFeaturesQCOM { 20418 VkStructureType sType; 20419 void* pNext; 20420 VkBool32 selectableCubicWeights; 20421 } VkPhysicalDeviceCubicWeightsFeaturesQCOM; 20422 20423 typedef struct VkSamplerCubicWeightsCreateInfoQCOM { 20424 VkStructureType sType; 20425 const void* pNext; 20426 VkCubicFilterWeightsQCOM cubicWeights; 20427 } VkSamplerCubicWeightsCreateInfoQCOM; 20428 20429 typedef struct VkBlitImageCubicWeightsInfoQCOM { 20430 VkStructureType sType; 20431 const void* pNext; 20432 VkCubicFilterWeightsQCOM cubicWeights; 20433 } VkBlitImageCubicWeightsInfoQCOM; 20434 20435 20436 20437 // VK_QCOM_ycbcr_degamma is a preprocessor guard. Do not pass it to API calls. 20438 #define VK_QCOM_ycbcr_degamma 1 20439 #define VK_QCOM_YCBCR_DEGAMMA_SPEC_VERSION 1 20440 #define VK_QCOM_YCBCR_DEGAMMA_EXTENSION_NAME "VK_QCOM_ycbcr_degamma" 20441 typedef struct VkPhysicalDeviceYcbcrDegammaFeaturesQCOM { 20442 VkStructureType sType; 20443 void* pNext; 20444 VkBool32 ycbcrDegamma; 20445 } VkPhysicalDeviceYcbcrDegammaFeaturesQCOM; 20446 20447 typedef struct VkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM { 20448 VkStructureType sType; 20449 void* pNext; 20450 VkBool32 enableYDegamma; 20451 VkBool32 enableCbCrDegamma; 20452 } VkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM; 20453 20454 20455 20456 // VK_QCOM_filter_cubic_clamp is a preprocessor guard. Do not pass it to API calls. 20457 #define VK_QCOM_filter_cubic_clamp 1 20458 #define VK_QCOM_FILTER_CUBIC_CLAMP_SPEC_VERSION 1 20459 #define VK_QCOM_FILTER_CUBIC_CLAMP_EXTENSION_NAME "VK_QCOM_filter_cubic_clamp" 20460 typedef struct VkPhysicalDeviceCubicClampFeaturesQCOM { 20461 VkStructureType sType; 20462 void* pNext; 20463 VkBool32 cubicRangeClamp; 20464 } VkPhysicalDeviceCubicClampFeaturesQCOM; 20465 20466 20467 20468 // VK_EXT_attachment_feedback_loop_dynamic_state is a preprocessor guard. Do not pass it to API calls. 20469 #define VK_EXT_attachment_feedback_loop_dynamic_state 1 20470 #define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_SPEC_VERSION 1 20471 #define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_attachment_feedback_loop_dynamic_state" 20472 typedef struct VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT { 20473 VkStructureType sType; 20474 void* pNext; 20475 VkBool32 attachmentFeedbackLoopDynamicState; 20476 } VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT; 20477 20478 typedef void (VKAPI_PTR *PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT)(VkCommandBuffer commandBuffer, VkImageAspectFlags aspectMask); 20479 20480 #ifndef VK_NO_PROTOTYPES 20481 VKAPI_ATTR void VKAPI_CALL vkCmdSetAttachmentFeedbackLoopEnableEXT( 20482 VkCommandBuffer commandBuffer, 20483 VkImageAspectFlags aspectMask); 20484 #endif 20485 20486 20487 // VK_MSFT_layered_driver is a preprocessor guard. Do not pass it to API calls. 20488 #define VK_MSFT_layered_driver 1 20489 #define VK_MSFT_LAYERED_DRIVER_SPEC_VERSION 1 20490 #define VK_MSFT_LAYERED_DRIVER_EXTENSION_NAME "VK_MSFT_layered_driver" 20491 20492 typedef enum VkLayeredDriverUnderlyingApiMSFT { 20493 VK_LAYERED_DRIVER_UNDERLYING_API_NONE_MSFT = 0, 20494 VK_LAYERED_DRIVER_UNDERLYING_API_D3D12_MSFT = 1, 20495 VK_LAYERED_DRIVER_UNDERLYING_API_MAX_ENUM_MSFT = 0x7FFFFFFF 20496 } VkLayeredDriverUnderlyingApiMSFT; 20497 typedef struct VkPhysicalDeviceLayeredDriverPropertiesMSFT { 20498 VkStructureType sType; 20499 void* pNext; 20500 VkLayeredDriverUnderlyingApiMSFT underlyingAPI; 20501 } VkPhysicalDeviceLayeredDriverPropertiesMSFT; 20502 20503 20504 20505 // VK_NV_descriptor_pool_overallocation is a preprocessor guard. Do not pass it to API calls. 20506 #define VK_NV_descriptor_pool_overallocation 1 20507 #define VK_NV_DESCRIPTOR_POOL_OVERALLOCATION_SPEC_VERSION 1 20508 #define VK_NV_DESCRIPTOR_POOL_OVERALLOCATION_EXTENSION_NAME "VK_NV_descriptor_pool_overallocation" 20509 typedef struct VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV { 20510 VkStructureType sType; 20511 void* pNext; 20512 VkBool32 descriptorPoolOverallocation; 20513 } VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV; 20514 20515 20516 20517 // VK_NV_display_stereo is a preprocessor guard. Do not pass it to API calls. 20518 #define VK_NV_display_stereo 1 20519 #define VK_NV_DISPLAY_STEREO_SPEC_VERSION 1 20520 #define VK_NV_DISPLAY_STEREO_EXTENSION_NAME "VK_NV_display_stereo" 20521 20522 typedef enum VkDisplaySurfaceStereoTypeNV { 20523 VK_DISPLAY_SURFACE_STEREO_TYPE_NONE_NV = 0, 20524 VK_DISPLAY_SURFACE_STEREO_TYPE_ONBOARD_DIN_NV = 1, 20525 VK_DISPLAY_SURFACE_STEREO_TYPE_HDMI_3D_NV = 2, 20526 VK_DISPLAY_SURFACE_STEREO_TYPE_INBAND_DISPLAYPORT_NV = 3, 20527 VK_DISPLAY_SURFACE_STEREO_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 20528 } VkDisplaySurfaceStereoTypeNV; 20529 typedef struct VkDisplaySurfaceStereoCreateInfoNV { 20530 VkStructureType sType; 20531 const void* pNext; 20532 VkDisplaySurfaceStereoTypeNV stereoType; 20533 } VkDisplaySurfaceStereoCreateInfoNV; 20534 20535 typedef struct VkDisplayModeStereoPropertiesNV { 20536 VkStructureType sType; 20537 const void* pNext; 20538 VkBool32 hdmi3DSupported; 20539 } VkDisplayModeStereoPropertiesNV; 20540 20541 20542 20543 // VK_NV_raw_access_chains is a preprocessor guard. Do not pass it to API calls. 20544 #define VK_NV_raw_access_chains 1 20545 #define VK_NV_RAW_ACCESS_CHAINS_SPEC_VERSION 1 20546 #define VK_NV_RAW_ACCESS_CHAINS_EXTENSION_NAME "VK_NV_raw_access_chains" 20547 typedef struct VkPhysicalDeviceRawAccessChainsFeaturesNV { 20548 VkStructureType sType; 20549 void* pNext; 20550 VkBool32 shaderRawAccessChains; 20551 } VkPhysicalDeviceRawAccessChainsFeaturesNV; 20552 20553 20554 20555 // VK_NV_command_buffer_inheritance is a preprocessor guard. Do not pass it to API calls. 20556 #define VK_NV_command_buffer_inheritance 1 20557 #define VK_NV_COMMAND_BUFFER_INHERITANCE_SPEC_VERSION 1 20558 #define VK_NV_COMMAND_BUFFER_INHERITANCE_EXTENSION_NAME "VK_NV_command_buffer_inheritance" 20559 typedef struct VkPhysicalDeviceCommandBufferInheritanceFeaturesNV { 20560 VkStructureType sType; 20561 void* pNext; 20562 VkBool32 commandBufferInheritance; 20563 } VkPhysicalDeviceCommandBufferInheritanceFeaturesNV; 20564 20565 20566 20567 // VK_NV_shader_atomic_float16_vector is a preprocessor guard. Do not pass it to API calls. 20568 #define VK_NV_shader_atomic_float16_vector 1 20569 #define VK_NV_SHADER_ATOMIC_FLOAT16_VECTOR_SPEC_VERSION 1 20570 #define VK_NV_SHADER_ATOMIC_FLOAT16_VECTOR_EXTENSION_NAME "VK_NV_shader_atomic_float16_vector" 20571 typedef struct VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV { 20572 VkStructureType sType; 20573 void* pNext; 20574 VkBool32 shaderFloat16VectorAtomics; 20575 } VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV; 20576 20577 20578 20579 // VK_EXT_shader_replicated_composites is a preprocessor guard. Do not pass it to API calls. 20580 #define VK_EXT_shader_replicated_composites 1 20581 #define VK_EXT_SHADER_REPLICATED_COMPOSITES_SPEC_VERSION 1 20582 #define VK_EXT_SHADER_REPLICATED_COMPOSITES_EXTENSION_NAME "VK_EXT_shader_replicated_composites" 20583 typedef struct VkPhysicalDeviceShaderReplicatedCompositesFeaturesEXT { 20584 VkStructureType sType; 20585 void* pNext; 20586 VkBool32 shaderReplicatedComposites; 20587 } VkPhysicalDeviceShaderReplicatedCompositesFeaturesEXT; 20588 20589 20590 20591 // VK_NV_ray_tracing_validation is a preprocessor guard. Do not pass it to API calls. 20592 #define VK_NV_ray_tracing_validation 1 20593 #define VK_NV_RAY_TRACING_VALIDATION_SPEC_VERSION 1 20594 #define VK_NV_RAY_TRACING_VALIDATION_EXTENSION_NAME "VK_NV_ray_tracing_validation" 20595 typedef struct VkPhysicalDeviceRayTracingValidationFeaturesNV { 20596 VkStructureType sType; 20597 void* pNext; 20598 VkBool32 rayTracingValidation; 20599 } VkPhysicalDeviceRayTracingValidationFeaturesNV; 20600 20601 20602 20603 // VK_NV_cluster_acceleration_structure is a preprocessor guard. Do not pass it to API calls. 20604 #define VK_NV_cluster_acceleration_structure 1 20605 #define VK_NV_CLUSTER_ACCELERATION_STRUCTURE_SPEC_VERSION 2 20606 #define VK_NV_CLUSTER_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_NV_cluster_acceleration_structure" 20607 20608 typedef enum VkClusterAccelerationStructureTypeNV { 20609 VK_CLUSTER_ACCELERATION_STRUCTURE_TYPE_CLUSTERS_BOTTOM_LEVEL_NV = 0, 20610 VK_CLUSTER_ACCELERATION_STRUCTURE_TYPE_TRIANGLE_CLUSTER_NV = 1, 20611 VK_CLUSTER_ACCELERATION_STRUCTURE_TYPE_TRIANGLE_CLUSTER_TEMPLATE_NV = 2, 20612 VK_CLUSTER_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 20613 } VkClusterAccelerationStructureTypeNV; 20614 20615 typedef enum VkClusterAccelerationStructureOpTypeNV { 20616 VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_MOVE_OBJECTS_NV = 0, 20617 VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_BUILD_CLUSTERS_BOTTOM_LEVEL_NV = 1, 20618 VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_BUILD_TRIANGLE_CLUSTER_NV = 2, 20619 VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_BUILD_TRIANGLE_CLUSTER_TEMPLATE_NV = 3, 20620 VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_INSTANTIATE_TRIANGLE_CLUSTER_NV = 4, 20621 VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 20622 } VkClusterAccelerationStructureOpTypeNV; 20623 20624 typedef enum VkClusterAccelerationStructureOpModeNV { 20625 VK_CLUSTER_ACCELERATION_STRUCTURE_OP_MODE_IMPLICIT_DESTINATIONS_NV = 0, 20626 VK_CLUSTER_ACCELERATION_STRUCTURE_OP_MODE_EXPLICIT_DESTINATIONS_NV = 1, 20627 VK_CLUSTER_ACCELERATION_STRUCTURE_OP_MODE_COMPUTE_SIZES_NV = 2, 20628 VK_CLUSTER_ACCELERATION_STRUCTURE_OP_MODE_MAX_ENUM_NV = 0x7FFFFFFF 20629 } VkClusterAccelerationStructureOpModeNV; 20630 20631 typedef enum VkClusterAccelerationStructureAddressResolutionFlagBitsNV { 20632 VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_DST_IMPLICIT_DATA_BIT_NV = 0x00000001, 20633 VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_SCRATCH_DATA_BIT_NV = 0x00000002, 20634 VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_DST_ADDRESS_ARRAY_BIT_NV = 0x00000004, 20635 VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_DST_SIZES_ARRAY_BIT_NV = 0x00000008, 20636 VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_SRC_INFOS_ARRAY_BIT_NV = 0x00000010, 20637 VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_SRC_INFOS_COUNT_BIT_NV = 0x00000020, 20638 VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 20639 } VkClusterAccelerationStructureAddressResolutionFlagBitsNV; 20640 typedef VkFlags VkClusterAccelerationStructureAddressResolutionFlagsNV; 20641 20642 typedef enum VkClusterAccelerationStructureClusterFlagBitsNV { 20643 VK_CLUSTER_ACCELERATION_STRUCTURE_CLUSTER_ALLOW_DISABLE_OPACITY_MICROMAPS_NV = 0x00000001, 20644 VK_CLUSTER_ACCELERATION_STRUCTURE_CLUSTER_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 20645 } VkClusterAccelerationStructureClusterFlagBitsNV; 20646 typedef VkFlags VkClusterAccelerationStructureClusterFlagsNV; 20647 20648 typedef enum VkClusterAccelerationStructureGeometryFlagBitsNV { 20649 VK_CLUSTER_ACCELERATION_STRUCTURE_GEOMETRY_CULL_DISABLE_BIT_NV = 0x00000001, 20650 VK_CLUSTER_ACCELERATION_STRUCTURE_GEOMETRY_NO_DUPLICATE_ANYHIT_INVOCATION_BIT_NV = 0x00000002, 20651 VK_CLUSTER_ACCELERATION_STRUCTURE_GEOMETRY_OPAQUE_BIT_NV = 0x00000004, 20652 VK_CLUSTER_ACCELERATION_STRUCTURE_GEOMETRY_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 20653 } VkClusterAccelerationStructureGeometryFlagBitsNV; 20654 typedef VkFlags VkClusterAccelerationStructureGeometryFlagsNV; 20655 20656 typedef enum VkClusterAccelerationStructureIndexFormatFlagBitsNV { 20657 VK_CLUSTER_ACCELERATION_STRUCTURE_INDEX_FORMAT_8BIT_NV = 0x00000001, 20658 VK_CLUSTER_ACCELERATION_STRUCTURE_INDEX_FORMAT_16BIT_NV = 0x00000002, 20659 VK_CLUSTER_ACCELERATION_STRUCTURE_INDEX_FORMAT_32BIT_NV = 0x00000004, 20660 VK_CLUSTER_ACCELERATION_STRUCTURE_INDEX_FORMAT_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 20661 } VkClusterAccelerationStructureIndexFormatFlagBitsNV; 20662 typedef VkFlags VkClusterAccelerationStructureIndexFormatFlagsNV; 20663 typedef struct VkPhysicalDeviceClusterAccelerationStructureFeaturesNV { 20664 VkStructureType sType; 20665 void* pNext; 20666 VkBool32 clusterAccelerationStructure; 20667 } VkPhysicalDeviceClusterAccelerationStructureFeaturesNV; 20668 20669 typedef struct VkPhysicalDeviceClusterAccelerationStructurePropertiesNV { 20670 VkStructureType sType; 20671 void* pNext; 20672 uint32_t maxVerticesPerCluster; 20673 uint32_t maxTrianglesPerCluster; 20674 uint32_t clusterScratchByteAlignment; 20675 uint32_t clusterByteAlignment; 20676 uint32_t clusterTemplateByteAlignment; 20677 uint32_t clusterBottomLevelByteAlignment; 20678 uint32_t clusterTemplateBoundsByteAlignment; 20679 uint32_t maxClusterGeometryIndex; 20680 } VkPhysicalDeviceClusterAccelerationStructurePropertiesNV; 20681 20682 typedef struct VkClusterAccelerationStructureClustersBottomLevelInputNV { 20683 VkStructureType sType; 20684 void* pNext; 20685 uint32_t maxTotalClusterCount; 20686 uint32_t maxClusterCountPerAccelerationStructure; 20687 } VkClusterAccelerationStructureClustersBottomLevelInputNV; 20688 20689 typedef struct VkClusterAccelerationStructureTriangleClusterInputNV { 20690 VkStructureType sType; 20691 void* pNext; 20692 VkFormat vertexFormat; 20693 uint32_t maxGeometryIndexValue; 20694 uint32_t maxClusterUniqueGeometryCount; 20695 uint32_t maxClusterTriangleCount; 20696 uint32_t maxClusterVertexCount; 20697 uint32_t maxTotalTriangleCount; 20698 uint32_t maxTotalVertexCount; 20699 uint32_t minPositionTruncateBitCount; 20700 } VkClusterAccelerationStructureTriangleClusterInputNV; 20701 20702 typedef struct VkClusterAccelerationStructureMoveObjectsInputNV { 20703 VkStructureType sType; 20704 void* pNext; 20705 VkClusterAccelerationStructureTypeNV type; 20706 VkBool32 noMoveOverlap; 20707 VkDeviceSize maxMovedBytes; 20708 } VkClusterAccelerationStructureMoveObjectsInputNV; 20709 20710 typedef union VkClusterAccelerationStructureOpInputNV { 20711 VkClusterAccelerationStructureClustersBottomLevelInputNV* pClustersBottomLevel; 20712 VkClusterAccelerationStructureTriangleClusterInputNV* pTriangleClusters; 20713 VkClusterAccelerationStructureMoveObjectsInputNV* pMoveObjects; 20714 } VkClusterAccelerationStructureOpInputNV; 20715 20716 typedef struct VkClusterAccelerationStructureInputInfoNV { 20717 VkStructureType sType; 20718 void* pNext; 20719 uint32_t maxAccelerationStructureCount; 20720 VkBuildAccelerationStructureFlagsKHR flags; 20721 VkClusterAccelerationStructureOpTypeNV opType; 20722 VkClusterAccelerationStructureOpModeNV opMode; 20723 VkClusterAccelerationStructureOpInputNV opInput; 20724 } VkClusterAccelerationStructureInputInfoNV; 20725 20726 typedef struct VkStridedDeviceAddressRegionKHR { 20727 VkDeviceAddress deviceAddress; 20728 VkDeviceSize stride; 20729 VkDeviceSize size; 20730 } VkStridedDeviceAddressRegionKHR; 20731 20732 typedef struct VkClusterAccelerationStructureCommandsInfoNV { 20733 VkStructureType sType; 20734 void* pNext; 20735 VkClusterAccelerationStructureInputInfoNV input; 20736 VkDeviceAddress dstImplicitData; 20737 VkDeviceAddress scratchData; 20738 VkStridedDeviceAddressRegionKHR dstAddressesArray; 20739 VkStridedDeviceAddressRegionKHR dstSizesArray; 20740 VkStridedDeviceAddressRegionKHR srcInfosArray; 20741 VkDeviceAddress srcInfosCount; 20742 VkClusterAccelerationStructureAddressResolutionFlagsNV addressResolutionFlags; 20743 } VkClusterAccelerationStructureCommandsInfoNV; 20744 20745 typedef struct VkStridedDeviceAddressNV { 20746 VkDeviceAddress startAddress; 20747 VkDeviceSize strideInBytes; 20748 } VkStridedDeviceAddressNV; 20749 20750 typedef struct VkClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV { 20751 uint32_t geometryIndex:24; 20752 uint32_t reserved:5; 20753 uint32_t geometryFlags:3; 20754 } VkClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV; 20755 20756 typedef struct VkClusterAccelerationStructureMoveObjectsInfoNV { 20757 VkDeviceAddress srcAccelerationStructure; 20758 } VkClusterAccelerationStructureMoveObjectsInfoNV; 20759 20760 typedef struct VkClusterAccelerationStructureBuildClustersBottomLevelInfoNV { 20761 uint32_t clusterReferencesCount; 20762 uint32_t clusterReferencesStride; 20763 VkDeviceAddress clusterReferences; 20764 } VkClusterAccelerationStructureBuildClustersBottomLevelInfoNV; 20765 20766 typedef struct VkClusterAccelerationStructureBuildTriangleClusterInfoNV { 20767 uint32_t clusterID; 20768 VkClusterAccelerationStructureClusterFlagsNV clusterFlags; 20769 uint32_t triangleCount:9; 20770 uint32_t vertexCount:9; 20771 uint32_t positionTruncateBitCount:6; 20772 uint32_t indexType:4; 20773 uint32_t opacityMicromapIndexType:4; 20774 VkClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV baseGeometryIndexAndGeometryFlags; 20775 uint16_t indexBufferStride; 20776 uint16_t vertexBufferStride; 20777 uint16_t geometryIndexAndFlagsBufferStride; 20778 uint16_t opacityMicromapIndexBufferStride; 20779 VkDeviceAddress indexBuffer; 20780 VkDeviceAddress vertexBuffer; 20781 VkDeviceAddress geometryIndexAndFlagsBuffer; 20782 VkDeviceAddress opacityMicromapArray; 20783 VkDeviceAddress opacityMicromapIndexBuffer; 20784 } VkClusterAccelerationStructureBuildTriangleClusterInfoNV; 20785 20786 typedef struct VkClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV { 20787 uint32_t clusterID; 20788 VkClusterAccelerationStructureClusterFlagsNV clusterFlags; 20789 uint32_t triangleCount:9; 20790 uint32_t vertexCount:9; 20791 uint32_t positionTruncateBitCount:6; 20792 uint32_t indexType:4; 20793 uint32_t opacityMicromapIndexType:4; 20794 VkClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV baseGeometryIndexAndGeometryFlags; 20795 uint16_t indexBufferStride; 20796 uint16_t vertexBufferStride; 20797 uint16_t geometryIndexAndFlagsBufferStride; 20798 uint16_t opacityMicromapIndexBufferStride; 20799 VkDeviceAddress indexBuffer; 20800 VkDeviceAddress vertexBuffer; 20801 VkDeviceAddress geometryIndexAndFlagsBuffer; 20802 VkDeviceAddress opacityMicromapArray; 20803 VkDeviceAddress opacityMicromapIndexBuffer; 20804 VkDeviceAddress instantiationBoundingBoxLimit; 20805 } VkClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV; 20806 20807 typedef struct VkClusterAccelerationStructureInstantiateClusterInfoNV { 20808 uint32_t clusterIdOffset; 20809 uint32_t geometryIndexOffset:24; 20810 uint32_t reserved:8; 20811 VkDeviceAddress clusterTemplateAddress; 20812 VkStridedDeviceAddressNV vertexBuffer; 20813 } VkClusterAccelerationStructureInstantiateClusterInfoNV; 20814 20815 typedef struct VkAccelerationStructureBuildSizesInfoKHR { 20816 VkStructureType sType; 20817 const void* pNext; 20818 VkDeviceSize accelerationStructureSize; 20819 VkDeviceSize updateScratchSize; 20820 VkDeviceSize buildScratchSize; 20821 } VkAccelerationStructureBuildSizesInfoKHR; 20822 20823 typedef struct VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV { 20824 VkStructureType sType; 20825 void* pNext; 20826 VkBool32 allowClusterAccelerationStructure; 20827 } VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV; 20828 20829 typedef void (VKAPI_PTR *PFN_vkGetClusterAccelerationStructureBuildSizesNV)(VkDevice device, const VkClusterAccelerationStructureInputInfoNV* pInfo, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo); 20830 typedef void (VKAPI_PTR *PFN_vkCmdBuildClusterAccelerationStructureIndirectNV)(VkCommandBuffer commandBuffer, const VkClusterAccelerationStructureCommandsInfoNV* pCommandInfos); 20831 20832 #ifndef VK_NO_PROTOTYPES 20833 VKAPI_ATTR void VKAPI_CALL vkGetClusterAccelerationStructureBuildSizesNV( 20834 VkDevice device, 20835 const VkClusterAccelerationStructureInputInfoNV* pInfo, 20836 VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo); 20837 20838 VKAPI_ATTR void VKAPI_CALL vkCmdBuildClusterAccelerationStructureIndirectNV( 20839 VkCommandBuffer commandBuffer, 20840 const VkClusterAccelerationStructureCommandsInfoNV* pCommandInfos); 20841 #endif 20842 20843 20844 // VK_NV_partitioned_acceleration_structure is a preprocessor guard. Do not pass it to API calls. 20845 #define VK_NV_partitioned_acceleration_structure 1 20846 #define VK_NV_PARTITIONED_ACCELERATION_STRUCTURE_SPEC_VERSION 1 20847 #define VK_NV_PARTITIONED_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_NV_partitioned_acceleration_structure" 20848 #define VK_PARTITIONED_ACCELERATION_STRUCTURE_PARTITION_INDEX_GLOBAL_NV (~0U) 20849 20850 typedef enum VkPartitionedAccelerationStructureOpTypeNV { 20851 VK_PARTITIONED_ACCELERATION_STRUCTURE_OP_TYPE_WRITE_INSTANCE_NV = 0, 20852 VK_PARTITIONED_ACCELERATION_STRUCTURE_OP_TYPE_UPDATE_INSTANCE_NV = 1, 20853 VK_PARTITIONED_ACCELERATION_STRUCTURE_OP_TYPE_WRITE_PARTITION_TRANSLATION_NV = 2, 20854 VK_PARTITIONED_ACCELERATION_STRUCTURE_OP_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 20855 } VkPartitionedAccelerationStructureOpTypeNV; 20856 20857 typedef enum VkPartitionedAccelerationStructureInstanceFlagBitsNV { 20858 VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_TRIANGLE_FACING_CULL_DISABLE_BIT_NV = 0x00000001, 20859 VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_TRIANGLE_FLIP_FACING_BIT_NV = 0x00000002, 20860 VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_FORCE_OPAQUE_BIT_NV = 0x00000004, 20861 VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_FORCE_NO_OPAQUE_BIT_NV = 0x00000008, 20862 VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_ENABLE_EXPLICIT_BOUNDING_BOX_NV = 0x00000010, 20863 VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 20864 } VkPartitionedAccelerationStructureInstanceFlagBitsNV; 20865 typedef VkFlags VkPartitionedAccelerationStructureInstanceFlagsNV; 20866 typedef struct VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV { 20867 VkStructureType sType; 20868 void* pNext; 20869 VkBool32 partitionedAccelerationStructure; 20870 } VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV; 20871 20872 typedef struct VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV { 20873 VkStructureType sType; 20874 void* pNext; 20875 uint32_t maxPartitionCount; 20876 } VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV; 20877 20878 typedef struct VkPartitionedAccelerationStructureFlagsNV { 20879 VkStructureType sType; 20880 void* pNext; 20881 VkBool32 enablePartitionTranslation; 20882 } VkPartitionedAccelerationStructureFlagsNV; 20883 20884 typedef struct VkBuildPartitionedAccelerationStructureIndirectCommandNV { 20885 VkPartitionedAccelerationStructureOpTypeNV opType; 20886 uint32_t argCount; 20887 VkStridedDeviceAddressNV argData; 20888 } VkBuildPartitionedAccelerationStructureIndirectCommandNV; 20889 20890 typedef struct VkPartitionedAccelerationStructureWriteInstanceDataNV { 20891 VkTransformMatrixKHR transform; 20892 float explicitAABB[6]; 20893 uint32_t instanceID; 20894 uint32_t instanceMask; 20895 uint32_t instanceContributionToHitGroupIndex; 20896 VkPartitionedAccelerationStructureInstanceFlagsNV instanceFlags; 20897 uint32_t instanceIndex; 20898 uint32_t partitionIndex; 20899 VkDeviceAddress accelerationStructure; 20900 } VkPartitionedAccelerationStructureWriteInstanceDataNV; 20901 20902 typedef struct VkPartitionedAccelerationStructureUpdateInstanceDataNV { 20903 uint32_t instanceIndex; 20904 uint32_t instanceContributionToHitGroupIndex; 20905 VkDeviceAddress accelerationStructure; 20906 } VkPartitionedAccelerationStructureUpdateInstanceDataNV; 20907 20908 typedef struct VkPartitionedAccelerationStructureWritePartitionTranslationDataNV { 20909 uint32_t partitionIndex; 20910 float partitionTranslation[3]; 20911 } VkPartitionedAccelerationStructureWritePartitionTranslationDataNV; 20912 20913 typedef struct VkWriteDescriptorSetPartitionedAccelerationStructureNV { 20914 VkStructureType sType; 20915 void* pNext; 20916 uint32_t accelerationStructureCount; 20917 const VkDeviceAddress* pAccelerationStructures; 20918 } VkWriteDescriptorSetPartitionedAccelerationStructureNV; 20919 20920 typedef struct VkPartitionedAccelerationStructureInstancesInputNV { 20921 VkStructureType sType; 20922 void* pNext; 20923 VkBuildAccelerationStructureFlagsKHR flags; 20924 uint32_t instanceCount; 20925 uint32_t maxInstancePerPartitionCount; 20926 uint32_t partitionCount; 20927 uint32_t maxInstanceInGlobalPartitionCount; 20928 } VkPartitionedAccelerationStructureInstancesInputNV; 20929 20930 typedef struct VkBuildPartitionedAccelerationStructureInfoNV { 20931 VkStructureType sType; 20932 void* pNext; 20933 VkPartitionedAccelerationStructureInstancesInputNV input; 20934 VkDeviceAddress srcAccelerationStructureData; 20935 VkDeviceAddress dstAccelerationStructureData; 20936 VkDeviceAddress scratchData; 20937 VkDeviceAddress srcInfos; 20938 VkDeviceAddress srcInfosCount; 20939 } VkBuildPartitionedAccelerationStructureInfoNV; 20940 20941 typedef void (VKAPI_PTR *PFN_vkGetPartitionedAccelerationStructuresBuildSizesNV)(VkDevice device, const VkPartitionedAccelerationStructureInstancesInputNV* pInfo, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo); 20942 typedef void (VKAPI_PTR *PFN_vkCmdBuildPartitionedAccelerationStructuresNV)(VkCommandBuffer commandBuffer, const VkBuildPartitionedAccelerationStructureInfoNV* pBuildInfo); 20943 20944 #ifndef VK_NO_PROTOTYPES 20945 VKAPI_ATTR void VKAPI_CALL vkGetPartitionedAccelerationStructuresBuildSizesNV( 20946 VkDevice device, 20947 const VkPartitionedAccelerationStructureInstancesInputNV* pInfo, 20948 VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo); 20949 20950 VKAPI_ATTR void VKAPI_CALL vkCmdBuildPartitionedAccelerationStructuresNV( 20951 VkCommandBuffer commandBuffer, 20952 const VkBuildPartitionedAccelerationStructureInfoNV* pBuildInfo); 20953 #endif 20954 20955 20956 // VK_EXT_device_generated_commands is a preprocessor guard. Do not pass it to API calls. 20957 #define VK_EXT_device_generated_commands 1 20958 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectExecutionSetEXT) 20959 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutEXT) 20960 #define VK_EXT_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 1 20961 #define VK_EXT_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_EXT_device_generated_commands" 20962 20963 typedef enum VkIndirectExecutionSetInfoTypeEXT { 20964 VK_INDIRECT_EXECUTION_SET_INFO_TYPE_PIPELINES_EXT = 0, 20965 VK_INDIRECT_EXECUTION_SET_INFO_TYPE_SHADER_OBJECTS_EXT = 1, 20966 VK_INDIRECT_EXECUTION_SET_INFO_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 20967 } VkIndirectExecutionSetInfoTypeEXT; 20968 20969 typedef enum VkIndirectCommandsTokenTypeEXT { 20970 VK_INDIRECT_COMMANDS_TOKEN_TYPE_EXECUTION_SET_EXT = 0, 20971 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_EXT = 1, 20972 VK_INDIRECT_COMMANDS_TOKEN_TYPE_SEQUENCE_INDEX_EXT = 2, 20973 VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_EXT = 3, 20974 VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_EXT = 4, 20975 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_EXT = 5, 20976 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_EXT = 6, 20977 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_COUNT_EXT = 7, 20978 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_COUNT_EXT = 8, 20979 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_EXT = 9, 20980 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV_EXT = 1000202002, 20981 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_COUNT_NV_EXT = 1000202003, 20982 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_EXT = 1000328000, 20983 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_COUNT_EXT = 1000328001, 20984 VK_INDIRECT_COMMANDS_TOKEN_TYPE_TRACE_RAYS2_EXT = 1000386004, 20985 VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 20986 } VkIndirectCommandsTokenTypeEXT; 20987 20988 typedef enum VkIndirectCommandsInputModeFlagBitsEXT { 20989 VK_INDIRECT_COMMANDS_INPUT_MODE_VULKAN_INDEX_BUFFER_EXT = 0x00000001, 20990 VK_INDIRECT_COMMANDS_INPUT_MODE_DXGI_INDEX_BUFFER_EXT = 0x00000002, 20991 VK_INDIRECT_COMMANDS_INPUT_MODE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 20992 } VkIndirectCommandsInputModeFlagBitsEXT; 20993 typedef VkFlags VkIndirectCommandsInputModeFlagsEXT; 20994 20995 typedef enum VkIndirectCommandsLayoutUsageFlagBitsEXT { 20996 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_EXT = 0x00000001, 20997 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_EXT = 0x00000002, 20998 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 20999 } VkIndirectCommandsLayoutUsageFlagBitsEXT; 21000 typedef VkFlags VkIndirectCommandsLayoutUsageFlagsEXT; 21001 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesEXT { 21002 VkStructureType sType; 21003 void* pNext; 21004 VkBool32 deviceGeneratedCommands; 21005 VkBool32 dynamicGeneratedPipelineLayout; 21006 } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesEXT; 21007 21008 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesEXT { 21009 VkStructureType sType; 21010 void* pNext; 21011 uint32_t maxIndirectPipelineCount; 21012 uint32_t maxIndirectShaderObjectCount; 21013 uint32_t maxIndirectSequenceCount; 21014 uint32_t maxIndirectCommandsTokenCount; 21015 uint32_t maxIndirectCommandsTokenOffset; 21016 uint32_t maxIndirectCommandsIndirectStride; 21017 VkIndirectCommandsInputModeFlagsEXT supportedIndirectCommandsInputModes; 21018 VkShaderStageFlags supportedIndirectCommandsShaderStages; 21019 VkShaderStageFlags supportedIndirectCommandsShaderStagesPipelineBinding; 21020 VkShaderStageFlags supportedIndirectCommandsShaderStagesShaderBinding; 21021 VkBool32 deviceGeneratedCommandsTransformFeedback; 21022 VkBool32 deviceGeneratedCommandsMultiDrawIndirectCount; 21023 } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesEXT; 21024 21025 typedef struct VkGeneratedCommandsMemoryRequirementsInfoEXT { 21026 VkStructureType sType; 21027 const void* pNext; 21028 VkIndirectExecutionSetEXT indirectExecutionSet; 21029 VkIndirectCommandsLayoutEXT indirectCommandsLayout; 21030 uint32_t maxSequenceCount; 21031 uint32_t maxDrawCount; 21032 } VkGeneratedCommandsMemoryRequirementsInfoEXT; 21033 21034 typedef struct VkIndirectExecutionSetPipelineInfoEXT { 21035 VkStructureType sType; 21036 const void* pNext; 21037 VkPipeline initialPipeline; 21038 uint32_t maxPipelineCount; 21039 } VkIndirectExecutionSetPipelineInfoEXT; 21040 21041 typedef struct VkIndirectExecutionSetShaderLayoutInfoEXT { 21042 VkStructureType sType; 21043 const void* pNext; 21044 uint32_t setLayoutCount; 21045 const VkDescriptorSetLayout* pSetLayouts; 21046 } VkIndirectExecutionSetShaderLayoutInfoEXT; 21047 21048 typedef struct VkIndirectExecutionSetShaderInfoEXT { 21049 VkStructureType sType; 21050 const void* pNext; 21051 uint32_t shaderCount; 21052 const VkShaderEXT* pInitialShaders; 21053 const VkIndirectExecutionSetShaderLayoutInfoEXT* pSetLayoutInfos; 21054 uint32_t maxShaderCount; 21055 uint32_t pushConstantRangeCount; 21056 const VkPushConstantRange* pPushConstantRanges; 21057 } VkIndirectExecutionSetShaderInfoEXT; 21058 21059 typedef union VkIndirectExecutionSetInfoEXT { 21060 const VkIndirectExecutionSetPipelineInfoEXT* pPipelineInfo; 21061 const VkIndirectExecutionSetShaderInfoEXT* pShaderInfo; 21062 } VkIndirectExecutionSetInfoEXT; 21063 21064 typedef struct VkIndirectExecutionSetCreateInfoEXT { 21065 VkStructureType sType; 21066 const void* pNext; 21067 VkIndirectExecutionSetInfoTypeEXT type; 21068 VkIndirectExecutionSetInfoEXT info; 21069 } VkIndirectExecutionSetCreateInfoEXT; 21070 21071 typedef struct VkGeneratedCommandsInfoEXT { 21072 VkStructureType sType; 21073 const void* pNext; 21074 VkShaderStageFlags shaderStages; 21075 VkIndirectExecutionSetEXT indirectExecutionSet; 21076 VkIndirectCommandsLayoutEXT indirectCommandsLayout; 21077 VkDeviceAddress indirectAddress; 21078 VkDeviceSize indirectAddressSize; 21079 VkDeviceAddress preprocessAddress; 21080 VkDeviceSize preprocessSize; 21081 uint32_t maxSequenceCount; 21082 VkDeviceAddress sequenceCountAddress; 21083 uint32_t maxDrawCount; 21084 } VkGeneratedCommandsInfoEXT; 21085 21086 typedef struct VkWriteIndirectExecutionSetPipelineEXT { 21087 VkStructureType sType; 21088 const void* pNext; 21089 uint32_t index; 21090 VkPipeline pipeline; 21091 } VkWriteIndirectExecutionSetPipelineEXT; 21092 21093 typedef struct VkIndirectCommandsPushConstantTokenEXT { 21094 VkPushConstantRange updateRange; 21095 } VkIndirectCommandsPushConstantTokenEXT; 21096 21097 typedef struct VkIndirectCommandsVertexBufferTokenEXT { 21098 uint32_t vertexBindingUnit; 21099 } VkIndirectCommandsVertexBufferTokenEXT; 21100 21101 typedef struct VkIndirectCommandsIndexBufferTokenEXT { 21102 VkIndirectCommandsInputModeFlagBitsEXT mode; 21103 } VkIndirectCommandsIndexBufferTokenEXT; 21104 21105 typedef struct VkIndirectCommandsExecutionSetTokenEXT { 21106 VkIndirectExecutionSetInfoTypeEXT type; 21107 VkShaderStageFlags shaderStages; 21108 } VkIndirectCommandsExecutionSetTokenEXT; 21109 21110 typedef union VkIndirectCommandsTokenDataEXT { 21111 const VkIndirectCommandsPushConstantTokenEXT* pPushConstant; 21112 const VkIndirectCommandsVertexBufferTokenEXT* pVertexBuffer; 21113 const VkIndirectCommandsIndexBufferTokenEXT* pIndexBuffer; 21114 const VkIndirectCommandsExecutionSetTokenEXT* pExecutionSet; 21115 } VkIndirectCommandsTokenDataEXT; 21116 21117 typedef struct VkIndirectCommandsLayoutTokenEXT { 21118 VkStructureType sType; 21119 const void* pNext; 21120 VkIndirectCommandsTokenTypeEXT type; 21121 VkIndirectCommandsTokenDataEXT data; 21122 uint32_t offset; 21123 } VkIndirectCommandsLayoutTokenEXT; 21124 21125 typedef struct VkIndirectCommandsLayoutCreateInfoEXT { 21126 VkStructureType sType; 21127 const void* pNext; 21128 VkIndirectCommandsLayoutUsageFlagsEXT flags; 21129 VkShaderStageFlags shaderStages; 21130 uint32_t indirectStride; 21131 VkPipelineLayout pipelineLayout; 21132 uint32_t tokenCount; 21133 const VkIndirectCommandsLayoutTokenEXT* pTokens; 21134 } VkIndirectCommandsLayoutCreateInfoEXT; 21135 21136 typedef struct VkDrawIndirectCountIndirectCommandEXT { 21137 VkDeviceAddress bufferAddress; 21138 uint32_t stride; 21139 uint32_t commandCount; 21140 } VkDrawIndirectCountIndirectCommandEXT; 21141 21142 typedef struct VkBindVertexBufferIndirectCommandEXT { 21143 VkDeviceAddress bufferAddress; 21144 uint32_t size; 21145 uint32_t stride; 21146 } VkBindVertexBufferIndirectCommandEXT; 21147 21148 typedef struct VkBindIndexBufferIndirectCommandEXT { 21149 VkDeviceAddress bufferAddress; 21150 uint32_t size; 21151 VkIndexType indexType; 21152 } VkBindIndexBufferIndirectCommandEXT; 21153 21154 typedef struct VkGeneratedCommandsPipelineInfoEXT { 21155 VkStructureType sType; 21156 void* pNext; 21157 VkPipeline pipeline; 21158 } VkGeneratedCommandsPipelineInfoEXT; 21159 21160 typedef struct VkGeneratedCommandsShaderInfoEXT { 21161 VkStructureType sType; 21162 void* pNext; 21163 uint32_t shaderCount; 21164 const VkShaderEXT* pShaders; 21165 } VkGeneratedCommandsShaderInfoEXT; 21166 21167 typedef struct VkWriteIndirectExecutionSetShaderEXT { 21168 VkStructureType sType; 21169 const void* pNext; 21170 uint32_t index; 21171 VkShaderEXT shader; 21172 } VkWriteIndirectExecutionSetShaderEXT; 21173 21174 typedef void (VKAPI_PTR *PFN_vkGetGeneratedCommandsMemoryRequirementsEXT)(VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoEXT* pInfo, VkMemoryRequirements2* pMemoryRequirements); 21175 typedef void (VKAPI_PTR *PFN_vkCmdPreprocessGeneratedCommandsEXT)(VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoEXT* pGeneratedCommandsInfo, VkCommandBuffer stateCommandBuffer); 21176 typedef void (VKAPI_PTR *PFN_vkCmdExecuteGeneratedCommandsEXT)(VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoEXT* pGeneratedCommandsInfo); 21177 typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutEXT)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutEXT* pIndirectCommandsLayout); 21178 typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutEXT)(VkDevice device, VkIndirectCommandsLayoutEXT indirectCommandsLayout, const VkAllocationCallbacks* pAllocator); 21179 typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectExecutionSetEXT)(VkDevice device, const VkIndirectExecutionSetCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectExecutionSetEXT* pIndirectExecutionSet); 21180 typedef void (VKAPI_PTR *PFN_vkDestroyIndirectExecutionSetEXT)(VkDevice device, VkIndirectExecutionSetEXT indirectExecutionSet, const VkAllocationCallbacks* pAllocator); 21181 typedef void (VKAPI_PTR *PFN_vkUpdateIndirectExecutionSetPipelineEXT)(VkDevice device, VkIndirectExecutionSetEXT indirectExecutionSet, uint32_t executionSetWriteCount, const VkWriteIndirectExecutionSetPipelineEXT* pExecutionSetWrites); 21182 typedef void (VKAPI_PTR *PFN_vkUpdateIndirectExecutionSetShaderEXT)(VkDevice device, VkIndirectExecutionSetEXT indirectExecutionSet, uint32_t executionSetWriteCount, const VkWriteIndirectExecutionSetShaderEXT* pExecutionSetWrites); 21183 21184 #ifndef VK_NO_PROTOTYPES 21185 VKAPI_ATTR void VKAPI_CALL vkGetGeneratedCommandsMemoryRequirementsEXT( 21186 VkDevice device, 21187 const VkGeneratedCommandsMemoryRequirementsInfoEXT* pInfo, 21188 VkMemoryRequirements2* pMemoryRequirements); 21189 21190 VKAPI_ATTR void VKAPI_CALL vkCmdPreprocessGeneratedCommandsEXT( 21191 VkCommandBuffer commandBuffer, 21192 const VkGeneratedCommandsInfoEXT* pGeneratedCommandsInfo, 21193 VkCommandBuffer stateCommandBuffer); 21194 21195 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteGeneratedCommandsEXT( 21196 VkCommandBuffer commandBuffer, 21197 VkBool32 isPreprocessed, 21198 const VkGeneratedCommandsInfoEXT* pGeneratedCommandsInfo); 21199 21200 VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutEXT( 21201 VkDevice device, 21202 const VkIndirectCommandsLayoutCreateInfoEXT* pCreateInfo, 21203 const VkAllocationCallbacks* pAllocator, 21204 VkIndirectCommandsLayoutEXT* pIndirectCommandsLayout); 21205 21206 VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutEXT( 21207 VkDevice device, 21208 VkIndirectCommandsLayoutEXT indirectCommandsLayout, 21209 const VkAllocationCallbacks* pAllocator); 21210 21211 VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectExecutionSetEXT( 21212 VkDevice device, 21213 const VkIndirectExecutionSetCreateInfoEXT* pCreateInfo, 21214 const VkAllocationCallbacks* pAllocator, 21215 VkIndirectExecutionSetEXT* pIndirectExecutionSet); 21216 21217 VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectExecutionSetEXT( 21218 VkDevice device, 21219 VkIndirectExecutionSetEXT indirectExecutionSet, 21220 const VkAllocationCallbacks* pAllocator); 21221 21222 VKAPI_ATTR void VKAPI_CALL vkUpdateIndirectExecutionSetPipelineEXT( 21223 VkDevice device, 21224 VkIndirectExecutionSetEXT indirectExecutionSet, 21225 uint32_t executionSetWriteCount, 21226 const VkWriteIndirectExecutionSetPipelineEXT* pExecutionSetWrites); 21227 21228 VKAPI_ATTR void VKAPI_CALL vkUpdateIndirectExecutionSetShaderEXT( 21229 VkDevice device, 21230 VkIndirectExecutionSetEXT indirectExecutionSet, 21231 uint32_t executionSetWriteCount, 21232 const VkWriteIndirectExecutionSetShaderEXT* pExecutionSetWrites); 21233 #endif 21234 21235 21236 // VK_MESA_image_alignment_control is a preprocessor guard. Do not pass it to API calls. 21237 #define VK_MESA_image_alignment_control 1 21238 #define VK_MESA_IMAGE_ALIGNMENT_CONTROL_SPEC_VERSION 1 21239 #define VK_MESA_IMAGE_ALIGNMENT_CONTROL_EXTENSION_NAME "VK_MESA_image_alignment_control" 21240 typedef struct VkPhysicalDeviceImageAlignmentControlFeaturesMESA { 21241 VkStructureType sType; 21242 void* pNext; 21243 VkBool32 imageAlignmentControl; 21244 } VkPhysicalDeviceImageAlignmentControlFeaturesMESA; 21245 21246 typedef struct VkPhysicalDeviceImageAlignmentControlPropertiesMESA { 21247 VkStructureType sType; 21248 void* pNext; 21249 uint32_t supportedImageAlignmentMask; 21250 } VkPhysicalDeviceImageAlignmentControlPropertiesMESA; 21251 21252 typedef struct VkImageAlignmentControlCreateInfoMESA { 21253 VkStructureType sType; 21254 const void* pNext; 21255 uint32_t maximumRequestedAlignment; 21256 } VkImageAlignmentControlCreateInfoMESA; 21257 21258 21259 21260 // VK_EXT_depth_clamp_control is a preprocessor guard. Do not pass it to API calls. 21261 #define VK_EXT_depth_clamp_control 1 21262 #define VK_EXT_DEPTH_CLAMP_CONTROL_SPEC_VERSION 1 21263 #define VK_EXT_DEPTH_CLAMP_CONTROL_EXTENSION_NAME "VK_EXT_depth_clamp_control" 21264 typedef struct VkPhysicalDeviceDepthClampControlFeaturesEXT { 21265 VkStructureType sType; 21266 void* pNext; 21267 VkBool32 depthClampControl; 21268 } VkPhysicalDeviceDepthClampControlFeaturesEXT; 21269 21270 typedef struct VkPipelineViewportDepthClampControlCreateInfoEXT { 21271 VkStructureType sType; 21272 const void* pNext; 21273 VkDepthClampModeEXT depthClampMode; 21274 const VkDepthClampRangeEXT* pDepthClampRange; 21275 } VkPipelineViewportDepthClampControlCreateInfoEXT; 21276 21277 21278 21279 // VK_HUAWEI_hdr_vivid is a preprocessor guard. Do not pass it to API calls. 21280 #define VK_HUAWEI_hdr_vivid 1 21281 #define VK_HUAWEI_HDR_VIVID_SPEC_VERSION 1 21282 #define VK_HUAWEI_HDR_VIVID_EXTENSION_NAME "VK_HUAWEI_hdr_vivid" 21283 typedef struct VkPhysicalDeviceHdrVividFeaturesHUAWEI { 21284 VkStructureType sType; 21285 void* pNext; 21286 VkBool32 hdrVivid; 21287 } VkPhysicalDeviceHdrVividFeaturesHUAWEI; 21288 21289 typedef struct VkHdrVividDynamicMetadataHUAWEI { 21290 VkStructureType sType; 21291 const void* pNext; 21292 size_t dynamicMetadataSize; 21293 const void* pDynamicMetadata; 21294 } VkHdrVividDynamicMetadataHUAWEI; 21295 21296 21297 21298 // VK_NV_cooperative_matrix2 is a preprocessor guard. Do not pass it to API calls. 21299 #define VK_NV_cooperative_matrix2 1 21300 #define VK_NV_COOPERATIVE_MATRIX_2_SPEC_VERSION 1 21301 #define VK_NV_COOPERATIVE_MATRIX_2_EXTENSION_NAME "VK_NV_cooperative_matrix2" 21302 typedef struct VkCooperativeMatrixFlexibleDimensionsPropertiesNV { 21303 VkStructureType sType; 21304 void* pNext; 21305 uint32_t MGranularity; 21306 uint32_t NGranularity; 21307 uint32_t KGranularity; 21308 VkComponentTypeKHR AType; 21309 VkComponentTypeKHR BType; 21310 VkComponentTypeKHR CType; 21311 VkComponentTypeKHR ResultType; 21312 VkBool32 saturatingAccumulation; 21313 VkScopeKHR scope; 21314 uint32_t workgroupInvocations; 21315 } VkCooperativeMatrixFlexibleDimensionsPropertiesNV; 21316 21317 typedef struct VkPhysicalDeviceCooperativeMatrix2FeaturesNV { 21318 VkStructureType sType; 21319 void* pNext; 21320 VkBool32 cooperativeMatrixWorkgroupScope; 21321 VkBool32 cooperativeMatrixFlexibleDimensions; 21322 VkBool32 cooperativeMatrixReductions; 21323 VkBool32 cooperativeMatrixConversions; 21324 VkBool32 cooperativeMatrixPerElementOperations; 21325 VkBool32 cooperativeMatrixTensorAddressing; 21326 VkBool32 cooperativeMatrixBlockLoads; 21327 } VkPhysicalDeviceCooperativeMatrix2FeaturesNV; 21328 21329 typedef struct VkPhysicalDeviceCooperativeMatrix2PropertiesNV { 21330 VkStructureType sType; 21331 void* pNext; 21332 uint32_t cooperativeMatrixWorkgroupScopeMaxWorkgroupSize; 21333 uint32_t cooperativeMatrixFlexibleDimensionsMaxDimension; 21334 uint32_t cooperativeMatrixWorkgroupScopeReservedSharedMemory; 21335 } VkPhysicalDeviceCooperativeMatrix2PropertiesNV; 21336 21337 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixFlexibleDimensionsPropertiesNV* pProperties); 21338 21339 #ifndef VK_NO_PROTOTYPES 21340 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV( 21341 VkPhysicalDevice physicalDevice, 21342 uint32_t* pPropertyCount, 21343 VkCooperativeMatrixFlexibleDimensionsPropertiesNV* pProperties); 21344 #endif 21345 21346 21347 // VK_ARM_pipeline_opacity_micromap is a preprocessor guard. Do not pass it to API calls. 21348 #define VK_ARM_pipeline_opacity_micromap 1 21349 #define VK_ARM_PIPELINE_OPACITY_MICROMAP_SPEC_VERSION 1 21350 #define VK_ARM_PIPELINE_OPACITY_MICROMAP_EXTENSION_NAME "VK_ARM_pipeline_opacity_micromap" 21351 typedef struct VkPhysicalDevicePipelineOpacityMicromapFeaturesARM { 21352 VkStructureType sType; 21353 void* pNext; 21354 VkBool32 pipelineOpacityMicromap; 21355 } VkPhysicalDevicePipelineOpacityMicromapFeaturesARM; 21356 21357 21358 21359 // VK_EXT_vertex_attribute_robustness is a preprocessor guard. Do not pass it to API calls. 21360 #define VK_EXT_vertex_attribute_robustness 1 21361 #define VK_EXT_VERTEX_ATTRIBUTE_ROBUSTNESS_SPEC_VERSION 1 21362 #define VK_EXT_VERTEX_ATTRIBUTE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_vertex_attribute_robustness" 21363 typedef struct VkPhysicalDeviceVertexAttributeRobustnessFeaturesEXT { 21364 VkStructureType sType; 21365 void* pNext; 21366 VkBool32 vertexAttributeRobustness; 21367 } VkPhysicalDeviceVertexAttributeRobustnessFeaturesEXT; 21368 21369 21370 21371 // VK_NV_present_metering is a preprocessor guard. Do not pass it to API calls. 21372 #define VK_NV_present_metering 1 21373 #define VK_NV_PRESENT_METERING_SPEC_VERSION 1 21374 #define VK_NV_PRESENT_METERING_EXTENSION_NAME "VK_NV_present_metering" 21375 typedef struct VkSetPresentConfigNV { 21376 VkStructureType sType; 21377 const void* pNext; 21378 uint32_t numFramesPerBatch; 21379 uint32_t presentConfigFeedback; 21380 } VkSetPresentConfigNV; 21381 21382 typedef struct VkPhysicalDevicePresentMeteringFeaturesNV { 21383 VkStructureType sType; 21384 void* pNext; 21385 VkBool32 presentMetering; 21386 } VkPhysicalDevicePresentMeteringFeaturesNV; 21387 21388 21389 21390 // VK_KHR_acceleration_structure is a preprocessor guard. Do not pass it to API calls. 21391 #define VK_KHR_acceleration_structure 1 21392 #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 13 21393 #define VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_KHR_acceleration_structure" 21394 21395 typedef enum VkBuildAccelerationStructureModeKHR { 21396 VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR = 0, 21397 VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR = 1, 21398 VK_BUILD_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 21399 } VkBuildAccelerationStructureModeKHR; 21400 21401 typedef enum VkAccelerationStructureCreateFlagBitsKHR { 21402 VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 0x00000001, 21403 VK_ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000008, 21404 VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 0x00000004, 21405 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 21406 } VkAccelerationStructureCreateFlagBitsKHR; 21407 typedef VkFlags VkAccelerationStructureCreateFlagsKHR; 21408 typedef struct VkAccelerationStructureBuildRangeInfoKHR { 21409 uint32_t primitiveCount; 21410 uint32_t primitiveOffset; 21411 uint32_t firstVertex; 21412 uint32_t transformOffset; 21413 } VkAccelerationStructureBuildRangeInfoKHR; 21414 21415 typedef struct VkAccelerationStructureGeometryTrianglesDataKHR { 21416 VkStructureType sType; 21417 const void* pNext; 21418 VkFormat vertexFormat; 21419 VkDeviceOrHostAddressConstKHR vertexData; 21420 VkDeviceSize vertexStride; 21421 uint32_t maxVertex; 21422 VkIndexType indexType; 21423 VkDeviceOrHostAddressConstKHR indexData; 21424 VkDeviceOrHostAddressConstKHR transformData; 21425 } VkAccelerationStructureGeometryTrianglesDataKHR; 21426 21427 typedef struct VkAccelerationStructureGeometryAabbsDataKHR { 21428 VkStructureType sType; 21429 const void* pNext; 21430 VkDeviceOrHostAddressConstKHR data; 21431 VkDeviceSize stride; 21432 } VkAccelerationStructureGeometryAabbsDataKHR; 21433 21434 typedef struct VkAccelerationStructureGeometryInstancesDataKHR { 21435 VkStructureType sType; 21436 const void* pNext; 21437 VkBool32 arrayOfPointers; 21438 VkDeviceOrHostAddressConstKHR data; 21439 } VkAccelerationStructureGeometryInstancesDataKHR; 21440 21441 typedef union VkAccelerationStructureGeometryDataKHR { 21442 VkAccelerationStructureGeometryTrianglesDataKHR triangles; 21443 VkAccelerationStructureGeometryAabbsDataKHR aabbs; 21444 VkAccelerationStructureGeometryInstancesDataKHR instances; 21445 } VkAccelerationStructureGeometryDataKHR; 21446 21447 typedef struct VkAccelerationStructureGeometryKHR { 21448 VkStructureType sType; 21449 const void* pNext; 21450 VkGeometryTypeKHR geometryType; 21451 VkAccelerationStructureGeometryDataKHR geometry; 21452 VkGeometryFlagsKHR flags; 21453 } VkAccelerationStructureGeometryKHR; 21454 21455 typedef struct VkAccelerationStructureBuildGeometryInfoKHR { 21456 VkStructureType sType; 21457 const void* pNext; 21458 VkAccelerationStructureTypeKHR type; 21459 VkBuildAccelerationStructureFlagsKHR flags; 21460 VkBuildAccelerationStructureModeKHR mode; 21461 VkAccelerationStructureKHR srcAccelerationStructure; 21462 VkAccelerationStructureKHR dstAccelerationStructure; 21463 uint32_t geometryCount; 21464 const VkAccelerationStructureGeometryKHR* pGeometries; 21465 const VkAccelerationStructureGeometryKHR* const* ppGeometries; 21466 VkDeviceOrHostAddressKHR scratchData; 21467 } VkAccelerationStructureBuildGeometryInfoKHR; 21468 21469 typedef struct VkAccelerationStructureCreateInfoKHR { 21470 VkStructureType sType; 21471 const void* pNext; 21472 VkAccelerationStructureCreateFlagsKHR createFlags; 21473 VkBuffer buffer; 21474 VkDeviceSize offset; 21475 VkDeviceSize size; 21476 VkAccelerationStructureTypeKHR type; 21477 VkDeviceAddress deviceAddress; 21478 } VkAccelerationStructureCreateInfoKHR; 21479 21480 typedef struct VkWriteDescriptorSetAccelerationStructureKHR { 21481 VkStructureType sType; 21482 const void* pNext; 21483 uint32_t accelerationStructureCount; 21484 const VkAccelerationStructureKHR* pAccelerationStructures; 21485 } VkWriteDescriptorSetAccelerationStructureKHR; 21486 21487 typedef struct VkPhysicalDeviceAccelerationStructureFeaturesKHR { 21488 VkStructureType sType; 21489 void* pNext; 21490 VkBool32 accelerationStructure; 21491 VkBool32 accelerationStructureCaptureReplay; 21492 VkBool32 accelerationStructureIndirectBuild; 21493 VkBool32 accelerationStructureHostCommands; 21494 VkBool32 descriptorBindingAccelerationStructureUpdateAfterBind; 21495 } VkPhysicalDeviceAccelerationStructureFeaturesKHR; 21496 21497 typedef struct VkPhysicalDeviceAccelerationStructurePropertiesKHR { 21498 VkStructureType sType; 21499 void* pNext; 21500 uint64_t maxGeometryCount; 21501 uint64_t maxInstanceCount; 21502 uint64_t maxPrimitiveCount; 21503 uint32_t maxPerStageDescriptorAccelerationStructures; 21504 uint32_t maxPerStageDescriptorUpdateAfterBindAccelerationStructures; 21505 uint32_t maxDescriptorSetAccelerationStructures; 21506 uint32_t maxDescriptorSetUpdateAfterBindAccelerationStructures; 21507 uint32_t minAccelerationStructureScratchOffsetAlignment; 21508 } VkPhysicalDeviceAccelerationStructurePropertiesKHR; 21509 21510 typedef struct VkAccelerationStructureDeviceAddressInfoKHR { 21511 VkStructureType sType; 21512 const void* pNext; 21513 VkAccelerationStructureKHR accelerationStructure; 21514 } VkAccelerationStructureDeviceAddressInfoKHR; 21515 21516 typedef struct VkAccelerationStructureVersionInfoKHR { 21517 VkStructureType sType; 21518 const void* pNext; 21519 const uint8_t* pVersionData; 21520 } VkAccelerationStructureVersionInfoKHR; 21521 21522 typedef struct VkCopyAccelerationStructureToMemoryInfoKHR { 21523 VkStructureType sType; 21524 const void* pNext; 21525 VkAccelerationStructureKHR src; 21526 VkDeviceOrHostAddressKHR dst; 21527 VkCopyAccelerationStructureModeKHR mode; 21528 } VkCopyAccelerationStructureToMemoryInfoKHR; 21529 21530 typedef struct VkCopyMemoryToAccelerationStructureInfoKHR { 21531 VkStructureType sType; 21532 const void* pNext; 21533 VkDeviceOrHostAddressConstKHR src; 21534 VkAccelerationStructureKHR dst; 21535 VkCopyAccelerationStructureModeKHR mode; 21536 } VkCopyMemoryToAccelerationStructureInfoKHR; 21537 21538 typedef struct VkCopyAccelerationStructureInfoKHR { 21539 VkStructureType sType; 21540 const void* pNext; 21541 VkAccelerationStructureKHR src; 21542 VkAccelerationStructureKHR dst; 21543 VkCopyAccelerationStructureModeKHR mode; 21544 } VkCopyAccelerationStructureInfoKHR; 21545 21546 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureKHR)(VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure); 21547 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureKHR)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator); 21548 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresKHR)(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos); 21549 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresIndirectKHR)(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkDeviceAddress* pIndirectDeviceAddresses, const uint32_t* pIndirectStrides, const uint32_t* const* ppMaxPrimitiveCounts); 21550 typedef VkResult (VKAPI_PTR *PFN_vkBuildAccelerationStructuresKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos); 21551 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR* pInfo); 21552 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureToMemoryKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); 21553 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); 21554 typedef VkResult (VKAPI_PTR *PFN_vkWriteAccelerationStructuresPropertiesKHR)(VkDevice device, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, size_t dataSize, void* pData, size_t stride); 21555 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo); 21556 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureToMemoryKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); 21557 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); 21558 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetAccelerationStructureDeviceAddressKHR)(VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo); 21559 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery); 21560 typedef void (VKAPI_PTR *PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)(VkDevice device, const VkAccelerationStructureVersionInfoKHR* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility); 21561 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureBuildSizesKHR)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, const uint32_t* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo); 21562 21563 #ifndef VK_NO_PROTOTYPES 21564 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureKHR( 21565 VkDevice device, 21566 const VkAccelerationStructureCreateInfoKHR* pCreateInfo, 21567 const VkAllocationCallbacks* pAllocator, 21568 VkAccelerationStructureKHR* pAccelerationStructure); 21569 21570 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureKHR( 21571 VkDevice device, 21572 VkAccelerationStructureKHR accelerationStructure, 21573 const VkAllocationCallbacks* pAllocator); 21574 21575 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresKHR( 21576 VkCommandBuffer commandBuffer, 21577 uint32_t infoCount, 21578 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, 21579 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos); 21580 21581 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresIndirectKHR( 21582 VkCommandBuffer commandBuffer, 21583 uint32_t infoCount, 21584 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, 21585 const VkDeviceAddress* pIndirectDeviceAddresses, 21586 const uint32_t* pIndirectStrides, 21587 const uint32_t* const* ppMaxPrimitiveCounts); 21588 21589 VKAPI_ATTR VkResult VKAPI_CALL vkBuildAccelerationStructuresKHR( 21590 VkDevice device, 21591 VkDeferredOperationKHR deferredOperation, 21592 uint32_t infoCount, 21593 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, 21594 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos); 21595 21596 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureKHR( 21597 VkDevice device, 21598 VkDeferredOperationKHR deferredOperation, 21599 const VkCopyAccelerationStructureInfoKHR* pInfo); 21600 21601 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureToMemoryKHR( 21602 VkDevice device, 21603 VkDeferredOperationKHR deferredOperation, 21604 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); 21605 21606 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToAccelerationStructureKHR( 21607 VkDevice device, 21608 VkDeferredOperationKHR deferredOperation, 21609 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); 21610 21611 VKAPI_ATTR VkResult VKAPI_CALL vkWriteAccelerationStructuresPropertiesKHR( 21612 VkDevice device, 21613 uint32_t accelerationStructureCount, 21614 const VkAccelerationStructureKHR* pAccelerationStructures, 21615 VkQueryType queryType, 21616 size_t dataSize, 21617 void* pData, 21618 size_t stride); 21619 21620 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureKHR( 21621 VkCommandBuffer commandBuffer, 21622 const VkCopyAccelerationStructureInfoKHR* pInfo); 21623 21624 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureToMemoryKHR( 21625 VkCommandBuffer commandBuffer, 21626 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); 21627 21628 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToAccelerationStructureKHR( 21629 VkCommandBuffer commandBuffer, 21630 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); 21631 21632 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetAccelerationStructureDeviceAddressKHR( 21633 VkDevice device, 21634 const VkAccelerationStructureDeviceAddressInfoKHR* pInfo); 21635 21636 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesKHR( 21637 VkCommandBuffer commandBuffer, 21638 uint32_t accelerationStructureCount, 21639 const VkAccelerationStructureKHR* pAccelerationStructures, 21640 VkQueryType queryType, 21641 VkQueryPool queryPool, 21642 uint32_t firstQuery); 21643 21644 VKAPI_ATTR void VKAPI_CALL vkGetDeviceAccelerationStructureCompatibilityKHR( 21645 VkDevice device, 21646 const VkAccelerationStructureVersionInfoKHR* pVersionInfo, 21647 VkAccelerationStructureCompatibilityKHR* pCompatibility); 21648 21649 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureBuildSizesKHR( 21650 VkDevice device, 21651 VkAccelerationStructureBuildTypeKHR buildType, 21652 const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, 21653 const uint32_t* pMaxPrimitiveCounts, 21654 VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo); 21655 #endif 21656 21657 21658 // VK_KHR_ray_tracing_pipeline is a preprocessor guard. Do not pass it to API calls. 21659 #define VK_KHR_ray_tracing_pipeline 1 21660 #define VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION 1 21661 #define VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME "VK_KHR_ray_tracing_pipeline" 21662 21663 typedef enum VkShaderGroupShaderKHR { 21664 VK_SHADER_GROUP_SHADER_GENERAL_KHR = 0, 21665 VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR = 1, 21666 VK_SHADER_GROUP_SHADER_ANY_HIT_KHR = 2, 21667 VK_SHADER_GROUP_SHADER_INTERSECTION_KHR = 3, 21668 VK_SHADER_GROUP_SHADER_MAX_ENUM_KHR = 0x7FFFFFFF 21669 } VkShaderGroupShaderKHR; 21670 typedef struct VkRayTracingShaderGroupCreateInfoKHR { 21671 VkStructureType sType; 21672 const void* pNext; 21673 VkRayTracingShaderGroupTypeKHR type; 21674 uint32_t generalShader; 21675 uint32_t closestHitShader; 21676 uint32_t anyHitShader; 21677 uint32_t intersectionShader; 21678 const void* pShaderGroupCaptureReplayHandle; 21679 } VkRayTracingShaderGroupCreateInfoKHR; 21680 21681 typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR { 21682 VkStructureType sType; 21683 const void* pNext; 21684 uint32_t maxPipelineRayPayloadSize; 21685 uint32_t maxPipelineRayHitAttributeSize; 21686 } VkRayTracingPipelineInterfaceCreateInfoKHR; 21687 21688 typedef struct VkRayTracingPipelineCreateInfoKHR { 21689 VkStructureType sType; 21690 const void* pNext; 21691 VkPipelineCreateFlags flags; 21692 uint32_t stageCount; 21693 const VkPipelineShaderStageCreateInfo* pStages; 21694 uint32_t groupCount; 21695 const VkRayTracingShaderGroupCreateInfoKHR* pGroups; 21696 uint32_t maxPipelineRayRecursionDepth; 21697 const VkPipelineLibraryCreateInfoKHR* pLibraryInfo; 21698 const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface; 21699 const VkPipelineDynamicStateCreateInfo* pDynamicState; 21700 VkPipelineLayout layout; 21701 VkPipeline basePipelineHandle; 21702 int32_t basePipelineIndex; 21703 } VkRayTracingPipelineCreateInfoKHR; 21704 21705 typedef struct VkPhysicalDeviceRayTracingPipelineFeaturesKHR { 21706 VkStructureType sType; 21707 void* pNext; 21708 VkBool32 rayTracingPipeline; 21709 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplay; 21710 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplayMixed; 21711 VkBool32 rayTracingPipelineTraceRaysIndirect; 21712 VkBool32 rayTraversalPrimitiveCulling; 21713 } VkPhysicalDeviceRayTracingPipelineFeaturesKHR; 21714 21715 typedef struct VkPhysicalDeviceRayTracingPipelinePropertiesKHR { 21716 VkStructureType sType; 21717 void* pNext; 21718 uint32_t shaderGroupHandleSize; 21719 uint32_t maxRayRecursionDepth; 21720 uint32_t maxShaderGroupStride; 21721 uint32_t shaderGroupBaseAlignment; 21722 uint32_t shaderGroupHandleCaptureReplaySize; 21723 uint32_t maxRayDispatchInvocationCount; 21724 uint32_t shaderGroupHandleAlignment; 21725 uint32_t maxRayHitAttributeSize; 21726 } VkPhysicalDeviceRayTracingPipelinePropertiesKHR; 21727 21728 typedef struct VkTraceRaysIndirectCommandKHR { 21729 uint32_t width; 21730 uint32_t height; 21731 uint32_t depth; 21732 } VkTraceRaysIndirectCommandKHR; 21733 21734 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysKHR)(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, uint32_t width, uint32_t height, uint32_t depth); 21735 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 21736 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData); 21737 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirectKHR)(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress); 21738 typedef VkDeviceSize (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupStackSizeKHR)(VkDevice device, VkPipeline pipeline, uint32_t group, VkShaderGroupShaderKHR groupShader); 21739 typedef void (VKAPI_PTR *PFN_vkCmdSetRayTracingPipelineStackSizeKHR)(VkCommandBuffer commandBuffer, uint32_t pipelineStackSize); 21740 21741 #ifndef VK_NO_PROTOTYPES 21742 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysKHR( 21743 VkCommandBuffer commandBuffer, 21744 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, 21745 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, 21746 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, 21747 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, 21748 uint32_t width, 21749 uint32_t height, 21750 uint32_t depth); 21751 21752 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesKHR( 21753 VkDevice device, 21754 VkDeferredOperationKHR deferredOperation, 21755 VkPipelineCache pipelineCache, 21756 uint32_t createInfoCount, 21757 const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, 21758 const VkAllocationCallbacks* pAllocator, 21759 VkPipeline* pPipelines); 21760 21761 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( 21762 VkDevice device, 21763 VkPipeline pipeline, 21764 uint32_t firstGroup, 21765 uint32_t groupCount, 21766 size_t dataSize, 21767 void* pData); 21768 21769 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirectKHR( 21770 VkCommandBuffer commandBuffer, 21771 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, 21772 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, 21773 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, 21774 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, 21775 VkDeviceAddress indirectDeviceAddress); 21776 21777 VKAPI_ATTR VkDeviceSize VKAPI_CALL vkGetRayTracingShaderGroupStackSizeKHR( 21778 VkDevice device, 21779 VkPipeline pipeline, 21780 uint32_t group, 21781 VkShaderGroupShaderKHR groupShader); 21782 21783 VKAPI_ATTR void VKAPI_CALL vkCmdSetRayTracingPipelineStackSizeKHR( 21784 VkCommandBuffer commandBuffer, 21785 uint32_t pipelineStackSize); 21786 #endif 21787 21788 21789 // VK_KHR_ray_query is a preprocessor guard. Do not pass it to API calls. 21790 #define VK_KHR_ray_query 1 21791 #define VK_KHR_RAY_QUERY_SPEC_VERSION 1 21792 #define VK_KHR_RAY_QUERY_EXTENSION_NAME "VK_KHR_ray_query" 21793 typedef struct VkPhysicalDeviceRayQueryFeaturesKHR { 21794 VkStructureType sType; 21795 void* pNext; 21796 VkBool32 rayQuery; 21797 } VkPhysicalDeviceRayQueryFeaturesKHR; 21798 21799 21800 21801 // VK_EXT_mesh_shader is a preprocessor guard. Do not pass it to API calls. 21802 #define VK_EXT_mesh_shader 1 21803 #define VK_EXT_MESH_SHADER_SPEC_VERSION 1 21804 #define VK_EXT_MESH_SHADER_EXTENSION_NAME "VK_EXT_mesh_shader" 21805 typedef struct VkPhysicalDeviceMeshShaderFeaturesEXT { 21806 VkStructureType sType; 21807 void* pNext; 21808 VkBool32 taskShader; 21809 VkBool32 meshShader; 21810 VkBool32 multiviewMeshShader; 21811 VkBool32 primitiveFragmentShadingRateMeshShader; 21812 VkBool32 meshShaderQueries; 21813 } VkPhysicalDeviceMeshShaderFeaturesEXT; 21814 21815 typedef struct VkPhysicalDeviceMeshShaderPropertiesEXT { 21816 VkStructureType sType; 21817 void* pNext; 21818 uint32_t maxTaskWorkGroupTotalCount; 21819 uint32_t maxTaskWorkGroupCount[3]; 21820 uint32_t maxTaskWorkGroupInvocations; 21821 uint32_t maxTaskWorkGroupSize[3]; 21822 uint32_t maxTaskPayloadSize; 21823 uint32_t maxTaskSharedMemorySize; 21824 uint32_t maxTaskPayloadAndSharedMemorySize; 21825 uint32_t maxMeshWorkGroupTotalCount; 21826 uint32_t maxMeshWorkGroupCount[3]; 21827 uint32_t maxMeshWorkGroupInvocations; 21828 uint32_t maxMeshWorkGroupSize[3]; 21829 uint32_t maxMeshSharedMemorySize; 21830 uint32_t maxMeshPayloadAndSharedMemorySize; 21831 uint32_t maxMeshOutputMemorySize; 21832 uint32_t maxMeshPayloadAndOutputMemorySize; 21833 uint32_t maxMeshOutputComponents; 21834 uint32_t maxMeshOutputVertices; 21835 uint32_t maxMeshOutputPrimitives; 21836 uint32_t maxMeshOutputLayers; 21837 uint32_t maxMeshMultiviewViewCount; 21838 uint32_t meshOutputPerVertexGranularity; 21839 uint32_t meshOutputPerPrimitiveGranularity; 21840 uint32_t maxPreferredTaskWorkGroupInvocations; 21841 uint32_t maxPreferredMeshWorkGroupInvocations; 21842 VkBool32 prefersLocalInvocationVertexOutput; 21843 VkBool32 prefersLocalInvocationPrimitiveOutput; 21844 VkBool32 prefersCompactVertexOutput; 21845 VkBool32 prefersCompactPrimitiveOutput; 21846 } VkPhysicalDeviceMeshShaderPropertiesEXT; 21847 21848 typedef struct VkDrawMeshTasksIndirectCommandEXT { 21849 uint32_t groupCountX; 21850 uint32_t groupCountY; 21851 uint32_t groupCountZ; 21852 } VkDrawMeshTasksIndirectCommandEXT; 21853 21854 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksEXT)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ); 21855 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectEXT)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); 21856 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountEXT)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 21857 21858 #ifndef VK_NO_PROTOTYPES 21859 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksEXT( 21860 VkCommandBuffer commandBuffer, 21861 uint32_t groupCountX, 21862 uint32_t groupCountY, 21863 uint32_t groupCountZ); 21864 21865 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectEXT( 21866 VkCommandBuffer commandBuffer, 21867 VkBuffer buffer, 21868 VkDeviceSize offset, 21869 uint32_t drawCount, 21870 uint32_t stride); 21871 21872 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountEXT( 21873 VkCommandBuffer commandBuffer, 21874 VkBuffer buffer, 21875 VkDeviceSize offset, 21876 VkBuffer countBuffer, 21877 VkDeviceSize countBufferOffset, 21878 uint32_t maxDrawCount, 21879 uint32_t stride); 21880 #endif 21881 21882 #ifdef __cplusplus 21883 } 21884 #endif 21885 21886 #endif 21887