vulkan_core.h (999969B)
1 #ifndef VULKAN_CORE_H_ 2 #define VULKAN_CORE_H_ 1 3 4 /* 5 ** Copyright 2015-2024 The Khronos Group Inc. 6 ** 7 ** SPDX-License-Identifier: Apache-2.0 8 */ 9 10 /* 11 ** This header is generated from the Khronos Vulkan XML API Registry. 12 ** 13 */ 14 15 16 #ifdef __cplusplus 17 extern "C" { 18 #endif 19 20 21 22 // VK_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 279 73 74 // Complete version of this file 75 #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) 76 77 // DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead. 78 #define VK_MAKE_VERSION(major, minor, patch) \ 79 ((((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch))) 80 81 // DEPRECATED: This define is deprecated. VK_API_VERSION_MAJOR should be used instead. 82 #define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22U) 83 84 // DEPRECATED: This define is deprecated. VK_API_VERSION_MINOR should be used instead. 85 #define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12U) & 0x3FFU) 86 87 // DEPRECATED: This define is deprecated. VK_API_VERSION_PATCH should be used instead. 88 #define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU) 89 90 #define VK_API_VERSION_VARIANT(version) ((uint32_t)(version) >> 29U) 91 #define VK_API_VERSION_MAJOR(version) (((uint32_t)(version) >> 22U) & 0x7FU) 92 #define VK_API_VERSION_MINOR(version) (((uint32_t)(version) >> 12U) & 0x3FFU) 93 #define VK_API_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU) 94 typedef uint32_t VkBool32; 95 typedef uint64_t VkDeviceAddress; 96 typedef uint64_t VkDeviceSize; 97 typedef uint32_t VkFlags; 98 typedef uint32_t VkSampleMask; 99 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer) 100 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage) 101 VK_DEFINE_HANDLE(VkInstance) 102 VK_DEFINE_HANDLE(VkPhysicalDevice) 103 VK_DEFINE_HANDLE(VkDevice) 104 VK_DEFINE_HANDLE(VkQueue) 105 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore) 106 VK_DEFINE_HANDLE(VkCommandBuffer) 107 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence) 108 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory) 109 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent) 110 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool) 111 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView) 112 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView) 113 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule) 114 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache) 115 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout) 116 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline) 117 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass) 118 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout) 119 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler) 120 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet) 121 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool) 122 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer) 123 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool) 124 #define VK_ATTACHMENT_UNUSED (~0U) 125 #define VK_FALSE 0U 126 #define VK_LOD_CLAMP_NONE 1000.0F 127 #define VK_QUEUE_FAMILY_IGNORED (~0U) 128 #define VK_REMAINING_ARRAY_LAYERS (~0U) 129 #define VK_REMAINING_MIP_LEVELS (~0U) 130 #define VK_SUBPASS_EXTERNAL (~0U) 131 #define VK_TRUE 1U 132 #define VK_WHOLE_SIZE (~0ULL) 133 #define VK_MAX_MEMORY_TYPES 32U 134 #define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256U 135 #define VK_UUID_SIZE 16U 136 #define VK_MAX_EXTENSION_NAME_SIZE 256U 137 #define VK_MAX_DESCRIPTION_SIZE 256U 138 #define VK_MAX_MEMORY_HEAPS 16U 139 140 typedef enum VkResult { 141 VK_SUCCESS = 0, 142 VK_NOT_READY = 1, 143 VK_TIMEOUT = 2, 144 VK_EVENT_SET = 3, 145 VK_EVENT_RESET = 4, 146 VK_INCOMPLETE = 5, 147 VK_ERROR_OUT_OF_HOST_MEMORY = -1, 148 VK_ERROR_OUT_OF_DEVICE_MEMORY = -2, 149 VK_ERROR_INITIALIZATION_FAILED = -3, 150 VK_ERROR_DEVICE_LOST = -4, 151 VK_ERROR_MEMORY_MAP_FAILED = -5, 152 VK_ERROR_LAYER_NOT_PRESENT = -6, 153 VK_ERROR_EXTENSION_NOT_PRESENT = -7, 154 VK_ERROR_FEATURE_NOT_PRESENT = -8, 155 VK_ERROR_INCOMPATIBLE_DRIVER = -9, 156 VK_ERROR_TOO_MANY_OBJECTS = -10, 157 VK_ERROR_FORMAT_NOT_SUPPORTED = -11, 158 VK_ERROR_FRAGMENTED_POOL = -12, 159 VK_ERROR_UNKNOWN = -13, 160 VK_ERROR_OUT_OF_POOL_MEMORY = -1000069000, 161 VK_ERROR_INVALID_EXTERNAL_HANDLE = -1000072003, 162 VK_ERROR_FRAGMENTATION = -1000161000, 163 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS = -1000257000, 164 VK_PIPELINE_COMPILE_REQUIRED = 1000297000, 165 VK_ERROR_SURFACE_LOST_KHR = -1000000000, 166 VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001, 167 VK_SUBOPTIMAL_KHR = 1000001003, 168 VK_ERROR_OUT_OF_DATE_KHR = -1000001004, 169 VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001, 170 VK_ERROR_VALIDATION_FAILED_EXT = -1000011001, 171 VK_ERROR_INVALID_SHADER_NV = -1000012000, 172 VK_ERROR_IMAGE_USAGE_NOT_SUPPORTED_KHR = -1000023000, 173 VK_ERROR_VIDEO_PICTURE_LAYOUT_NOT_SUPPORTED_KHR = -1000023001, 174 VK_ERROR_VIDEO_PROFILE_OPERATION_NOT_SUPPORTED_KHR = -1000023002, 175 VK_ERROR_VIDEO_PROFILE_FORMAT_NOT_SUPPORTED_KHR = -1000023003, 176 VK_ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR = -1000023004, 177 VK_ERROR_VIDEO_STD_VERSION_NOT_SUPPORTED_KHR = -1000023005, 178 VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000, 179 VK_ERROR_NOT_PERMITTED_KHR = -1000174001, 180 VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT = -1000255000, 181 VK_THREAD_IDLE_KHR = 1000268000, 182 VK_THREAD_DONE_KHR = 1000268001, 183 VK_OPERATION_DEFERRED_KHR = 1000268002, 184 VK_OPERATION_NOT_DEFERRED_KHR = 1000268003, 185 VK_ERROR_INVALID_VIDEO_STD_PARAMETERS_KHR = -1000299000, 186 VK_ERROR_COMPRESSION_EXHAUSTED_EXT = -1000338000, 187 VK_INCOMPATIBLE_SHADER_BINARY_EXT = 1000482000, 188 VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY, 189 VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE, 190 VK_ERROR_FRAGMENTATION_EXT = VK_ERROR_FRAGMENTATION, 191 VK_ERROR_NOT_PERMITTED_EXT = VK_ERROR_NOT_PERMITTED_KHR, 192 VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS, 193 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS, 194 VK_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED, 195 VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED, 196 VK_ERROR_INCOMPATIBLE_SHADER_BINARY_EXT = VK_INCOMPATIBLE_SHADER_BINARY_EXT, 197 VK_RESULT_MAX_ENUM = 0x7FFFFFFF 198 } VkResult; 199 200 typedef enum VkStructureType { 201 VK_STRUCTURE_TYPE_APPLICATION_INFO = 0, 202 VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1, 203 VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2, 204 VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3, 205 VK_STRUCTURE_TYPE_SUBMIT_INFO = 4, 206 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5, 207 VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6, 208 VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7, 209 VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8, 210 VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9, 211 VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10, 212 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11, 213 VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12, 214 VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13, 215 VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14, 216 VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15, 217 VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16, 218 VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17, 219 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18, 220 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19, 221 VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20, 222 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21, 223 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22, 224 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23, 225 VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24, 226 VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25, 227 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26, 228 VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27, 229 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28, 230 VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29, 231 VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30, 232 VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31, 233 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32, 234 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33, 235 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34, 236 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35, 237 VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36, 238 VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37, 239 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38, 240 VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39, 241 VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40, 242 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41, 243 VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42, 244 VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43, 245 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44, 246 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45, 247 VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46, 248 VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47, 249 VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48, 250 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000, 251 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO = 1000157000, 252 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO = 1000157001, 253 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000, 254 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000, 255 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001, 256 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000, 257 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003, 258 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004, 259 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO = 1000060005, 260 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO = 1000060006, 261 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013, 262 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014, 263 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000, 264 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001, 265 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000, 266 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001, 267 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 = 1000146002, 268 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 = 1000146003, 269 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = 1000146004, 270 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000, 271 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001, 272 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002, 273 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 = 1000059003, 274 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004, 275 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 = 1000059005, 276 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006, 277 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 = 1000059007, 278 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = 1000059008, 279 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000, 280 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001, 281 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002, 282 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003, 283 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000, 284 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001, 285 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002, 286 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES = 1000120000, 287 VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO = 1000145000, 288 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001, 289 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002, 290 VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 = 1000145003, 291 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000, 292 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO = 1000156001, 293 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002, 294 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003, 295 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004, 296 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005, 297 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO = 1000085000, 298 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000, 299 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001, 300 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002, 301 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES = 1000071003, 302 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004, 303 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000, 304 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001, 305 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO = 1000072002, 306 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000, 307 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES = 1000112001, 308 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO = 1000113000, 309 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO = 1000077000, 310 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000, 311 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001, 312 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000, 313 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001, 314 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000, 315 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES = 49, 316 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES = 50, 317 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES = 51, 318 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES = 52, 319 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO = 1000147000, 320 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 = 1000109000, 321 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 = 1000109001, 322 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 = 1000109002, 323 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 = 1000109003, 324 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 = 1000109004, 325 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO = 1000109005, 326 VK_STRUCTURE_TYPE_SUBPASS_END_INFO = 1000109006, 327 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES = 1000177000, 328 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES = 1000196000, 329 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES = 1000180000, 330 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES = 1000082000, 331 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES = 1000197000, 332 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO = 1000161000, 333 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES = 1000161001, 334 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES = 1000161002, 335 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO = 1000161003, 336 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT = 1000161004, 337 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES = 1000199000, 338 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE = 1000199001, 339 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES = 1000221000, 340 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO = 1000246000, 341 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES = 1000130000, 342 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO = 1000130001, 343 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES = 1000211000, 344 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES = 1000108000, 345 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO = 1000108001, 346 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO = 1000108002, 347 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO = 1000108003, 348 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES = 1000253000, 349 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES = 1000175000, 350 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES = 1000241000, 351 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT = 1000241001, 352 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT = 1000241002, 353 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES = 1000261000, 354 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES = 1000207000, 355 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES = 1000207001, 356 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO = 1000207002, 357 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO = 1000207003, 358 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO = 1000207004, 359 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO = 1000207005, 360 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES = 1000257000, 361 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO = 1000244001, 362 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO = 1000257002, 363 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO = 1000257003, 364 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO = 1000257004, 365 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES = 53, 366 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES = 54, 367 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO = 1000192000, 368 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES = 1000215000, 369 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES = 1000245000, 370 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES = 1000276000, 371 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES = 1000295000, 372 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO = 1000295001, 373 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO = 1000295002, 374 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES = 1000297000, 375 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2 = 1000314000, 376 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2 = 1000314001, 377 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2 = 1000314002, 378 VK_STRUCTURE_TYPE_DEPENDENCY_INFO = 1000314003, 379 VK_STRUCTURE_TYPE_SUBMIT_INFO_2 = 1000314004, 380 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO = 1000314005, 381 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO = 1000314006, 382 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES = 1000314007, 383 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES = 1000325000, 384 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES = 1000335000, 385 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2 = 1000337000, 386 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2 = 1000337001, 387 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2 = 1000337002, 388 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2 = 1000337003, 389 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2 = 1000337004, 390 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2 = 1000337005, 391 VK_STRUCTURE_TYPE_BUFFER_COPY_2 = 1000337006, 392 VK_STRUCTURE_TYPE_IMAGE_COPY_2 = 1000337007, 393 VK_STRUCTURE_TYPE_IMAGE_BLIT_2 = 1000337008, 394 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2 = 1000337009, 395 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2 = 1000337010, 396 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES = 1000225000, 397 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO = 1000225001, 398 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES = 1000225002, 399 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES = 1000138000, 400 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES = 1000138001, 401 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK = 1000138002, 402 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO = 1000138003, 403 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES = 1000066000, 404 VK_STRUCTURE_TYPE_RENDERING_INFO = 1000044000, 405 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO = 1000044001, 406 VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO = 1000044002, 407 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES = 1000044003, 408 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO = 1000044004, 409 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES = 1000280000, 410 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES = 1000280001, 411 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES = 1000281001, 412 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3 = 1000360000, 413 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES = 1000413000, 414 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES = 1000413001, 415 VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS = 1000413002, 416 VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS = 1000413003, 417 VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000, 418 VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001, 419 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007, 420 VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008, 421 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009, 422 VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010, 423 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011, 424 VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012, 425 VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000, 426 VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001, 427 VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000, 428 VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000, 429 VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000, 430 VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000, 431 VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000, 432 VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000, 433 VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000, 434 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000, 435 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000, 436 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001, 437 VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002, 438 VK_STRUCTURE_TYPE_VIDEO_PROFILE_INFO_KHR = 1000023000, 439 VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR = 1000023001, 440 VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_INFO_KHR = 1000023002, 441 VK_STRUCTURE_TYPE_VIDEO_SESSION_MEMORY_REQUIREMENTS_KHR = 1000023003, 442 VK_STRUCTURE_TYPE_BIND_VIDEO_SESSION_MEMORY_INFO_KHR = 1000023004, 443 VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR = 1000023005, 444 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000023006, 445 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR = 1000023007, 446 VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR = 1000023008, 447 VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR = 1000023009, 448 VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR = 1000023010, 449 VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_INFO_KHR = 1000023011, 450 VK_STRUCTURE_TYPE_QUEUE_FAMILY_VIDEO_PROPERTIES_KHR = 1000023012, 451 VK_STRUCTURE_TYPE_VIDEO_PROFILE_LIST_INFO_KHR = 1000023013, 452 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR = 1000023014, 453 VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR = 1000023015, 454 VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR = 1000023016, 455 VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR = 1000024000, 456 VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR = 1000024001, 457 VK_STRUCTURE_TYPE_VIDEO_DECODE_USAGE_INFO_KHR = 1000024002, 458 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000, 459 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001, 460 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002, 461 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT = 1000028000, 462 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT = 1000028001, 463 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT = 1000028002, 464 VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX = 1000029000, 465 VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX = 1000029001, 466 VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX = 1000029002, 467 VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX = 1000030000, 468 VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX = 1000030001, 469 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_KHR = 1000038000, 470 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000038001, 471 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR = 1000038002, 472 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PICTURE_INFO_KHR = 1000038003, 473 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_KHR = 1000038004, 474 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_INFO_KHR = 1000038005, 475 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_GOP_REMAINING_FRAME_INFO_KHR = 1000038006, 476 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_INFO_KHR = 1000038007, 477 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_KHR = 1000038008, 478 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_KHR = 1000038009, 479 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_KHR = 1000038010, 480 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_QUALITY_LEVEL_PROPERTIES_KHR = 1000038011, 481 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_GET_INFO_KHR = 1000038012, 482 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_FEEDBACK_INFO_KHR = 1000038013, 483 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_KHR = 1000039000, 484 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000039001, 485 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR = 1000039002, 486 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PICTURE_INFO_KHR = 1000039003, 487 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_KHR = 1000039004, 488 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_KHR = 1000039005, 489 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_GOP_REMAINING_FRAME_INFO_KHR = 1000039006, 490 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_INFO_KHR = 1000039007, 491 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_KHR = 1000039009, 492 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_KHR = 1000039010, 493 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_KHR = 1000039011, 494 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_QUALITY_LEVEL_PROPERTIES_KHR = 1000039012, 495 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_GET_INFO_KHR = 1000039013, 496 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_FEEDBACK_INFO_KHR = 1000039014, 497 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_KHR = 1000040000, 498 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_KHR = 1000040001, 499 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_INFO_KHR = 1000040003, 500 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000040004, 501 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR = 1000040005, 502 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_KHR = 1000040006, 503 VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000, 504 VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000044006, 505 VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT = 1000044007, 506 VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD = 1000044008, 507 VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX = 1000044009, 508 VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000, 509 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000, 510 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000, 511 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001, 512 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000, 513 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001, 514 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000, 515 VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000, 516 VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000, 517 VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000, 518 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001, 519 VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT = 1000068000, 520 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT = 1000068001, 521 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT = 1000068002, 522 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000, 523 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001, 524 VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002, 525 VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR = 1000073003, 526 VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR = 1000074000, 527 VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR = 1000074001, 528 VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR = 1000074002, 529 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = 1000075000, 530 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078000, 531 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078001, 532 VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR = 1000078002, 533 VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = 1000078003, 534 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000, 535 VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001, 536 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000, 537 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT = 1000081000, 538 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT = 1000081001, 539 VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT = 1000081002, 540 VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000, 541 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000, 542 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT = 1000090000, 543 VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000, 544 VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001, 545 VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002, 546 VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003, 547 VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000, 548 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000, 549 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000, 550 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000, 551 VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001, 552 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000, 553 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001, 554 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT = 1000102000, 555 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT = 1000102001, 556 VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000, 557 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RELAXED_LINE_RASTERIZATION_FEATURES_IMG = 1000110000, 558 VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000, 559 VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000, 560 VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001, 561 VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR = 1000114002, 562 VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = 1000115000, 563 VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = 1000115001, 564 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR = 1000116000, 565 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR = 1000116001, 566 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR = 1000116002, 567 VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR = 1000116003, 568 VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR = 1000116004, 569 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR = 1000116005, 570 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR = 1000116006, 571 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000, 572 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001, 573 VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002, 574 VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR = 1000121000, 575 VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR = 1000121001, 576 VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR = 1000121002, 577 VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR = 1000121003, 578 VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004, 579 VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000, 580 VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000, 581 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000, 582 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT = 1000128001, 583 VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT = 1000128002, 584 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000128003, 585 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004, 586 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129000, 587 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129001, 588 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID = 1000129002, 589 VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003, 590 VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004, 591 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005, 592 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID = 1000129006, 593 #ifdef VK_ENABLE_BETA_EXTENSIONS 594 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX = 1000134000, 595 #endif 596 #ifdef VK_ENABLE_BETA_EXTENSIONS 597 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX = 1000134001, 598 #endif 599 #ifdef VK_ENABLE_BETA_EXTENSIONS 600 VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_SCRATCH_SIZE_AMDX = 1000134002, 601 #endif 602 #ifdef VK_ENABLE_BETA_EXTENSIONS 603 VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_CREATE_INFO_AMDX = 1000134003, 604 #endif 605 #ifdef VK_ENABLE_BETA_EXTENSIONS 606 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX = 1000134004, 607 #endif 608 VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000, 609 VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001, 610 VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002, 611 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003, 612 VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = 1000143004, 613 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000, 614 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001, 615 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002, 616 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000, 617 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR = 1000150007, 618 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR = 1000150000, 619 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR = 1000150002, 620 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR = 1000150003, 621 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR = 1000150004, 622 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR = 1000150005, 623 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR = 1000150006, 624 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR = 1000150009, 625 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR = 1000150010, 626 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR = 1000150011, 627 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR = 1000150012, 628 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR = 1000150013, 629 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR = 1000150014, 630 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR = 1000150017, 631 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR = 1000150020, 632 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR = 1000347000, 633 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR = 1000347001, 634 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR = 1000150015, 635 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR = 1000150016, 636 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR = 1000150018, 637 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR = 1000348013, 638 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000, 639 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV = 1000154000, 640 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV = 1000154001, 641 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT = 1000158000, 642 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT = 1000158002, 643 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT = 1000158003, 644 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT = 1000158004, 645 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158005, 646 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT = 1000158006, 647 VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000, 648 VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001, 649 #ifdef VK_ENABLE_BETA_EXTENSIONS 650 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR = 1000163000, 651 #endif 652 #ifdef VK_ENABLE_BETA_EXTENSIONS 653 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR = 1000163001, 654 #endif 655 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000, 656 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV = 1000164001, 657 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV = 1000164002, 658 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV = 1000164005, 659 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV = 1000165000, 660 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV = 1000165001, 661 VK_STRUCTURE_TYPE_GEOMETRY_NV = 1000165003, 662 VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV = 1000165004, 663 VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV = 1000165005, 664 VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV = 1000165006, 665 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV = 1000165007, 666 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV = 1000165008, 667 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV = 1000165009, 668 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV = 1000165011, 669 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV = 1000165012, 670 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV = 1000166000, 671 VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV = 1000166001, 672 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000, 673 VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001, 674 VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000, 675 VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001, 676 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002, 677 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR = 1000181000, 678 VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD = 1000183000, 679 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000, 680 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_KHR = 1000187000, 681 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000187001, 682 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR = 1000187002, 683 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_INFO_KHR = 1000187003, 684 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_KHR = 1000187004, 685 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_KHR = 1000187005, 686 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR = 1000174000, 687 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR = 1000388000, 688 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR = 1000388001, 689 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD = 1000189000, 690 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000, 691 VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP = 1000191000, 692 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = 1000201000, 693 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000, 694 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001, 695 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV = 1000204000, 696 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV = 1000205000, 697 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002, 698 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV = 1000206000, 699 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001, 700 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL = 1000209000, 701 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL = 1000210000, 702 VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL = 1000210001, 703 VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL = 1000210002, 704 VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL = 1000210003, 705 VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL = 1000210004, 706 VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL = 1000210005, 707 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT = 1000212000, 708 VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD = 1000213000, 709 VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD = 1000213001, 710 VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA = 1000214000, 711 VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT = 1000217000, 712 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT = 1000218000, 713 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT = 1000218001, 714 VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT = 1000218002, 715 VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000226000, 716 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR = 1000226001, 717 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR = 1000226002, 718 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR = 1000226003, 719 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR = 1000226004, 720 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD = 1000227000, 721 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = 1000229000, 722 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR = 1000232000, 723 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR = 1000232001, 724 VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR = 1000232002, 725 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT = 1000234000, 726 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR = 1000235000, 727 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000, 728 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT = 1000238000, 729 VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT = 1000238001, 730 VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR = 1000239000, 731 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV = 1000240000, 732 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT = 1000244000, 733 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002, 734 VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT = 1000247000, 735 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR = 1000248000, 736 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV = 1000249000, 737 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249001, 738 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249002, 739 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV = 1000250000, 740 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV = 1000250001, 741 VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV = 1000250002, 742 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT = 1000251000, 743 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000, 744 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT = 1000254000, 745 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT = 1000254001, 746 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT = 1000254002, 747 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT = 1000255000, 748 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT = 1000255002, 749 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT = 1000255001, 750 VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000, 751 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT = 1000260000, 752 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT = 1000267000, 753 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000, 754 VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR = 1000269001, 755 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR = 1000269002, 756 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR = 1000269003, 757 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR = 1000269004, 758 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR = 1000269005, 759 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES_EXT = 1000270000, 760 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES_EXT = 1000270001, 761 VK_STRUCTURE_TYPE_MEMORY_TO_IMAGE_COPY_EXT = 1000270002, 762 VK_STRUCTURE_TYPE_IMAGE_TO_MEMORY_COPY_EXT = 1000270003, 763 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_MEMORY_INFO_EXT = 1000270004, 764 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INFO_EXT = 1000270005, 765 VK_STRUCTURE_TYPE_HOST_IMAGE_LAYOUT_TRANSITION_INFO_EXT = 1000270006, 766 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_IMAGE_INFO_EXT = 1000270007, 767 VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE_EXT = 1000270008, 768 VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY_EXT = 1000270009, 769 VK_STRUCTURE_TYPE_MEMORY_MAP_INFO_KHR = 1000271000, 770 VK_STRUCTURE_TYPE_MEMORY_UNMAP_INFO_KHR = 1000271001, 771 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_FEATURES_EXT = 1000272000, 772 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_PROPERTIES_EXT = 1000272001, 773 VK_STRUCTURE_TYPE_MEMORY_MAP_PLACED_INFO_EXT = 1000272002, 774 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT = 1000273000, 775 VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT = 1000274000, 776 VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT = 1000274001, 777 VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT = 1000274002, 778 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT = 1000275000, 779 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT = 1000275001, 780 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT = 1000275002, 781 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT = 1000275003, 782 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT = 1000275004, 783 VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_EXT = 1000275005, 784 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV = 1000277000, 785 VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV = 1000277001, 786 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV = 1000277002, 787 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV = 1000277003, 788 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV = 1000277004, 789 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV = 1000277005, 790 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV = 1000277006, 791 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV = 1000277007, 792 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV = 1000278000, 793 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV = 1000278001, 794 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000, 795 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM = 1000282000, 796 VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM = 1000282001, 797 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_BIAS_CONTROL_FEATURES_EXT = 1000283000, 798 VK_STRUCTURE_TYPE_DEPTH_BIAS_INFO_EXT = 1000283001, 799 VK_STRUCTURE_TYPE_DEPTH_BIAS_REPRESENTATION_INFO_EXT = 1000283002, 800 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT = 1000284000, 801 VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT = 1000284001, 802 VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT = 1000284002, 803 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT = 1000286000, 804 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT = 1000286001, 805 VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT = 1000287000, 806 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT = 1000287001, 807 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT = 1000287002, 808 VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR = 1000290000, 809 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV = 1000292000, 810 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV = 1000292001, 811 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV = 1000292002, 812 VK_STRUCTURE_TYPE_PRESENT_ID_KHR = 1000294000, 813 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR = 1000294001, 814 VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR = 1000299000, 815 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR = 1000299001, 816 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR = 1000299002, 817 VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR = 1000299003, 818 VK_STRUCTURE_TYPE_VIDEO_ENCODE_USAGE_INFO_KHR = 1000299004, 819 VK_STRUCTURE_TYPE_QUERY_POOL_VIDEO_ENCODE_FEEDBACK_CREATE_INFO_KHR = 1000299005, 820 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR = 1000299006, 821 VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_PROPERTIES_KHR = 1000299007, 822 VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR = 1000299008, 823 VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_GET_INFO_KHR = 1000299009, 824 VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_FEEDBACK_INFO_KHR = 1000299010, 825 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000, 826 VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001, 827 VK_STRUCTURE_TYPE_CUDA_MODULE_CREATE_INFO_NV = 1000307000, 828 VK_STRUCTURE_TYPE_CUDA_FUNCTION_CREATE_INFO_NV = 1000307001, 829 VK_STRUCTURE_TYPE_CUDA_LAUNCH_INFO_NV = 1000307002, 830 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_FEATURES_NV = 1000307003, 831 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_PROPERTIES_NV = 1000307004, 832 VK_STRUCTURE_TYPE_QUERY_LOW_LATENCY_SUPPORT_NV = 1000310000, 833 VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECT_CREATE_INFO_EXT = 1000311000, 834 VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECTS_INFO_EXT = 1000311001, 835 VK_STRUCTURE_TYPE_EXPORT_METAL_DEVICE_INFO_EXT = 1000311002, 836 VK_STRUCTURE_TYPE_EXPORT_METAL_COMMAND_QUEUE_INFO_EXT = 1000311003, 837 VK_STRUCTURE_TYPE_EXPORT_METAL_BUFFER_INFO_EXT = 1000311004, 838 VK_STRUCTURE_TYPE_IMPORT_METAL_BUFFER_INFO_EXT = 1000311005, 839 VK_STRUCTURE_TYPE_EXPORT_METAL_TEXTURE_INFO_EXT = 1000311006, 840 VK_STRUCTURE_TYPE_IMPORT_METAL_TEXTURE_INFO_EXT = 1000311007, 841 VK_STRUCTURE_TYPE_EXPORT_METAL_IO_SURFACE_INFO_EXT = 1000311008, 842 VK_STRUCTURE_TYPE_IMPORT_METAL_IO_SURFACE_INFO_EXT = 1000311009, 843 VK_STRUCTURE_TYPE_EXPORT_METAL_SHARED_EVENT_INFO_EXT = 1000311010, 844 VK_STRUCTURE_TYPE_IMPORT_METAL_SHARED_EVENT_INFO_EXT = 1000311011, 845 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008, 846 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009, 847 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT = 1000316000, 848 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT = 1000316001, 849 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT = 1000316002, 850 VK_STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT = 1000316003, 851 VK_STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT = 1000316004, 852 VK_STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316005, 853 VK_STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316006, 854 VK_STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316007, 855 VK_STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316008, 856 VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT = 1000316010, 857 VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT = 1000316011, 858 VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT = 1000316012, 859 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316009, 860 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT = 1000320000, 861 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT = 1000320001, 862 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT = 1000320002, 863 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD = 1000321000, 864 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR = 1000203000, 865 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR = 1000322000, 866 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000, 867 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV = 1000326000, 868 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV = 1000326001, 869 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV = 1000326002, 870 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV = 1000327000, 871 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV = 1000327001, 872 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV = 1000327002, 873 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT = 1000328000, 874 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT = 1000328001, 875 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT = 1000330000, 876 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT = 1000332000, 877 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001, 878 VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM = 1000333000, 879 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR = 1000336000, 880 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT = 1000338000, 881 VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT = 1000338001, 882 VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT = 1000338004, 883 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT = 1000339000, 884 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000, 885 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT = 1000341000, 886 VK_STRUCTURE_TYPE_DEVICE_FAULT_COUNTS_EXT = 1000341001, 887 VK_STRUCTURE_TYPE_DEVICE_FAULT_INFO_EXT = 1000341002, 888 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT = 1000344000, 889 VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000, 890 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000, 891 VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001, 892 VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002, 893 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT = 1000353000, 894 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT = 1000354000, 895 VK_STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT = 1000354001, 896 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT = 1000355000, 897 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT = 1000355001, 898 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT = 1000356000, 899 VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364000, 900 VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA = 1000364001, 901 VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364002, 902 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365000, 903 VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365001, 904 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA = 1000366000, 905 VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA = 1000366001, 906 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA = 1000366002, 907 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA = 1000366003, 908 VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA = 1000366004, 909 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA = 1000366005, 910 VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA = 1000366006, 911 VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA = 1000366007, 912 VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA = 1000366008, 913 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA = 1000366009, 914 VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI = 1000369000, 915 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI = 1000369001, 916 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI = 1000369002, 917 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI = 1000370000, 918 VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV = 1000371000, 919 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV = 1000371001, 920 VK_STRUCTURE_TYPE_PIPELINE_PROPERTIES_IDENTIFIER_EXT = 1000372000, 921 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT = 1000372001, 922 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAME_BOUNDARY_FEATURES_EXT = 1000375000, 923 VK_STRUCTURE_TYPE_FRAME_BOUNDARY_EXT = 1000375001, 924 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT = 1000376000, 925 VK_STRUCTURE_TYPE_SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT = 1000376001, 926 VK_STRUCTURE_TYPE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT = 1000376002, 927 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT = 1000377000, 928 VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX = 1000378000, 929 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000, 930 VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001, 931 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT = 1000382000, 932 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR = 1000386000, 933 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT = 1000391000, 934 VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT = 1000391001, 935 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT = 1000392000, 936 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT = 1000392001, 937 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT = 1000393000, 938 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT = 1000395000, 939 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_PROPERTIES_EXT = 1000395001, 940 VK_STRUCTURE_TYPE_MICROMAP_BUILD_INFO_EXT = 1000396000, 941 VK_STRUCTURE_TYPE_MICROMAP_VERSION_INFO_EXT = 1000396001, 942 VK_STRUCTURE_TYPE_COPY_MICROMAP_INFO_EXT = 1000396002, 943 VK_STRUCTURE_TYPE_COPY_MICROMAP_TO_MEMORY_INFO_EXT = 1000396003, 944 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_MICROMAP_INFO_EXT = 1000396004, 945 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT = 1000396005, 946 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT = 1000396006, 947 VK_STRUCTURE_TYPE_MICROMAP_CREATE_INFO_EXT = 1000396007, 948 VK_STRUCTURE_TYPE_MICROMAP_BUILD_SIZES_INFO_EXT = 1000396008, 949 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT = 1000396009, 950 #ifdef VK_ENABLE_BETA_EXTENSIONS 951 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV = 1000397000, 952 #endif 953 #ifdef VK_ENABLE_BETA_EXTENSIONS 954 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV = 1000397001, 955 #endif 956 #ifdef VK_ENABLE_BETA_EXTENSIONS 957 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV = 1000397002, 958 #endif 959 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI = 1000404000, 960 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI = 1000404001, 961 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_VRS_FEATURES_HUAWEI = 1000404002, 962 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT = 1000411000, 963 VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT = 1000411001, 964 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT = 1000412000, 965 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM = 1000415000, 966 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR = 1000416000, 967 VK_STRUCTURE_TYPE_DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM = 1000417000, 968 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM = 1000417001, 969 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM = 1000417002, 970 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT = 1000418000, 971 VK_STRUCTURE_TYPE_IMAGE_VIEW_SLICED_CREATE_INFO_EXT = 1000418001, 972 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE = 1000420000, 973 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE = 1000420001, 974 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE = 1000420002, 975 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT = 1000421000, 976 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT = 1000422000, 977 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_FEATURES_ARM = 1000424000, 978 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_PROPERTIES_ARM = 1000424001, 979 VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_BEGIN_INFO_ARM = 1000424002, 980 VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_INFO_ARM = 1000424003, 981 VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_SUBMIT_INFO_ARM = 1000424004, 982 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM = 1000425000, 983 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001, 984 VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002, 985 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV = 1000426000, 986 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV = 1000426001, 987 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV = 1000427000, 988 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV = 1000427001, 989 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV = 1000428000, 990 VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV = 1000428001, 991 VK_STRUCTURE_TYPE_PIPELINE_INDIRECT_DEVICE_ADDRESS_INFO_NV = 1000428002, 992 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000, 993 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR = 1000434000, 994 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT = 1000437000, 995 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM = 1000440000, 996 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM = 1000440001, 997 VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM = 1000440002, 998 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_FEATURES_EXT = 1000451000, 999 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_PROPERTIES_EXT = 1000451001, 1000 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXT = 1000453000, 1001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT = 1000455000, 1002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT = 1000455001, 1003 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT = 1000458000, 1004 VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT = 1000458001, 1005 VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000458002, 1006 VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT = 1000458003, 1007 VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_INFO_LUNARG = 1000459000, 1008 VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG = 1000459001, 1009 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT = 1000462000, 1010 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT = 1000462001, 1011 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT = 1000462002, 1012 VK_STRUCTURE_TYPE_SHADER_MODULE_IDENTIFIER_EXT = 1000462003, 1013 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT = 1000342000, 1014 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV = 1000464000, 1015 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV = 1000464001, 1016 VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV = 1000464002, 1017 VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV = 1000464003, 1018 VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_INFO_NV = 1000464004, 1019 VK_STRUCTURE_TYPE_OPTICAL_FLOW_EXECUTE_INFO_NV = 1000464005, 1020 VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV = 1000464010, 1021 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT = 1000465000, 1022 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT = 1000466000, 1023 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_FEATURES_ANDROID = 1000468000, 1024 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_PROPERTIES_ANDROID = 1000468001, 1025 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_RESOLVE_PROPERTIES_ANDROID = 1000468002, 1026 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR = 1000470000, 1027 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR = 1000470001, 1028 VK_STRUCTURE_TYPE_RENDERING_AREA_INFO_KHR = 1000470003, 1029 VK_STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO_KHR = 1000470004, 1030 VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_KHR = 1000338002, 1031 VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_KHR = 1000338003, 1032 VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR = 1000470005, 1033 VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR = 1000470006, 1034 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR = 1000481000, 1035 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT = 1000482000, 1036 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT = 1000482001, 1037 VK_STRUCTURE_TYPE_SHADER_CREATE_INFO_EXT = 1000482002, 1038 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM = 1000484000, 1039 VK_STRUCTURE_TYPE_TILE_PROPERTIES_QCOM = 1000484001, 1040 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC = 1000485000, 1041 VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC = 1000485001, 1042 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM = 1000488000, 1043 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV = 1000490000, 1044 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV = 1000490001, 1045 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_FEATURES_NV = 1000492000, 1046 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_PROPERTIES_NV = 1000492001, 1047 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT = 1000351000, 1048 VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT = 1000351002, 1049 VK_STRUCTURE_TYPE_LAYER_SETTINGS_CREATE_INFO_EXT = 1000496000, 1050 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM = 1000497000, 1051 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM = 1000497001, 1052 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT = 1000498000, 1053 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT = 1000499000, 1054 VK_STRUCTURE_TYPE_LATENCY_SLEEP_MODE_INFO_NV = 1000505000, 1055 VK_STRUCTURE_TYPE_LATENCY_SLEEP_INFO_NV = 1000505001, 1056 VK_STRUCTURE_TYPE_SET_LATENCY_MARKER_INFO_NV = 1000505002, 1057 VK_STRUCTURE_TYPE_GET_LATENCY_MARKER_INFO_NV = 1000505003, 1058 VK_STRUCTURE_TYPE_LATENCY_TIMINGS_FRAME_REPORT_NV = 1000505004, 1059 VK_STRUCTURE_TYPE_LATENCY_SUBMISSION_PRESENT_ID_NV = 1000505005, 1060 VK_STRUCTURE_TYPE_OUT_OF_BAND_QUEUE_TYPE_INFO_NV = 1000505006, 1061 VK_STRUCTURE_TYPE_SWAPCHAIN_LATENCY_CREATE_INFO_NV = 1000505007, 1062 VK_STRUCTURE_TYPE_LATENCY_SURFACE_CAPABILITIES_NV = 1000505008, 1063 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR = 1000506000, 1064 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_KHR = 1000506001, 1065 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR = 1000506002, 1066 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM = 1000510000, 1067 VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM = 1000510001, 1068 VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_CAPABILITIES_KHR = 1000512000, 1069 VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PICTURE_INFO_KHR = 1000512001, 1070 VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PROFILE_INFO_KHR = 1000512003, 1071 VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000512004, 1072 VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_DPB_SLOT_INFO_KHR = 1000512005, 1073 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_1_FEATURES_KHR = 1000515000, 1074 VK_STRUCTURE_TYPE_VIDEO_INLINE_QUERY_INFO_KHR = 1000515001, 1075 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV = 1000516000, 1076 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM = 1000518000, 1077 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_PROPERTIES_QCOM = 1000518001, 1078 VK_STRUCTURE_TYPE_SAMPLER_BLOCK_MATCH_WINDOW_CREATE_INFO_QCOM = 1000518002, 1079 VK_STRUCTURE_TYPE_SAMPLER_CUBIC_WEIGHTS_CREATE_INFO_QCOM = 1000519000, 1080 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_WEIGHTS_FEATURES_QCOM = 1000519001, 1081 VK_STRUCTURE_TYPE_BLIT_IMAGE_CUBIC_WEIGHTS_INFO_QCOM = 1000519002, 1082 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_DEGAMMA_FEATURES_QCOM = 1000520000, 1083 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_YCBCR_DEGAMMA_CREATE_INFO_QCOM = 1000520001, 1084 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_CLAMP_FEATURES_QCOM = 1000521000, 1085 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_FEATURES_EXT = 1000524000, 1086 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_KHR = 1000525000, 1087 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_KHR = 1000190001, 1088 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR = 1000190002, 1089 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR = 1000528000, 1090 VK_STRUCTURE_TYPE_SCREEN_BUFFER_PROPERTIES_QNX = 1000529000, 1091 VK_STRUCTURE_TYPE_SCREEN_BUFFER_FORMAT_PROPERTIES_QNX = 1000529001, 1092 VK_STRUCTURE_TYPE_IMPORT_SCREEN_BUFFER_INFO_QNX = 1000529002, 1093 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_QNX = 1000529003, 1094 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCREEN_BUFFER_FEATURES_QNX = 1000529004, 1095 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT = 1000530000, 1096 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR = 1000265000, 1097 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR = 1000259000, 1098 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR = 1000259001, 1099 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR = 1000259002, 1100 VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_KHR = 1000184000, 1101 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR = 1000544000, 1102 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR = 1000545000, 1103 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR = 1000545001, 1104 VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR = 1000545002, 1105 VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO_KHR = 1000545003, 1106 VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO_KHR = 1000545004, 1107 VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO_KHR = 1000545005, 1108 VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO_KHR = 1000545006, 1109 VK_STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT = 1000545007, 1110 VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT = 1000545008, 1111 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV = 1000546000, 1112 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAW_ACCESS_CHAINS_FEATURES_NV = 1000555000, 1113 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV = 1000563000, 1114 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, 1115 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, 1116 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT, 1117 VK_STRUCTURE_TYPE_RENDERING_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_INFO, 1118 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO, 1119 VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO, 1120 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES, 1121 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO, 1122 VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_NV = VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD, 1123 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO, 1124 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES, 1125 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES, 1126 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2, 1127 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2, 1128 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2, 1129 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2, 1130 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2, 1131 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2, 1132 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2, 1133 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2, 1134 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2, 1135 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO, 1136 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO, 1137 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO, 1138 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO, 1139 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO, 1140 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO, 1141 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO, 1142 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES, 1143 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES, 1144 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO, 1145 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO, 1146 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES, 1147 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO, 1148 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES, 1149 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES, 1150 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO, 1151 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO, 1152 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO, 1153 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO, 1154 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES, 1155 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO, 1156 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES, 1157 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES, 1158 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES, 1159 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO, 1160 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT, 1161 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES, 1162 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO, 1163 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO, 1164 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO, 1165 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2, 1166 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, 1167 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2, 1168 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2, 1169 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2, 1170 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO, 1171 VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO, 1172 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO, 1173 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES, 1174 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO, 1175 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES, 1176 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO, 1177 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO, 1178 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO, 1179 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, 1180 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR, 1181 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS, 1182 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO, 1183 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES, 1184 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO, 1185 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES, 1186 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES, 1187 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK, 1188 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO, 1189 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2, 1190 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2, 1191 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2, 1192 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2, 1193 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2, 1194 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO, 1195 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO, 1196 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO, 1197 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO, 1198 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO, 1199 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES, 1200 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES, 1201 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO, 1202 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO, 1203 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO, 1204 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES, 1205 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES, 1206 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO, 1207 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT, 1208 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES, 1209 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT, 1210 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR, 1211 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES, 1212 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES, 1213 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES, 1214 VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_KHR, 1215 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_KHR, 1216 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR, 1217 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO, 1218 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES, 1219 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES, 1220 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES, 1221 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE, 1222 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR, 1223 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES, 1224 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES, 1225 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO, 1226 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO, 1227 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO, 1228 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO, 1229 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL, 1230 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES, 1231 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES, 1232 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES, 1233 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES, 1234 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO, 1235 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES, 1236 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES, 1237 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT, 1238 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT, 1239 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT, 1240 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO, 1241 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES, 1242 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO, 1243 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES, 1244 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES, 1245 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO, 1246 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO, 1247 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO, 1248 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO, 1249 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR, 1250 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR, 1251 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR, 1252 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES, 1253 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR, 1254 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES, 1255 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES, 1256 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES, 1257 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES, 1258 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES, 1259 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO, 1260 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO, 1261 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES, 1262 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_MEMORY_BARRIER_2, 1263 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2, 1264 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2, 1265 VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR = VK_STRUCTURE_TYPE_DEPENDENCY_INFO, 1266 VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR = VK_STRUCTURE_TYPE_SUBMIT_INFO_2, 1267 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO, 1268 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO, 1269 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES, 1270 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES, 1271 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES, 1272 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2, 1273 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2, 1274 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2, 1275 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2, 1276 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2, 1277 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2, 1278 VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_COPY_2, 1279 VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_IMAGE_COPY_2, 1280 VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR = VK_STRUCTURE_TYPE_IMAGE_BLIT_2, 1281 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2, 1282 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2, 1283 VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT = VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_KHR, 1284 VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT = VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_KHR, 1285 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT, 1286 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT, 1287 VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT, 1288 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3, 1289 VK_STRUCTURE_TYPE_PIPELINE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR, 1290 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR, 1291 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR, 1292 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES, 1293 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES, 1294 VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS, 1295 VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS, 1296 VK_STRUCTURE_TYPE_SHADER_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO, 1297 VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF 1298 } VkStructureType; 1299 1300 typedef enum VkPipelineCacheHeaderVersion { 1301 VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1, 1302 VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF 1303 } VkPipelineCacheHeaderVersion; 1304 1305 typedef enum VkImageLayout { 1306 VK_IMAGE_LAYOUT_UNDEFINED = 0, 1307 VK_IMAGE_LAYOUT_GENERAL = 1, 1308 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2, 1309 VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3, 1310 VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4, 1311 VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5, 1312 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6, 1313 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7, 1314 VK_IMAGE_LAYOUT_PREINITIALIZED = 8, 1315 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000, 1316 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001, 1317 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000, 1318 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001, 1319 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002, 1320 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003, 1321 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL = 1000314000, 1322 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL = 1000314001, 1323 VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002, 1324 VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR = 1000024000, 1325 VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR = 1000024001, 1326 VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR = 1000024002, 1327 VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000, 1328 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000, 1329 VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003, 1330 VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR = 1000232000, 1331 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR = 1000299000, 1332 VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR = 1000299001, 1333 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR = 1000299002, 1334 VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT = 1000339000, 1335 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL, 1336 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, 1337 VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR, 1338 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, 1339 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, 1340 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, 1341 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL, 1342 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL, 1343 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL, 1344 VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF 1345 } VkImageLayout; 1346 1347 typedef enum VkObjectType { 1348 VK_OBJECT_TYPE_UNKNOWN = 0, 1349 VK_OBJECT_TYPE_INSTANCE = 1, 1350 VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2, 1351 VK_OBJECT_TYPE_DEVICE = 3, 1352 VK_OBJECT_TYPE_QUEUE = 4, 1353 VK_OBJECT_TYPE_SEMAPHORE = 5, 1354 VK_OBJECT_TYPE_COMMAND_BUFFER = 6, 1355 VK_OBJECT_TYPE_FENCE = 7, 1356 VK_OBJECT_TYPE_DEVICE_MEMORY = 8, 1357 VK_OBJECT_TYPE_BUFFER = 9, 1358 VK_OBJECT_TYPE_IMAGE = 10, 1359 VK_OBJECT_TYPE_EVENT = 11, 1360 VK_OBJECT_TYPE_QUERY_POOL = 12, 1361 VK_OBJECT_TYPE_BUFFER_VIEW = 13, 1362 VK_OBJECT_TYPE_IMAGE_VIEW = 14, 1363 VK_OBJECT_TYPE_SHADER_MODULE = 15, 1364 VK_OBJECT_TYPE_PIPELINE_CACHE = 16, 1365 VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17, 1366 VK_OBJECT_TYPE_RENDER_PASS = 18, 1367 VK_OBJECT_TYPE_PIPELINE = 19, 1368 VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20, 1369 VK_OBJECT_TYPE_SAMPLER = 21, 1370 VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22, 1371 VK_OBJECT_TYPE_DESCRIPTOR_SET = 23, 1372 VK_OBJECT_TYPE_FRAMEBUFFER = 24, 1373 VK_OBJECT_TYPE_COMMAND_POOL = 25, 1374 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000, 1375 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000, 1376 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT = 1000295000, 1377 VK_OBJECT_TYPE_SURFACE_KHR = 1000000000, 1378 VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000, 1379 VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000, 1380 VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001, 1381 VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000, 1382 VK_OBJECT_TYPE_VIDEO_SESSION_KHR = 1000023000, 1383 VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR = 1000023001, 1384 VK_OBJECT_TYPE_CU_MODULE_NVX = 1000029000, 1385 VK_OBJECT_TYPE_CU_FUNCTION_NVX = 1000029001, 1386 VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000, 1387 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000, 1388 VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000, 1389 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000, 1390 VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000, 1391 VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000, 1392 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000, 1393 VK_OBJECT_TYPE_CUDA_MODULE_NV = 1000307000, 1394 VK_OBJECT_TYPE_CUDA_FUNCTION_NV = 1000307001, 1395 VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA = 1000366000, 1396 VK_OBJECT_TYPE_MICROMAP_EXT = 1000396000, 1397 VK_OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV = 1000464000, 1398 VK_OBJECT_TYPE_SHADER_EXT = 1000482000, 1399 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE, 1400 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION, 1401 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = VK_OBJECT_TYPE_PRIVATE_DATA_SLOT, 1402 VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF 1403 } VkObjectType; 1404 1405 typedef enum VkVendorId { 1406 VK_VENDOR_ID_VIV = 0x10001, 1407 VK_VENDOR_ID_VSI = 0x10002, 1408 VK_VENDOR_ID_KAZAN = 0x10003, 1409 VK_VENDOR_ID_CODEPLAY = 0x10004, 1410 VK_VENDOR_ID_MESA = 0x10005, 1411 VK_VENDOR_ID_POCL = 0x10006, 1412 VK_VENDOR_ID_MOBILEYE = 0x10007, 1413 VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF 1414 } VkVendorId; 1415 1416 typedef enum VkSystemAllocationScope { 1417 VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0, 1418 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1, 1419 VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2, 1420 VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3, 1421 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4, 1422 VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF 1423 } VkSystemAllocationScope; 1424 1425 typedef enum VkInternalAllocationType { 1426 VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0, 1427 VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF 1428 } VkInternalAllocationType; 1429 1430 typedef enum VkFormat { 1431 VK_FORMAT_UNDEFINED = 0, 1432 VK_FORMAT_R4G4_UNORM_PACK8 = 1, 1433 VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2, 1434 VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3, 1435 VK_FORMAT_R5G6B5_UNORM_PACK16 = 4, 1436 VK_FORMAT_B5G6R5_UNORM_PACK16 = 5, 1437 VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6, 1438 VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7, 1439 VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8, 1440 VK_FORMAT_R8_UNORM = 9, 1441 VK_FORMAT_R8_SNORM = 10, 1442 VK_FORMAT_R8_USCALED = 11, 1443 VK_FORMAT_R8_SSCALED = 12, 1444 VK_FORMAT_R8_UINT = 13, 1445 VK_FORMAT_R8_SINT = 14, 1446 VK_FORMAT_R8_SRGB = 15, 1447 VK_FORMAT_R8G8_UNORM = 16, 1448 VK_FORMAT_R8G8_SNORM = 17, 1449 VK_FORMAT_R8G8_USCALED = 18, 1450 VK_FORMAT_R8G8_SSCALED = 19, 1451 VK_FORMAT_R8G8_UINT = 20, 1452 VK_FORMAT_R8G8_SINT = 21, 1453 VK_FORMAT_R8G8_SRGB = 22, 1454 VK_FORMAT_R8G8B8_UNORM = 23, 1455 VK_FORMAT_R8G8B8_SNORM = 24, 1456 VK_FORMAT_R8G8B8_USCALED = 25, 1457 VK_FORMAT_R8G8B8_SSCALED = 26, 1458 VK_FORMAT_R8G8B8_UINT = 27, 1459 VK_FORMAT_R8G8B8_SINT = 28, 1460 VK_FORMAT_R8G8B8_SRGB = 29, 1461 VK_FORMAT_B8G8R8_UNORM = 30, 1462 VK_FORMAT_B8G8R8_SNORM = 31, 1463 VK_FORMAT_B8G8R8_USCALED = 32, 1464 VK_FORMAT_B8G8R8_SSCALED = 33, 1465 VK_FORMAT_B8G8R8_UINT = 34, 1466 VK_FORMAT_B8G8R8_SINT = 35, 1467 VK_FORMAT_B8G8R8_SRGB = 36, 1468 VK_FORMAT_R8G8B8A8_UNORM = 37, 1469 VK_FORMAT_R8G8B8A8_SNORM = 38, 1470 VK_FORMAT_R8G8B8A8_USCALED = 39, 1471 VK_FORMAT_R8G8B8A8_SSCALED = 40, 1472 VK_FORMAT_R8G8B8A8_UINT = 41, 1473 VK_FORMAT_R8G8B8A8_SINT = 42, 1474 VK_FORMAT_R8G8B8A8_SRGB = 43, 1475 VK_FORMAT_B8G8R8A8_UNORM = 44, 1476 VK_FORMAT_B8G8R8A8_SNORM = 45, 1477 VK_FORMAT_B8G8R8A8_USCALED = 46, 1478 VK_FORMAT_B8G8R8A8_SSCALED = 47, 1479 VK_FORMAT_B8G8R8A8_UINT = 48, 1480 VK_FORMAT_B8G8R8A8_SINT = 49, 1481 VK_FORMAT_B8G8R8A8_SRGB = 50, 1482 VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51, 1483 VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52, 1484 VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53, 1485 VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54, 1486 VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55, 1487 VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56, 1488 VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57, 1489 VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58, 1490 VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59, 1491 VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60, 1492 VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61, 1493 VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62, 1494 VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63, 1495 VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64, 1496 VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65, 1497 VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66, 1498 VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67, 1499 VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68, 1500 VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69, 1501 VK_FORMAT_R16_UNORM = 70, 1502 VK_FORMAT_R16_SNORM = 71, 1503 VK_FORMAT_R16_USCALED = 72, 1504 VK_FORMAT_R16_SSCALED = 73, 1505 VK_FORMAT_R16_UINT = 74, 1506 VK_FORMAT_R16_SINT = 75, 1507 VK_FORMAT_R16_SFLOAT = 76, 1508 VK_FORMAT_R16G16_UNORM = 77, 1509 VK_FORMAT_R16G16_SNORM = 78, 1510 VK_FORMAT_R16G16_USCALED = 79, 1511 VK_FORMAT_R16G16_SSCALED = 80, 1512 VK_FORMAT_R16G16_UINT = 81, 1513 VK_FORMAT_R16G16_SINT = 82, 1514 VK_FORMAT_R16G16_SFLOAT = 83, 1515 VK_FORMAT_R16G16B16_UNORM = 84, 1516 VK_FORMAT_R16G16B16_SNORM = 85, 1517 VK_FORMAT_R16G16B16_USCALED = 86, 1518 VK_FORMAT_R16G16B16_SSCALED = 87, 1519 VK_FORMAT_R16G16B16_UINT = 88, 1520 VK_FORMAT_R16G16B16_SINT = 89, 1521 VK_FORMAT_R16G16B16_SFLOAT = 90, 1522 VK_FORMAT_R16G16B16A16_UNORM = 91, 1523 VK_FORMAT_R16G16B16A16_SNORM = 92, 1524 VK_FORMAT_R16G16B16A16_USCALED = 93, 1525 VK_FORMAT_R16G16B16A16_SSCALED = 94, 1526 VK_FORMAT_R16G16B16A16_UINT = 95, 1527 VK_FORMAT_R16G16B16A16_SINT = 96, 1528 VK_FORMAT_R16G16B16A16_SFLOAT = 97, 1529 VK_FORMAT_R32_UINT = 98, 1530 VK_FORMAT_R32_SINT = 99, 1531 VK_FORMAT_R32_SFLOAT = 100, 1532 VK_FORMAT_R32G32_UINT = 101, 1533 VK_FORMAT_R32G32_SINT = 102, 1534 VK_FORMAT_R32G32_SFLOAT = 103, 1535 VK_FORMAT_R32G32B32_UINT = 104, 1536 VK_FORMAT_R32G32B32_SINT = 105, 1537 VK_FORMAT_R32G32B32_SFLOAT = 106, 1538 VK_FORMAT_R32G32B32A32_UINT = 107, 1539 VK_FORMAT_R32G32B32A32_SINT = 108, 1540 VK_FORMAT_R32G32B32A32_SFLOAT = 109, 1541 VK_FORMAT_R64_UINT = 110, 1542 VK_FORMAT_R64_SINT = 111, 1543 VK_FORMAT_R64_SFLOAT = 112, 1544 VK_FORMAT_R64G64_UINT = 113, 1545 VK_FORMAT_R64G64_SINT = 114, 1546 VK_FORMAT_R64G64_SFLOAT = 115, 1547 VK_FORMAT_R64G64B64_UINT = 116, 1548 VK_FORMAT_R64G64B64_SINT = 117, 1549 VK_FORMAT_R64G64B64_SFLOAT = 118, 1550 VK_FORMAT_R64G64B64A64_UINT = 119, 1551 VK_FORMAT_R64G64B64A64_SINT = 120, 1552 VK_FORMAT_R64G64B64A64_SFLOAT = 121, 1553 VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122, 1554 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123, 1555 VK_FORMAT_D16_UNORM = 124, 1556 VK_FORMAT_X8_D24_UNORM_PACK32 = 125, 1557 VK_FORMAT_D32_SFLOAT = 126, 1558 VK_FORMAT_S8_UINT = 127, 1559 VK_FORMAT_D16_UNORM_S8_UINT = 128, 1560 VK_FORMAT_D24_UNORM_S8_UINT = 129, 1561 VK_FORMAT_D32_SFLOAT_S8_UINT = 130, 1562 VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131, 1563 VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132, 1564 VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133, 1565 VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134, 1566 VK_FORMAT_BC2_UNORM_BLOCK = 135, 1567 VK_FORMAT_BC2_SRGB_BLOCK = 136, 1568 VK_FORMAT_BC3_UNORM_BLOCK = 137, 1569 VK_FORMAT_BC3_SRGB_BLOCK = 138, 1570 VK_FORMAT_BC4_UNORM_BLOCK = 139, 1571 VK_FORMAT_BC4_SNORM_BLOCK = 140, 1572 VK_FORMAT_BC5_UNORM_BLOCK = 141, 1573 VK_FORMAT_BC5_SNORM_BLOCK = 142, 1574 VK_FORMAT_BC6H_UFLOAT_BLOCK = 143, 1575 VK_FORMAT_BC6H_SFLOAT_BLOCK = 144, 1576 VK_FORMAT_BC7_UNORM_BLOCK = 145, 1577 VK_FORMAT_BC7_SRGB_BLOCK = 146, 1578 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147, 1579 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148, 1580 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149, 1581 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150, 1582 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151, 1583 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152, 1584 VK_FORMAT_EAC_R11_UNORM_BLOCK = 153, 1585 VK_FORMAT_EAC_R11_SNORM_BLOCK = 154, 1586 VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155, 1587 VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156, 1588 VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157, 1589 VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158, 1590 VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159, 1591 VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160, 1592 VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161, 1593 VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162, 1594 VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163, 1595 VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164, 1596 VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165, 1597 VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166, 1598 VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167, 1599 VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168, 1600 VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169, 1601 VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170, 1602 VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171, 1603 VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172, 1604 VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173, 1605 VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174, 1606 VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175, 1607 VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176, 1608 VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177, 1609 VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178, 1610 VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179, 1611 VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180, 1612 VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181, 1613 VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182, 1614 VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183, 1615 VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184, 1616 VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000, 1617 VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001, 1618 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002, 1619 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003, 1620 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004, 1621 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005, 1622 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006, 1623 VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007, 1624 VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008, 1625 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009, 1626 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010, 1627 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011, 1628 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012, 1629 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013, 1630 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014, 1631 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015, 1632 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016, 1633 VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017, 1634 VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018, 1635 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019, 1636 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020, 1637 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021, 1638 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022, 1639 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023, 1640 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024, 1641 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025, 1642 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026, 1643 VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027, 1644 VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028, 1645 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029, 1646 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030, 1647 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031, 1648 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032, 1649 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033, 1650 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM = 1000330000, 1651 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 = 1000330001, 1652 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 = 1000330002, 1653 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM = 1000330003, 1654 VK_FORMAT_A4R4G4B4_UNORM_PACK16 = 1000340000, 1655 VK_FORMAT_A4B4G4R4_UNORM_PACK16 = 1000340001, 1656 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK = 1000066000, 1657 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK = 1000066001, 1658 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK = 1000066002, 1659 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK = 1000066003, 1660 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK = 1000066004, 1661 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK = 1000066005, 1662 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK = 1000066006, 1663 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK = 1000066007, 1664 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK = 1000066008, 1665 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK = 1000066009, 1666 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK = 1000066010, 1667 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK = 1000066011, 1668 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK = 1000066012, 1669 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK = 1000066013, 1670 VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000, 1671 VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001, 1672 VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002, 1673 VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003, 1674 VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004, 1675 VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005, 1676 VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006, 1677 VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007, 1678 VK_FORMAT_R16G16_S10_5_NV = 1000464000, 1679 VK_FORMAT_A1B5G5R5_UNORM_PACK16_KHR = 1000470000, 1680 VK_FORMAT_A8_UNORM_KHR = 1000470001, 1681 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK, 1682 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK, 1683 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK, 1684 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK, 1685 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK, 1686 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK, 1687 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK, 1688 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK, 1689 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK, 1690 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK, 1691 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK, 1692 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK, 1693 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK, 1694 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK, 1695 VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM, 1696 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM, 1697 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM, 1698 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM, 1699 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM, 1700 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM, 1701 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM, 1702 VK_FORMAT_R10X6_UNORM_PACK16_KHR = VK_FORMAT_R10X6_UNORM_PACK16, 1703 VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16, 1704 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16, 1705 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16, 1706 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16, 1707 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16, 1708 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16, 1709 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16, 1710 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16, 1711 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16, 1712 VK_FORMAT_R12X4_UNORM_PACK16_KHR = VK_FORMAT_R12X4_UNORM_PACK16, 1713 VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16, 1714 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16, 1715 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16, 1716 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16, 1717 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16, 1718 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16, 1719 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16, 1720 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16, 1721 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16, 1722 VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VK_FORMAT_G16B16G16R16_422_UNORM, 1723 VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VK_FORMAT_B16G16R16G16_422_UNORM, 1724 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM, 1725 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM, 1726 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM, 1727 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM, 1728 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM, 1729 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT = VK_FORMAT_G8_B8R8_2PLANE_444_UNORM, 1730 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16, 1731 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16, 1732 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT = VK_FORMAT_G16_B16R16_2PLANE_444_UNORM, 1733 VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT = VK_FORMAT_A4R4G4B4_UNORM_PACK16, 1734 VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT = VK_FORMAT_A4B4G4R4_UNORM_PACK16, 1735 VK_FORMAT_MAX_ENUM = 0x7FFFFFFF 1736 } VkFormat; 1737 1738 typedef enum VkImageTiling { 1739 VK_IMAGE_TILING_OPTIMAL = 0, 1740 VK_IMAGE_TILING_LINEAR = 1, 1741 VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000, 1742 VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF 1743 } VkImageTiling; 1744 1745 typedef enum VkImageType { 1746 VK_IMAGE_TYPE_1D = 0, 1747 VK_IMAGE_TYPE_2D = 1, 1748 VK_IMAGE_TYPE_3D = 2, 1749 VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF 1750 } VkImageType; 1751 1752 typedef enum VkPhysicalDeviceType { 1753 VK_PHYSICAL_DEVICE_TYPE_OTHER = 0, 1754 VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1, 1755 VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2, 1756 VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3, 1757 VK_PHYSICAL_DEVICE_TYPE_CPU = 4, 1758 VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF 1759 } VkPhysicalDeviceType; 1760 1761 typedef enum VkQueryType { 1762 VK_QUERY_TYPE_OCCLUSION = 0, 1763 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1, 1764 VK_QUERY_TYPE_TIMESTAMP = 2, 1765 VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR = 1000023000, 1766 VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004, 1767 VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000, 1768 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000150000, 1769 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150001, 1770 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000, 1771 VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000, 1772 VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR = 1000299000, 1773 VK_QUERY_TYPE_MESH_PRIMITIVES_GENERATED_EXT = 1000328000, 1774 VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT = 1000382000, 1775 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR = 1000386000, 1776 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR = 1000386001, 1777 VK_QUERY_TYPE_MICROMAP_SERIALIZATION_SIZE_EXT = 1000396000, 1778 VK_QUERY_TYPE_MICROMAP_COMPACTED_SIZE_EXT = 1000396001, 1779 VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF 1780 } VkQueryType; 1781 1782 typedef enum VkSharingMode { 1783 VK_SHARING_MODE_EXCLUSIVE = 0, 1784 VK_SHARING_MODE_CONCURRENT = 1, 1785 VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF 1786 } VkSharingMode; 1787 1788 typedef enum VkComponentSwizzle { 1789 VK_COMPONENT_SWIZZLE_IDENTITY = 0, 1790 VK_COMPONENT_SWIZZLE_ZERO = 1, 1791 VK_COMPONENT_SWIZZLE_ONE = 2, 1792 VK_COMPONENT_SWIZZLE_R = 3, 1793 VK_COMPONENT_SWIZZLE_G = 4, 1794 VK_COMPONENT_SWIZZLE_B = 5, 1795 VK_COMPONENT_SWIZZLE_A = 6, 1796 VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF 1797 } VkComponentSwizzle; 1798 1799 typedef enum VkImageViewType { 1800 VK_IMAGE_VIEW_TYPE_1D = 0, 1801 VK_IMAGE_VIEW_TYPE_2D = 1, 1802 VK_IMAGE_VIEW_TYPE_3D = 2, 1803 VK_IMAGE_VIEW_TYPE_CUBE = 3, 1804 VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4, 1805 VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5, 1806 VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6, 1807 VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF 1808 } VkImageViewType; 1809 1810 typedef enum VkBlendFactor { 1811 VK_BLEND_FACTOR_ZERO = 0, 1812 VK_BLEND_FACTOR_ONE = 1, 1813 VK_BLEND_FACTOR_SRC_COLOR = 2, 1814 VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3, 1815 VK_BLEND_FACTOR_DST_COLOR = 4, 1816 VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5, 1817 VK_BLEND_FACTOR_SRC_ALPHA = 6, 1818 VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7, 1819 VK_BLEND_FACTOR_DST_ALPHA = 8, 1820 VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9, 1821 VK_BLEND_FACTOR_CONSTANT_COLOR = 10, 1822 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11, 1823 VK_BLEND_FACTOR_CONSTANT_ALPHA = 12, 1824 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13, 1825 VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14, 1826 VK_BLEND_FACTOR_SRC1_COLOR = 15, 1827 VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16, 1828 VK_BLEND_FACTOR_SRC1_ALPHA = 17, 1829 VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18, 1830 VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF 1831 } VkBlendFactor; 1832 1833 typedef enum VkBlendOp { 1834 VK_BLEND_OP_ADD = 0, 1835 VK_BLEND_OP_SUBTRACT = 1, 1836 VK_BLEND_OP_REVERSE_SUBTRACT = 2, 1837 VK_BLEND_OP_MIN = 3, 1838 VK_BLEND_OP_MAX = 4, 1839 VK_BLEND_OP_ZERO_EXT = 1000148000, 1840 VK_BLEND_OP_SRC_EXT = 1000148001, 1841 VK_BLEND_OP_DST_EXT = 1000148002, 1842 VK_BLEND_OP_SRC_OVER_EXT = 1000148003, 1843 VK_BLEND_OP_DST_OVER_EXT = 1000148004, 1844 VK_BLEND_OP_SRC_IN_EXT = 1000148005, 1845 VK_BLEND_OP_DST_IN_EXT = 1000148006, 1846 VK_BLEND_OP_SRC_OUT_EXT = 1000148007, 1847 VK_BLEND_OP_DST_OUT_EXT = 1000148008, 1848 VK_BLEND_OP_SRC_ATOP_EXT = 1000148009, 1849 VK_BLEND_OP_DST_ATOP_EXT = 1000148010, 1850 VK_BLEND_OP_XOR_EXT = 1000148011, 1851 VK_BLEND_OP_MULTIPLY_EXT = 1000148012, 1852 VK_BLEND_OP_SCREEN_EXT = 1000148013, 1853 VK_BLEND_OP_OVERLAY_EXT = 1000148014, 1854 VK_BLEND_OP_DARKEN_EXT = 1000148015, 1855 VK_BLEND_OP_LIGHTEN_EXT = 1000148016, 1856 VK_BLEND_OP_COLORDODGE_EXT = 1000148017, 1857 VK_BLEND_OP_COLORBURN_EXT = 1000148018, 1858 VK_BLEND_OP_HARDLIGHT_EXT = 1000148019, 1859 VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020, 1860 VK_BLEND_OP_DIFFERENCE_EXT = 1000148021, 1861 VK_BLEND_OP_EXCLUSION_EXT = 1000148022, 1862 VK_BLEND_OP_INVERT_EXT = 1000148023, 1863 VK_BLEND_OP_INVERT_RGB_EXT = 1000148024, 1864 VK_BLEND_OP_LINEARDODGE_EXT = 1000148025, 1865 VK_BLEND_OP_LINEARBURN_EXT = 1000148026, 1866 VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027, 1867 VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028, 1868 VK_BLEND_OP_PINLIGHT_EXT = 1000148029, 1869 VK_BLEND_OP_HARDMIX_EXT = 1000148030, 1870 VK_BLEND_OP_HSL_HUE_EXT = 1000148031, 1871 VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032, 1872 VK_BLEND_OP_HSL_COLOR_EXT = 1000148033, 1873 VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034, 1874 VK_BLEND_OP_PLUS_EXT = 1000148035, 1875 VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036, 1876 VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037, 1877 VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038, 1878 VK_BLEND_OP_MINUS_EXT = 1000148039, 1879 VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040, 1880 VK_BLEND_OP_CONTRAST_EXT = 1000148041, 1881 VK_BLEND_OP_INVERT_OVG_EXT = 1000148042, 1882 VK_BLEND_OP_RED_EXT = 1000148043, 1883 VK_BLEND_OP_GREEN_EXT = 1000148044, 1884 VK_BLEND_OP_BLUE_EXT = 1000148045, 1885 VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF 1886 } VkBlendOp; 1887 1888 typedef enum VkCompareOp { 1889 VK_COMPARE_OP_NEVER = 0, 1890 VK_COMPARE_OP_LESS = 1, 1891 VK_COMPARE_OP_EQUAL = 2, 1892 VK_COMPARE_OP_LESS_OR_EQUAL = 3, 1893 VK_COMPARE_OP_GREATER = 4, 1894 VK_COMPARE_OP_NOT_EQUAL = 5, 1895 VK_COMPARE_OP_GREATER_OR_EQUAL = 6, 1896 VK_COMPARE_OP_ALWAYS = 7, 1897 VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF 1898 } VkCompareOp; 1899 1900 typedef enum VkDynamicState { 1901 VK_DYNAMIC_STATE_VIEWPORT = 0, 1902 VK_DYNAMIC_STATE_SCISSOR = 1, 1903 VK_DYNAMIC_STATE_LINE_WIDTH = 2, 1904 VK_DYNAMIC_STATE_DEPTH_BIAS = 3, 1905 VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4, 1906 VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5, 1907 VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6, 1908 VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7, 1909 VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8, 1910 VK_DYNAMIC_STATE_CULL_MODE = 1000267000, 1911 VK_DYNAMIC_STATE_FRONT_FACE = 1000267001, 1912 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY = 1000267002, 1913 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT = 1000267003, 1914 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT = 1000267004, 1915 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE = 1000267005, 1916 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE = 1000267006, 1917 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE = 1000267007, 1918 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP = 1000267008, 1919 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE = 1000267009, 1920 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE = 1000267010, 1921 VK_DYNAMIC_STATE_STENCIL_OP = 1000267011, 1922 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE = 1000377001, 1923 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE = 1000377002, 1924 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE = 1000377004, 1925 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000, 1926 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000, 1927 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT = 1000099001, 1928 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT = 1000099002, 1929 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000, 1930 VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000, 1931 VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004, 1932 VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006, 1933 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV = 1000205000, 1934 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001, 1935 VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000, 1936 VK_DYNAMIC_STATE_VERTEX_INPUT_EXT = 1000352000, 1937 VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000, 1938 VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003, 1939 VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000, 1940 VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT = 1000455003, 1941 VK_DYNAMIC_STATE_POLYGON_MODE_EXT = 1000455004, 1942 VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT = 1000455005, 1943 VK_DYNAMIC_STATE_SAMPLE_MASK_EXT = 1000455006, 1944 VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT = 1000455007, 1945 VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT = 1000455008, 1946 VK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT = 1000455009, 1947 VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT = 1000455010, 1948 VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT = 1000455011, 1949 VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT = 1000455012, 1950 VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT = 1000455002, 1951 VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT = 1000455013, 1952 VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT = 1000455014, 1953 VK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT = 1000455015, 1954 VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT = 1000455016, 1955 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT = 1000455017, 1956 VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT = 1000455018, 1957 VK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT = 1000455019, 1958 VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT = 1000455020, 1959 VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT = 1000455021, 1960 VK_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT = 1000455022, 1961 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV = 1000455023, 1962 VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV = 1000455024, 1963 VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV = 1000455025, 1964 VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV = 1000455026, 1965 VK_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV = 1000455027, 1966 VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV = 1000455028, 1967 VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV = 1000455029, 1968 VK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV = 1000455030, 1969 VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV = 1000455031, 1970 VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV = 1000455032, 1971 VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT = 1000524000, 1972 VK_DYNAMIC_STATE_LINE_STIPPLE_KHR = 1000259000, 1973 VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = VK_DYNAMIC_STATE_LINE_STIPPLE_KHR, 1974 VK_DYNAMIC_STATE_CULL_MODE_EXT = VK_DYNAMIC_STATE_CULL_MODE, 1975 VK_DYNAMIC_STATE_FRONT_FACE_EXT = VK_DYNAMIC_STATE_FRONT_FACE, 1976 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY, 1977 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT = VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT, 1978 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT = VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT, 1979 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT = VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE, 1980 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE, 1981 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE, 1982 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT = VK_DYNAMIC_STATE_DEPTH_COMPARE_OP, 1983 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE, 1984 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE, 1985 VK_DYNAMIC_STATE_STENCIL_OP_EXT = VK_DYNAMIC_STATE_STENCIL_OP, 1986 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT = VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE, 1987 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE, 1988 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT = VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE, 1989 VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF 1990 } VkDynamicState; 1991 1992 typedef enum VkFrontFace { 1993 VK_FRONT_FACE_COUNTER_CLOCKWISE = 0, 1994 VK_FRONT_FACE_CLOCKWISE = 1, 1995 VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF 1996 } VkFrontFace; 1997 1998 typedef enum VkVertexInputRate { 1999 VK_VERTEX_INPUT_RATE_VERTEX = 0, 2000 VK_VERTEX_INPUT_RATE_INSTANCE = 1, 2001 VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF 2002 } VkVertexInputRate; 2003 2004 typedef enum VkPrimitiveTopology { 2005 VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0, 2006 VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1, 2007 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2, 2008 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3, 2009 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4, 2010 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5, 2011 VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6, 2012 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7, 2013 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8, 2014 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9, 2015 VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10, 2016 VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF 2017 } VkPrimitiveTopology; 2018 2019 typedef enum VkPolygonMode { 2020 VK_POLYGON_MODE_FILL = 0, 2021 VK_POLYGON_MODE_LINE = 1, 2022 VK_POLYGON_MODE_POINT = 2, 2023 VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000, 2024 VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF 2025 } VkPolygonMode; 2026 2027 typedef enum VkStencilOp { 2028 VK_STENCIL_OP_KEEP = 0, 2029 VK_STENCIL_OP_ZERO = 1, 2030 VK_STENCIL_OP_REPLACE = 2, 2031 VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3, 2032 VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4, 2033 VK_STENCIL_OP_INVERT = 5, 2034 VK_STENCIL_OP_INCREMENT_AND_WRAP = 6, 2035 VK_STENCIL_OP_DECREMENT_AND_WRAP = 7, 2036 VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF 2037 } VkStencilOp; 2038 2039 typedef enum VkLogicOp { 2040 VK_LOGIC_OP_CLEAR = 0, 2041 VK_LOGIC_OP_AND = 1, 2042 VK_LOGIC_OP_AND_REVERSE = 2, 2043 VK_LOGIC_OP_COPY = 3, 2044 VK_LOGIC_OP_AND_INVERTED = 4, 2045 VK_LOGIC_OP_NO_OP = 5, 2046 VK_LOGIC_OP_XOR = 6, 2047 VK_LOGIC_OP_OR = 7, 2048 VK_LOGIC_OP_NOR = 8, 2049 VK_LOGIC_OP_EQUIVALENT = 9, 2050 VK_LOGIC_OP_INVERT = 10, 2051 VK_LOGIC_OP_OR_REVERSE = 11, 2052 VK_LOGIC_OP_COPY_INVERTED = 12, 2053 VK_LOGIC_OP_OR_INVERTED = 13, 2054 VK_LOGIC_OP_NAND = 14, 2055 VK_LOGIC_OP_SET = 15, 2056 VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF 2057 } VkLogicOp; 2058 2059 typedef enum VkBorderColor { 2060 VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0, 2061 VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1, 2062 VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2, 2063 VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3, 2064 VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4, 2065 VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5, 2066 VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003, 2067 VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004, 2068 VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF 2069 } VkBorderColor; 2070 2071 typedef enum VkFilter { 2072 VK_FILTER_NEAREST = 0, 2073 VK_FILTER_LINEAR = 1, 2074 VK_FILTER_CUBIC_EXT = 1000015000, 2075 VK_FILTER_CUBIC_IMG = VK_FILTER_CUBIC_EXT, 2076 VK_FILTER_MAX_ENUM = 0x7FFFFFFF 2077 } VkFilter; 2078 2079 typedef enum VkSamplerAddressMode { 2080 VK_SAMPLER_ADDRESS_MODE_REPEAT = 0, 2081 VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1, 2082 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2, 2083 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3, 2084 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4, 2085 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE, 2086 VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF 2087 } VkSamplerAddressMode; 2088 2089 typedef enum VkSamplerMipmapMode { 2090 VK_SAMPLER_MIPMAP_MODE_NEAREST = 0, 2091 VK_SAMPLER_MIPMAP_MODE_LINEAR = 1, 2092 VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF 2093 } VkSamplerMipmapMode; 2094 2095 typedef enum VkDescriptorType { 2096 VK_DESCRIPTOR_TYPE_SAMPLER = 0, 2097 VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1, 2098 VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2, 2099 VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3, 2100 VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4, 2101 VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5, 2102 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6, 2103 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7, 2104 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8, 2105 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9, 2106 VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10, 2107 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK = 1000138000, 2108 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000, 2109 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000, 2110 VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM = 1000440000, 2111 VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM = 1000440001, 2112 VK_DESCRIPTOR_TYPE_MUTABLE_EXT = 1000351000, 2113 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK, 2114 VK_DESCRIPTOR_TYPE_MUTABLE_VALVE = VK_DESCRIPTOR_TYPE_MUTABLE_EXT, 2115 VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF 2116 } VkDescriptorType; 2117 2118 typedef enum VkAttachmentLoadOp { 2119 VK_ATTACHMENT_LOAD_OP_LOAD = 0, 2120 VK_ATTACHMENT_LOAD_OP_CLEAR = 1, 2121 VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2, 2122 VK_ATTACHMENT_LOAD_OP_NONE_KHR = 1000400000, 2123 VK_ATTACHMENT_LOAD_OP_NONE_EXT = VK_ATTACHMENT_LOAD_OP_NONE_KHR, 2124 VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF 2125 } VkAttachmentLoadOp; 2126 2127 typedef enum VkAttachmentStoreOp { 2128 VK_ATTACHMENT_STORE_OP_STORE = 0, 2129 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1, 2130 VK_ATTACHMENT_STORE_OP_NONE = 1000301000, 2131 VK_ATTACHMENT_STORE_OP_NONE_KHR = VK_ATTACHMENT_STORE_OP_NONE, 2132 VK_ATTACHMENT_STORE_OP_NONE_QCOM = VK_ATTACHMENT_STORE_OP_NONE, 2133 VK_ATTACHMENT_STORE_OP_NONE_EXT = VK_ATTACHMENT_STORE_OP_NONE, 2134 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF 2135 } VkAttachmentStoreOp; 2136 2137 typedef enum VkPipelineBindPoint { 2138 VK_PIPELINE_BIND_POINT_GRAPHICS = 0, 2139 VK_PIPELINE_BIND_POINT_COMPUTE = 1, 2140 #ifdef VK_ENABLE_BETA_EXTENSIONS 2141 VK_PIPELINE_BIND_POINT_EXECUTION_GRAPH_AMDX = 1000134000, 2142 #endif 2143 VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR = 1000165000, 2144 VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI = 1000369003, 2145 VK_PIPELINE_BIND_POINT_RAY_TRACING_NV = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR, 2146 VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF 2147 } VkPipelineBindPoint; 2148 2149 typedef enum VkCommandBufferLevel { 2150 VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0, 2151 VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1, 2152 VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF 2153 } VkCommandBufferLevel; 2154 2155 typedef enum VkIndexType { 2156 VK_INDEX_TYPE_UINT16 = 0, 2157 VK_INDEX_TYPE_UINT32 = 1, 2158 VK_INDEX_TYPE_NONE_KHR = 1000165000, 2159 VK_INDEX_TYPE_UINT8_KHR = 1000265000, 2160 VK_INDEX_TYPE_NONE_NV = VK_INDEX_TYPE_NONE_KHR, 2161 VK_INDEX_TYPE_UINT8_EXT = VK_INDEX_TYPE_UINT8_KHR, 2162 VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF 2163 } VkIndexType; 2164 2165 typedef enum VkSubpassContents { 2166 VK_SUBPASS_CONTENTS_INLINE = 0, 2167 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1, 2168 VK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_EXT = 1000451000, 2169 VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF 2170 } VkSubpassContents; 2171 2172 typedef enum VkAccessFlagBits { 2173 VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001, 2174 VK_ACCESS_INDEX_READ_BIT = 0x00000002, 2175 VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004, 2176 VK_ACCESS_UNIFORM_READ_BIT = 0x00000008, 2177 VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010, 2178 VK_ACCESS_SHADER_READ_BIT = 0x00000020, 2179 VK_ACCESS_SHADER_WRITE_BIT = 0x00000040, 2180 VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080, 2181 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100, 2182 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200, 2183 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400, 2184 VK_ACCESS_TRANSFER_READ_BIT = 0x00000800, 2185 VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000, 2186 VK_ACCESS_HOST_READ_BIT = 0x00002000, 2187 VK_ACCESS_HOST_WRITE_BIT = 0x00004000, 2188 VK_ACCESS_MEMORY_READ_BIT = 0x00008000, 2189 VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000, 2190 VK_ACCESS_NONE = 0, 2191 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000, 2192 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000, 2193 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000, 2194 VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000, 2195 VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000, 2196 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000, 2197 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000, 2198 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000, 2199 VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000, 2200 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000, 2201 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000, 2202 VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR, 2203 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR, 2204 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR, 2205 VK_ACCESS_NONE_KHR = VK_ACCESS_NONE, 2206 VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2207 } VkAccessFlagBits; 2208 typedef VkFlags VkAccessFlags; 2209 2210 typedef enum VkImageAspectFlagBits { 2211 VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001, 2212 VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002, 2213 VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004, 2214 VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008, 2215 VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010, 2216 VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020, 2217 VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040, 2218 VK_IMAGE_ASPECT_NONE = 0, 2219 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080, 2220 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100, 2221 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200, 2222 VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400, 2223 VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT, 2224 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT, 2225 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT, 2226 VK_IMAGE_ASPECT_NONE_KHR = VK_IMAGE_ASPECT_NONE, 2227 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2228 } VkImageAspectFlagBits; 2229 typedef VkFlags VkImageAspectFlags; 2230 2231 typedef enum VkFormatFeatureFlagBits { 2232 VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001, 2233 VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002, 2234 VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004, 2235 VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008, 2236 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010, 2237 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020, 2238 VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040, 2239 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080, 2240 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100, 2241 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200, 2242 VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400, 2243 VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800, 2244 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000, 2245 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000, 2246 VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000, 2247 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000, 2248 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000, 2249 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000, 2250 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000, 2251 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000, 2252 VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000, 2253 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000, 2254 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000, 2255 VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000, 2256 VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000, 2257 VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000, 2258 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = 0x00002000, 2259 VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000, 2260 VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000, 2261 VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000, 2262 VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000, 2263 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT, 2264 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT, 2265 VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT, 2266 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT, 2267 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT, 2268 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT, 2269 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT, 2270 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT, 2271 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, 2272 VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT, 2273 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT, 2274 VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2275 } VkFormatFeatureFlagBits; 2276 typedef VkFlags VkFormatFeatureFlags; 2277 2278 typedef enum VkImageCreateFlagBits { 2279 VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001, 2280 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002, 2281 VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004, 2282 VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008, 2283 VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010, 2284 VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400, 2285 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040, 2286 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020, 2287 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080, 2288 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100, 2289 VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800, 2290 VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200, 2291 VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000, 2292 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000, 2293 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000, 2294 VK_IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00010000, 2295 VK_IMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT = 0x00040000, 2296 VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT = 0x00020000, 2297 VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM = 0x00008000, 2298 VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR = 0x00100000, 2299 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT, 2300 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT, 2301 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT, 2302 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT, 2303 VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VK_IMAGE_CREATE_DISJOINT_BIT, 2304 VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT, 2305 VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2306 } VkImageCreateFlagBits; 2307 typedef VkFlags VkImageCreateFlags; 2308 2309 typedef enum VkSampleCountFlagBits { 2310 VK_SAMPLE_COUNT_1_BIT = 0x00000001, 2311 VK_SAMPLE_COUNT_2_BIT = 0x00000002, 2312 VK_SAMPLE_COUNT_4_BIT = 0x00000004, 2313 VK_SAMPLE_COUNT_8_BIT = 0x00000008, 2314 VK_SAMPLE_COUNT_16_BIT = 0x00000010, 2315 VK_SAMPLE_COUNT_32_BIT = 0x00000020, 2316 VK_SAMPLE_COUNT_64_BIT = 0x00000040, 2317 VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2318 } VkSampleCountFlagBits; 2319 typedef VkFlags VkSampleCountFlags; 2320 2321 typedef enum VkImageUsageFlagBits { 2322 VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001, 2323 VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002, 2324 VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004, 2325 VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008, 2326 VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010, 2327 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020, 2328 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040, 2329 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080, 2330 VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00000400, 2331 VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00000800, 2332 VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR = 0x00001000, 2333 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200, 2334 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00000100, 2335 VK_IMAGE_USAGE_HOST_TRANSFER_BIT_EXT = 0x00400000, 2336 VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00002000, 2337 VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00004000, 2338 VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR = 0x00008000, 2339 VK_IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x00080000, 2340 VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI = 0x00040000, 2341 VK_IMAGE_USAGE_SAMPLE_WEIGHT_BIT_QCOM = 0x00100000, 2342 VK_IMAGE_USAGE_SAMPLE_BLOCK_MATCH_BIT_QCOM = 0x00200000, 2343 VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, 2344 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2345 } VkImageUsageFlagBits; 2346 typedef VkFlags VkImageUsageFlags; 2347 2348 typedef enum VkInstanceCreateFlagBits { 2349 VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR = 0x00000001, 2350 VK_INSTANCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2351 } VkInstanceCreateFlagBits; 2352 typedef VkFlags VkInstanceCreateFlags; 2353 2354 typedef enum VkMemoryHeapFlagBits { 2355 VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001, 2356 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002, 2357 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT, 2358 VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2359 } VkMemoryHeapFlagBits; 2360 typedef VkFlags VkMemoryHeapFlags; 2361 2362 typedef enum VkMemoryPropertyFlagBits { 2363 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001, 2364 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002, 2365 VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004, 2366 VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008, 2367 VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010, 2368 VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020, 2369 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 0x00000040, 2370 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 0x00000080, 2371 VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV = 0x00000100, 2372 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2373 } VkMemoryPropertyFlagBits; 2374 typedef VkFlags VkMemoryPropertyFlags; 2375 2376 typedef enum VkQueueFlagBits { 2377 VK_QUEUE_GRAPHICS_BIT = 0x00000001, 2378 VK_QUEUE_COMPUTE_BIT = 0x00000002, 2379 VK_QUEUE_TRANSFER_BIT = 0x00000004, 2380 VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008, 2381 VK_QUEUE_PROTECTED_BIT = 0x00000010, 2382 VK_QUEUE_VIDEO_DECODE_BIT_KHR = 0x00000020, 2383 VK_QUEUE_VIDEO_ENCODE_BIT_KHR = 0x00000040, 2384 VK_QUEUE_OPTICAL_FLOW_BIT_NV = 0x00000100, 2385 VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2386 } VkQueueFlagBits; 2387 typedef VkFlags VkQueueFlags; 2388 typedef VkFlags VkDeviceCreateFlags; 2389 2390 typedef enum VkDeviceQueueCreateFlagBits { 2391 VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001, 2392 VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2393 } VkDeviceQueueCreateFlagBits; 2394 typedef VkFlags VkDeviceQueueCreateFlags; 2395 2396 typedef enum VkPipelineStageFlagBits { 2397 VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001, 2398 VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002, 2399 VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004, 2400 VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008, 2401 VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010, 2402 VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020, 2403 VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040, 2404 VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080, 2405 VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100, 2406 VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200, 2407 VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400, 2408 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800, 2409 VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000, 2410 VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000, 2411 VK_PIPELINE_STAGE_HOST_BIT = 0x00004000, 2412 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000, 2413 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000, 2414 VK_PIPELINE_STAGE_NONE = 0, 2415 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000, 2416 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000, 2417 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000, 2418 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 0x00200000, 2419 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000, 2420 VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000, 2421 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 0x00020000, 2422 VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT = 0x00080000, 2423 VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT = 0x00100000, 2424 VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, 2425 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR, 2426 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, 2427 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT, 2428 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT, 2429 VK_PIPELINE_STAGE_NONE_KHR = VK_PIPELINE_STAGE_NONE, 2430 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2431 } VkPipelineStageFlagBits; 2432 typedef VkFlags VkPipelineStageFlags; 2433 2434 typedef enum VkMemoryMapFlagBits { 2435 VK_MEMORY_MAP_PLACED_BIT_EXT = 0x00000001, 2436 VK_MEMORY_MAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2437 } VkMemoryMapFlagBits; 2438 typedef VkFlags VkMemoryMapFlags; 2439 2440 typedef enum VkSparseMemoryBindFlagBits { 2441 VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001, 2442 VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2443 } VkSparseMemoryBindFlagBits; 2444 typedef VkFlags VkSparseMemoryBindFlags; 2445 2446 typedef enum VkSparseImageFormatFlagBits { 2447 VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001, 2448 VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002, 2449 VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004, 2450 VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2451 } VkSparseImageFormatFlagBits; 2452 typedef VkFlags VkSparseImageFormatFlags; 2453 2454 typedef enum VkFenceCreateFlagBits { 2455 VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001, 2456 VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2457 } VkFenceCreateFlagBits; 2458 typedef VkFlags VkFenceCreateFlags; 2459 typedef VkFlags VkSemaphoreCreateFlags; 2460 2461 typedef enum VkEventCreateFlagBits { 2462 VK_EVENT_CREATE_DEVICE_ONLY_BIT = 0x00000001, 2463 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = VK_EVENT_CREATE_DEVICE_ONLY_BIT, 2464 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2465 } VkEventCreateFlagBits; 2466 typedef VkFlags VkEventCreateFlags; 2467 2468 typedef enum VkQueryPipelineStatisticFlagBits { 2469 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001, 2470 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002, 2471 VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004, 2472 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008, 2473 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010, 2474 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020, 2475 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040, 2476 VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080, 2477 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100, 2478 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200, 2479 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400, 2480 VK_QUERY_PIPELINE_STATISTIC_TASK_SHADER_INVOCATIONS_BIT_EXT = 0x00000800, 2481 VK_QUERY_PIPELINE_STATISTIC_MESH_SHADER_INVOCATIONS_BIT_EXT = 0x00001000, 2482 VK_QUERY_PIPELINE_STATISTIC_CLUSTER_CULLING_SHADER_INVOCATIONS_BIT_HUAWEI = 0x00002000, 2483 VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2484 } VkQueryPipelineStatisticFlagBits; 2485 typedef VkFlags VkQueryPipelineStatisticFlags; 2486 typedef VkFlags VkQueryPoolCreateFlags; 2487 2488 typedef enum VkQueryResultFlagBits { 2489 VK_QUERY_RESULT_64_BIT = 0x00000001, 2490 VK_QUERY_RESULT_WAIT_BIT = 0x00000002, 2491 VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004, 2492 VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008, 2493 VK_QUERY_RESULT_WITH_STATUS_BIT_KHR = 0x00000010, 2494 VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2495 } VkQueryResultFlagBits; 2496 typedef VkFlags VkQueryResultFlags; 2497 2498 typedef enum VkBufferCreateFlagBits { 2499 VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001, 2500 VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002, 2501 VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004, 2502 VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008, 2503 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010, 2504 VK_BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000020, 2505 VK_BUFFER_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR = 0x00000040, 2506 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, 2507 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, 2508 VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2509 } VkBufferCreateFlagBits; 2510 typedef VkFlags VkBufferCreateFlags; 2511 2512 typedef enum VkBufferUsageFlagBits { 2513 VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001, 2514 VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002, 2515 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004, 2516 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008, 2517 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010, 2518 VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020, 2519 VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040, 2520 VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080, 2521 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100, 2522 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0x00020000, 2523 VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000, 2524 VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00004000, 2525 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800, 2526 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000, 2527 VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200, 2528 #ifdef VK_ENABLE_BETA_EXTENSIONS 2529 VK_BUFFER_USAGE_EXECUTION_GRAPH_SCRATCH_BIT_AMDX = 0x02000000, 2530 #endif 2531 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000, 2532 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000, 2533 VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400, 2534 VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000, 2535 VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000, 2536 VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT = 0x00200000, 2537 VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT = 0x00400000, 2538 VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT = 0x04000000, 2539 VK_BUFFER_USAGE_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT = 0x00800000, 2540 VK_BUFFER_USAGE_MICROMAP_STORAGE_BIT_EXT = 0x01000000, 2541 VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR, 2542 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT, 2543 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT, 2544 VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2545 } VkBufferUsageFlagBits; 2546 typedef VkFlags VkBufferUsageFlags; 2547 typedef VkFlags VkBufferViewCreateFlags; 2548 2549 typedef enum VkImageViewCreateFlagBits { 2550 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001, 2551 VK_IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000004, 2552 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT = 0x00000002, 2553 VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2554 } VkImageViewCreateFlagBits; 2555 typedef VkFlags VkImageViewCreateFlags; 2556 typedef VkFlags VkShaderModuleCreateFlags; 2557 2558 typedef enum VkPipelineCacheCreateFlagBits { 2559 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT = 0x00000001, 2560 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT, 2561 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2562 } VkPipelineCacheCreateFlagBits; 2563 typedef VkFlags VkPipelineCacheCreateFlags; 2564 2565 typedef enum VkColorComponentFlagBits { 2566 VK_COLOR_COMPONENT_R_BIT = 0x00000001, 2567 VK_COLOR_COMPONENT_G_BIT = 0x00000002, 2568 VK_COLOR_COMPONENT_B_BIT = 0x00000004, 2569 VK_COLOR_COMPONENT_A_BIT = 0x00000008, 2570 VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2571 } VkColorComponentFlagBits; 2572 typedef VkFlags VkColorComponentFlags; 2573 2574 typedef enum VkPipelineCreateFlagBits { 2575 VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001, 2576 VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002, 2577 VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004, 2578 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008, 2579 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0x00000010, 2580 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = 0x00000100, 2581 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT = 0x00000200, 2582 VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00200000, 2583 VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00400000, 2584 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000, 2585 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000, 2586 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000, 2587 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000, 2588 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000, 2589 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000, 2590 VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000, 2591 VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0x00000020, 2592 VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 0x00000040, 2593 VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080, 2594 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00040000, 2595 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 0x00000800, 2596 VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT = 0x20000000, 2597 VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT = 0x00800000, 2598 VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT = 0x00000400, 2599 VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000, 2600 VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x02000000, 2601 VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x04000000, 2602 VK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT = 0x01000000, 2603 #ifdef VK_ENABLE_BETA_EXTENSIONS 2604 VK_PIPELINE_CREATE_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV = 0x10000000, 2605 #endif 2606 VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT_EXT = 0x08000000, 2607 VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT_EXT = 0x40000000, 2608 VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT, 2609 VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, 2610 VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT, 2611 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT, 2612 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE, 2613 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT, 2614 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT, 2615 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2616 } VkPipelineCreateFlagBits; 2617 typedef VkFlags VkPipelineCreateFlags; 2618 2619 typedef enum VkPipelineShaderStageCreateFlagBits { 2620 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT = 0x00000001, 2621 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT = 0x00000002, 2622 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT, 2623 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT, 2624 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2625 } VkPipelineShaderStageCreateFlagBits; 2626 typedef VkFlags VkPipelineShaderStageCreateFlags; 2627 2628 typedef enum VkShaderStageFlagBits { 2629 VK_SHADER_STAGE_VERTEX_BIT = 0x00000001, 2630 VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002, 2631 VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004, 2632 VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008, 2633 VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010, 2634 VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020, 2635 VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F, 2636 VK_SHADER_STAGE_ALL = 0x7FFFFFFF, 2637 VK_SHADER_STAGE_RAYGEN_BIT_KHR = 0x00000100, 2638 VK_SHADER_STAGE_ANY_HIT_BIT_KHR = 0x00000200, 2639 VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR = 0x00000400, 2640 VK_SHADER_STAGE_MISS_BIT_KHR = 0x00000800, 2641 VK_SHADER_STAGE_INTERSECTION_BIT_KHR = 0x00001000, 2642 VK_SHADER_STAGE_CALLABLE_BIT_KHR = 0x00002000, 2643 VK_SHADER_STAGE_TASK_BIT_EXT = 0x00000040, 2644 VK_SHADER_STAGE_MESH_BIT_EXT = 0x00000080, 2645 VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 0x00004000, 2646 VK_SHADER_STAGE_CLUSTER_CULLING_BIT_HUAWEI = 0x00080000, 2647 VK_SHADER_STAGE_RAYGEN_BIT_NV = VK_SHADER_STAGE_RAYGEN_BIT_KHR, 2648 VK_SHADER_STAGE_ANY_HIT_BIT_NV = VK_SHADER_STAGE_ANY_HIT_BIT_KHR, 2649 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR, 2650 VK_SHADER_STAGE_MISS_BIT_NV = VK_SHADER_STAGE_MISS_BIT_KHR, 2651 VK_SHADER_STAGE_INTERSECTION_BIT_NV = VK_SHADER_STAGE_INTERSECTION_BIT_KHR, 2652 VK_SHADER_STAGE_CALLABLE_BIT_NV = VK_SHADER_STAGE_CALLABLE_BIT_KHR, 2653 VK_SHADER_STAGE_TASK_BIT_NV = VK_SHADER_STAGE_TASK_BIT_EXT, 2654 VK_SHADER_STAGE_MESH_BIT_NV = VK_SHADER_STAGE_MESH_BIT_EXT, 2655 VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2656 } VkShaderStageFlagBits; 2657 2658 typedef enum VkCullModeFlagBits { 2659 VK_CULL_MODE_NONE = 0, 2660 VK_CULL_MODE_FRONT_BIT = 0x00000001, 2661 VK_CULL_MODE_BACK_BIT = 0x00000002, 2662 VK_CULL_MODE_FRONT_AND_BACK = 0x00000003, 2663 VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2664 } VkCullModeFlagBits; 2665 typedef VkFlags VkCullModeFlags; 2666 typedef VkFlags VkPipelineVertexInputStateCreateFlags; 2667 typedef VkFlags VkPipelineInputAssemblyStateCreateFlags; 2668 typedef VkFlags VkPipelineTessellationStateCreateFlags; 2669 typedef VkFlags VkPipelineViewportStateCreateFlags; 2670 typedef VkFlags VkPipelineRasterizationStateCreateFlags; 2671 typedef VkFlags VkPipelineMultisampleStateCreateFlags; 2672 2673 typedef enum VkPipelineDepthStencilStateCreateFlagBits { 2674 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT = 0x00000001, 2675 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT = 0x00000002, 2676 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, 2677 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, 2678 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2679 } VkPipelineDepthStencilStateCreateFlagBits; 2680 typedef VkFlags VkPipelineDepthStencilStateCreateFlags; 2681 2682 typedef enum VkPipelineColorBlendStateCreateFlagBits { 2683 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT = 0x00000001, 2684 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM = VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT, 2685 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2686 } VkPipelineColorBlendStateCreateFlagBits; 2687 typedef VkFlags VkPipelineColorBlendStateCreateFlags; 2688 typedef VkFlags VkPipelineDynamicStateCreateFlags; 2689 2690 typedef enum VkPipelineLayoutCreateFlagBits { 2691 VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT = 0x00000002, 2692 VK_PIPELINE_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2693 } VkPipelineLayoutCreateFlagBits; 2694 typedef VkFlags VkPipelineLayoutCreateFlags; 2695 typedef VkFlags VkShaderStageFlags; 2696 2697 typedef enum VkSamplerCreateFlagBits { 2698 VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0x00000001, 2699 VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002, 2700 VK_SAMPLER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000008, 2701 VK_SAMPLER_CREATE_NON_SEAMLESS_CUBE_MAP_BIT_EXT = 0x00000004, 2702 VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM = 0x00000010, 2703 VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2704 } VkSamplerCreateFlagBits; 2705 typedef VkFlags VkSamplerCreateFlags; 2706 2707 typedef enum VkDescriptorPoolCreateFlagBits { 2708 VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001, 2709 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002, 2710 VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT = 0x00000004, 2711 VK_DESCRIPTOR_POOL_CREATE_ALLOW_OVERALLOCATION_SETS_BIT_NV = 0x00000008, 2712 VK_DESCRIPTOR_POOL_CREATE_ALLOW_OVERALLOCATION_POOLS_BIT_NV = 0x00000010, 2713 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT, 2714 VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE = VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT, 2715 VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2716 } VkDescriptorPoolCreateFlagBits; 2717 typedef VkFlags VkDescriptorPoolCreateFlags; 2718 typedef VkFlags VkDescriptorPoolResetFlags; 2719 2720 typedef enum VkDescriptorSetLayoutCreateFlagBits { 2721 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002, 2722 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001, 2723 VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT = 0x00000010, 2724 VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT = 0x00000020, 2725 VK_DESCRIPTOR_SET_LAYOUT_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00000080, 2726 VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT = 0x00000004, 2727 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV = 0x00000040, 2728 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT, 2729 VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE = VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT, 2730 VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2731 } VkDescriptorSetLayoutCreateFlagBits; 2732 typedef VkFlags VkDescriptorSetLayoutCreateFlags; 2733 2734 typedef enum VkAttachmentDescriptionFlagBits { 2735 VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001, 2736 VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2737 } VkAttachmentDescriptionFlagBits; 2738 typedef VkFlags VkAttachmentDescriptionFlags; 2739 2740 typedef enum VkDependencyFlagBits { 2741 VK_DEPENDENCY_BY_REGION_BIT = 0x00000001, 2742 VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004, 2743 VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002, 2744 VK_DEPENDENCY_FEEDBACK_LOOP_BIT_EXT = 0x00000008, 2745 VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT, 2746 VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT, 2747 VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2748 } VkDependencyFlagBits; 2749 typedef VkFlags VkDependencyFlags; 2750 2751 typedef enum VkFramebufferCreateFlagBits { 2752 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0x00000001, 2753 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT, 2754 VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2755 } VkFramebufferCreateFlagBits; 2756 typedef VkFlags VkFramebufferCreateFlags; 2757 2758 typedef enum VkRenderPassCreateFlagBits { 2759 VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM = 0x00000002, 2760 VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2761 } VkRenderPassCreateFlagBits; 2762 typedef VkFlags VkRenderPassCreateFlags; 2763 2764 typedef enum VkSubpassDescriptionFlagBits { 2765 VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001, 2766 VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002, 2767 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 0x00000004, 2768 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 0x00000008, 2769 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT = 0x00000010, 2770 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT = 0x00000020, 2771 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT = 0x00000040, 2772 VK_SUBPASS_DESCRIPTION_ENABLE_LEGACY_DITHERING_BIT_EXT = 0x00000080, 2773 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT, 2774 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT, 2775 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT, 2776 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2777 } VkSubpassDescriptionFlagBits; 2778 typedef VkFlags VkSubpassDescriptionFlags; 2779 2780 typedef enum VkCommandPoolCreateFlagBits { 2781 VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001, 2782 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002, 2783 VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004, 2784 VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2785 } VkCommandPoolCreateFlagBits; 2786 typedef VkFlags VkCommandPoolCreateFlags; 2787 2788 typedef enum VkCommandPoolResetFlagBits { 2789 VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001, 2790 VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2791 } VkCommandPoolResetFlagBits; 2792 typedef VkFlags VkCommandPoolResetFlags; 2793 2794 typedef enum VkCommandBufferUsageFlagBits { 2795 VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001, 2796 VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002, 2797 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004, 2798 VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2799 } VkCommandBufferUsageFlagBits; 2800 typedef VkFlags VkCommandBufferUsageFlags; 2801 2802 typedef enum VkQueryControlFlagBits { 2803 VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001, 2804 VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2805 } VkQueryControlFlagBits; 2806 typedef VkFlags VkQueryControlFlags; 2807 2808 typedef enum VkCommandBufferResetFlagBits { 2809 VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001, 2810 VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2811 } VkCommandBufferResetFlagBits; 2812 typedef VkFlags VkCommandBufferResetFlags; 2813 2814 typedef enum VkStencilFaceFlagBits { 2815 VK_STENCIL_FACE_FRONT_BIT = 0x00000001, 2816 VK_STENCIL_FACE_BACK_BIT = 0x00000002, 2817 VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003, 2818 VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK, 2819 VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2820 } VkStencilFaceFlagBits; 2821 typedef VkFlags VkStencilFaceFlags; 2822 typedef struct VkExtent2D { 2823 uint32_t width; 2824 uint32_t height; 2825 } VkExtent2D; 2826 2827 typedef struct VkExtent3D { 2828 uint32_t width; 2829 uint32_t height; 2830 uint32_t depth; 2831 } VkExtent3D; 2832 2833 typedef struct VkOffset2D { 2834 int32_t x; 2835 int32_t y; 2836 } VkOffset2D; 2837 2838 typedef struct VkOffset3D { 2839 int32_t x; 2840 int32_t y; 2841 int32_t z; 2842 } VkOffset3D; 2843 2844 typedef struct VkRect2D { 2845 VkOffset2D offset; 2846 VkExtent2D extent; 2847 } VkRect2D; 2848 2849 typedef struct VkBaseInStructure { 2850 VkStructureType sType; 2851 const struct VkBaseInStructure* pNext; 2852 } VkBaseInStructure; 2853 2854 typedef struct VkBaseOutStructure { 2855 VkStructureType sType; 2856 struct VkBaseOutStructure* pNext; 2857 } VkBaseOutStructure; 2858 2859 typedef struct VkBufferMemoryBarrier { 2860 VkStructureType sType; 2861 const void* pNext; 2862 VkAccessFlags srcAccessMask; 2863 VkAccessFlags dstAccessMask; 2864 uint32_t srcQueueFamilyIndex; 2865 uint32_t dstQueueFamilyIndex; 2866 VkBuffer buffer; 2867 VkDeviceSize offset; 2868 VkDeviceSize size; 2869 } VkBufferMemoryBarrier; 2870 2871 typedef struct VkDispatchIndirectCommand { 2872 uint32_t x; 2873 uint32_t y; 2874 uint32_t z; 2875 } VkDispatchIndirectCommand; 2876 2877 typedef struct VkDrawIndexedIndirectCommand { 2878 uint32_t indexCount; 2879 uint32_t instanceCount; 2880 uint32_t firstIndex; 2881 int32_t vertexOffset; 2882 uint32_t firstInstance; 2883 } VkDrawIndexedIndirectCommand; 2884 2885 typedef struct VkDrawIndirectCommand { 2886 uint32_t vertexCount; 2887 uint32_t instanceCount; 2888 uint32_t firstVertex; 2889 uint32_t firstInstance; 2890 } VkDrawIndirectCommand; 2891 2892 typedef struct VkImageSubresourceRange { 2893 VkImageAspectFlags aspectMask; 2894 uint32_t baseMipLevel; 2895 uint32_t levelCount; 2896 uint32_t baseArrayLayer; 2897 uint32_t layerCount; 2898 } VkImageSubresourceRange; 2899 2900 typedef struct VkImageMemoryBarrier { 2901 VkStructureType sType; 2902 const void* pNext; 2903 VkAccessFlags srcAccessMask; 2904 VkAccessFlags dstAccessMask; 2905 VkImageLayout oldLayout; 2906 VkImageLayout newLayout; 2907 uint32_t srcQueueFamilyIndex; 2908 uint32_t dstQueueFamilyIndex; 2909 VkImage image; 2910 VkImageSubresourceRange subresourceRange; 2911 } VkImageMemoryBarrier; 2912 2913 typedef struct VkMemoryBarrier { 2914 VkStructureType sType; 2915 const void* pNext; 2916 VkAccessFlags srcAccessMask; 2917 VkAccessFlags dstAccessMask; 2918 } VkMemoryBarrier; 2919 2920 typedef struct VkPipelineCacheHeaderVersionOne { 2921 uint32_t headerSize; 2922 VkPipelineCacheHeaderVersion headerVersion; 2923 uint32_t vendorID; 2924 uint32_t deviceID; 2925 uint8_t pipelineCacheUUID[VK_UUID_SIZE]; 2926 } VkPipelineCacheHeaderVersionOne; 2927 2928 typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)( 2929 void* pUserData, 2930 size_t size, 2931 size_t alignment, 2932 VkSystemAllocationScope allocationScope); 2933 2934 typedef void (VKAPI_PTR *PFN_vkFreeFunction)( 2935 void* pUserData, 2936 void* pMemory); 2937 2938 typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)( 2939 void* pUserData, 2940 size_t size, 2941 VkInternalAllocationType allocationType, 2942 VkSystemAllocationScope allocationScope); 2943 2944 typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)( 2945 void* pUserData, 2946 size_t size, 2947 VkInternalAllocationType allocationType, 2948 VkSystemAllocationScope allocationScope); 2949 2950 typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)( 2951 void* pUserData, 2952 void* pOriginal, 2953 size_t size, 2954 size_t alignment, 2955 VkSystemAllocationScope allocationScope); 2956 2957 typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void); 2958 typedef struct VkAllocationCallbacks { 2959 void* pUserData; 2960 PFN_vkAllocationFunction pfnAllocation; 2961 PFN_vkReallocationFunction pfnReallocation; 2962 PFN_vkFreeFunction pfnFree; 2963 PFN_vkInternalAllocationNotification pfnInternalAllocation; 2964 PFN_vkInternalFreeNotification pfnInternalFree; 2965 } VkAllocationCallbacks; 2966 2967 typedef struct VkApplicationInfo { 2968 VkStructureType sType; 2969 const void* pNext; 2970 const char* pApplicationName; 2971 uint32_t applicationVersion; 2972 const char* pEngineName; 2973 uint32_t engineVersion; 2974 uint32_t apiVersion; 2975 } VkApplicationInfo; 2976 2977 typedef struct VkFormatProperties { 2978 VkFormatFeatureFlags linearTilingFeatures; 2979 VkFormatFeatureFlags optimalTilingFeatures; 2980 VkFormatFeatureFlags bufferFeatures; 2981 } VkFormatProperties; 2982 2983 typedef struct VkImageFormatProperties { 2984 VkExtent3D maxExtent; 2985 uint32_t maxMipLevels; 2986 uint32_t maxArrayLayers; 2987 VkSampleCountFlags sampleCounts; 2988 VkDeviceSize maxResourceSize; 2989 } VkImageFormatProperties; 2990 2991 typedef struct VkInstanceCreateInfo { 2992 VkStructureType sType; 2993 const void* pNext; 2994 VkInstanceCreateFlags flags; 2995 const VkApplicationInfo* pApplicationInfo; 2996 uint32_t enabledLayerCount; 2997 const char* const* ppEnabledLayerNames; 2998 uint32_t enabledExtensionCount; 2999 const char* const* ppEnabledExtensionNames; 3000 } VkInstanceCreateInfo; 3001 3002 typedef struct VkMemoryHeap { 3003 VkDeviceSize size; 3004 VkMemoryHeapFlags flags; 3005 } VkMemoryHeap; 3006 3007 typedef struct VkMemoryType { 3008 VkMemoryPropertyFlags propertyFlags; 3009 uint32_t heapIndex; 3010 } VkMemoryType; 3011 3012 typedef struct VkPhysicalDeviceFeatures { 3013 VkBool32 robustBufferAccess; 3014 VkBool32 fullDrawIndexUint32; 3015 VkBool32 imageCubeArray; 3016 VkBool32 independentBlend; 3017 VkBool32 geometryShader; 3018 VkBool32 tessellationShader; 3019 VkBool32 sampleRateShading; 3020 VkBool32 dualSrcBlend; 3021 VkBool32 logicOp; 3022 VkBool32 multiDrawIndirect; 3023 VkBool32 drawIndirectFirstInstance; 3024 VkBool32 depthClamp; 3025 VkBool32 depthBiasClamp; 3026 VkBool32 fillModeNonSolid; 3027 VkBool32 depthBounds; 3028 VkBool32 wideLines; 3029 VkBool32 largePoints; 3030 VkBool32 alphaToOne; 3031 VkBool32 multiViewport; 3032 VkBool32 samplerAnisotropy; 3033 VkBool32 textureCompressionETC2; 3034 VkBool32 textureCompressionASTC_LDR; 3035 VkBool32 textureCompressionBC; 3036 VkBool32 occlusionQueryPrecise; 3037 VkBool32 pipelineStatisticsQuery; 3038 VkBool32 vertexPipelineStoresAndAtomics; 3039 VkBool32 fragmentStoresAndAtomics; 3040 VkBool32 shaderTessellationAndGeometryPointSize; 3041 VkBool32 shaderImageGatherExtended; 3042 VkBool32 shaderStorageImageExtendedFormats; 3043 VkBool32 shaderStorageImageMultisample; 3044 VkBool32 shaderStorageImageReadWithoutFormat; 3045 VkBool32 shaderStorageImageWriteWithoutFormat; 3046 VkBool32 shaderUniformBufferArrayDynamicIndexing; 3047 VkBool32 shaderSampledImageArrayDynamicIndexing; 3048 VkBool32 shaderStorageBufferArrayDynamicIndexing; 3049 VkBool32 shaderStorageImageArrayDynamicIndexing; 3050 VkBool32 shaderClipDistance; 3051 VkBool32 shaderCullDistance; 3052 VkBool32 shaderFloat64; 3053 VkBool32 shaderInt64; 3054 VkBool32 shaderInt16; 3055 VkBool32 shaderResourceResidency; 3056 VkBool32 shaderResourceMinLod; 3057 VkBool32 sparseBinding; 3058 VkBool32 sparseResidencyBuffer; 3059 VkBool32 sparseResidencyImage2D; 3060 VkBool32 sparseResidencyImage3D; 3061 VkBool32 sparseResidency2Samples; 3062 VkBool32 sparseResidency4Samples; 3063 VkBool32 sparseResidency8Samples; 3064 VkBool32 sparseResidency16Samples; 3065 VkBool32 sparseResidencyAliased; 3066 VkBool32 variableMultisampleRate; 3067 VkBool32 inheritedQueries; 3068 } VkPhysicalDeviceFeatures; 3069 3070 typedef struct VkPhysicalDeviceLimits { 3071 uint32_t maxImageDimension1D; 3072 uint32_t maxImageDimension2D; 3073 uint32_t maxImageDimension3D; 3074 uint32_t maxImageDimensionCube; 3075 uint32_t maxImageArrayLayers; 3076 uint32_t maxTexelBufferElements; 3077 uint32_t maxUniformBufferRange; 3078 uint32_t maxStorageBufferRange; 3079 uint32_t maxPushConstantsSize; 3080 uint32_t maxMemoryAllocationCount; 3081 uint32_t maxSamplerAllocationCount; 3082 VkDeviceSize bufferImageGranularity; 3083 VkDeviceSize sparseAddressSpaceSize; 3084 uint32_t maxBoundDescriptorSets; 3085 uint32_t maxPerStageDescriptorSamplers; 3086 uint32_t maxPerStageDescriptorUniformBuffers; 3087 uint32_t maxPerStageDescriptorStorageBuffers; 3088 uint32_t maxPerStageDescriptorSampledImages; 3089 uint32_t maxPerStageDescriptorStorageImages; 3090 uint32_t maxPerStageDescriptorInputAttachments; 3091 uint32_t maxPerStageResources; 3092 uint32_t maxDescriptorSetSamplers; 3093 uint32_t maxDescriptorSetUniformBuffers; 3094 uint32_t maxDescriptorSetUniformBuffersDynamic; 3095 uint32_t maxDescriptorSetStorageBuffers; 3096 uint32_t maxDescriptorSetStorageBuffersDynamic; 3097 uint32_t maxDescriptorSetSampledImages; 3098 uint32_t maxDescriptorSetStorageImages; 3099 uint32_t maxDescriptorSetInputAttachments; 3100 uint32_t maxVertexInputAttributes; 3101 uint32_t maxVertexInputBindings; 3102 uint32_t maxVertexInputAttributeOffset; 3103 uint32_t maxVertexInputBindingStride; 3104 uint32_t maxVertexOutputComponents; 3105 uint32_t maxTessellationGenerationLevel; 3106 uint32_t maxTessellationPatchSize; 3107 uint32_t maxTessellationControlPerVertexInputComponents; 3108 uint32_t maxTessellationControlPerVertexOutputComponents; 3109 uint32_t maxTessellationControlPerPatchOutputComponents; 3110 uint32_t maxTessellationControlTotalOutputComponents; 3111 uint32_t maxTessellationEvaluationInputComponents; 3112 uint32_t maxTessellationEvaluationOutputComponents; 3113 uint32_t maxGeometryShaderInvocations; 3114 uint32_t maxGeometryInputComponents; 3115 uint32_t maxGeometryOutputComponents; 3116 uint32_t maxGeometryOutputVertices; 3117 uint32_t maxGeometryTotalOutputComponents; 3118 uint32_t maxFragmentInputComponents; 3119 uint32_t maxFragmentOutputAttachments; 3120 uint32_t maxFragmentDualSrcAttachments; 3121 uint32_t maxFragmentCombinedOutputResources; 3122 uint32_t maxComputeSharedMemorySize; 3123 uint32_t maxComputeWorkGroupCount[3]; 3124 uint32_t maxComputeWorkGroupInvocations; 3125 uint32_t maxComputeWorkGroupSize[3]; 3126 uint32_t subPixelPrecisionBits; 3127 uint32_t subTexelPrecisionBits; 3128 uint32_t mipmapPrecisionBits; 3129 uint32_t maxDrawIndexedIndexValue; 3130 uint32_t maxDrawIndirectCount; 3131 float maxSamplerLodBias; 3132 float maxSamplerAnisotropy; 3133 uint32_t maxViewports; 3134 uint32_t maxViewportDimensions[2]; 3135 float viewportBoundsRange[2]; 3136 uint32_t viewportSubPixelBits; 3137 size_t minMemoryMapAlignment; 3138 VkDeviceSize minTexelBufferOffsetAlignment; 3139 VkDeviceSize minUniformBufferOffsetAlignment; 3140 VkDeviceSize minStorageBufferOffsetAlignment; 3141 int32_t minTexelOffset; 3142 uint32_t maxTexelOffset; 3143 int32_t minTexelGatherOffset; 3144 uint32_t maxTexelGatherOffset; 3145 float minInterpolationOffset; 3146 float maxInterpolationOffset; 3147 uint32_t subPixelInterpolationOffsetBits; 3148 uint32_t maxFramebufferWidth; 3149 uint32_t maxFramebufferHeight; 3150 uint32_t maxFramebufferLayers; 3151 VkSampleCountFlags framebufferColorSampleCounts; 3152 VkSampleCountFlags framebufferDepthSampleCounts; 3153 VkSampleCountFlags framebufferStencilSampleCounts; 3154 VkSampleCountFlags framebufferNoAttachmentsSampleCounts; 3155 uint32_t maxColorAttachments; 3156 VkSampleCountFlags sampledImageColorSampleCounts; 3157 VkSampleCountFlags sampledImageIntegerSampleCounts; 3158 VkSampleCountFlags sampledImageDepthSampleCounts; 3159 VkSampleCountFlags sampledImageStencilSampleCounts; 3160 VkSampleCountFlags storageImageSampleCounts; 3161 uint32_t maxSampleMaskWords; 3162 VkBool32 timestampComputeAndGraphics; 3163 float timestampPeriod; 3164 uint32_t maxClipDistances; 3165 uint32_t maxCullDistances; 3166 uint32_t maxCombinedClipAndCullDistances; 3167 uint32_t discreteQueuePriorities; 3168 float pointSizeRange[2]; 3169 float lineWidthRange[2]; 3170 float pointSizeGranularity; 3171 float lineWidthGranularity; 3172 VkBool32 strictLines; 3173 VkBool32 standardSampleLocations; 3174 VkDeviceSize optimalBufferCopyOffsetAlignment; 3175 VkDeviceSize optimalBufferCopyRowPitchAlignment; 3176 VkDeviceSize nonCoherentAtomSize; 3177 } VkPhysicalDeviceLimits; 3178 3179 typedef struct VkPhysicalDeviceMemoryProperties { 3180 uint32_t memoryTypeCount; 3181 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES]; 3182 uint32_t memoryHeapCount; 3183 VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS]; 3184 } VkPhysicalDeviceMemoryProperties; 3185 3186 typedef struct VkPhysicalDeviceSparseProperties { 3187 VkBool32 residencyStandard2DBlockShape; 3188 VkBool32 residencyStandard2DMultisampleBlockShape; 3189 VkBool32 residencyStandard3DBlockShape; 3190 VkBool32 residencyAlignedMipSize; 3191 VkBool32 residencyNonResidentStrict; 3192 } VkPhysicalDeviceSparseProperties; 3193 3194 typedef struct VkPhysicalDeviceProperties { 3195 uint32_t apiVersion; 3196 uint32_t driverVersion; 3197 uint32_t vendorID; 3198 uint32_t deviceID; 3199 VkPhysicalDeviceType deviceType; 3200 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE]; 3201 uint8_t pipelineCacheUUID[VK_UUID_SIZE]; 3202 VkPhysicalDeviceLimits limits; 3203 VkPhysicalDeviceSparseProperties sparseProperties; 3204 } VkPhysicalDeviceProperties; 3205 3206 typedef struct VkQueueFamilyProperties { 3207 VkQueueFlags queueFlags; 3208 uint32_t queueCount; 3209 uint32_t timestampValidBits; 3210 VkExtent3D minImageTransferGranularity; 3211 } VkQueueFamilyProperties; 3212 3213 typedef struct VkDeviceQueueCreateInfo { 3214 VkStructureType sType; 3215 const void* pNext; 3216 VkDeviceQueueCreateFlags flags; 3217 uint32_t queueFamilyIndex; 3218 uint32_t queueCount; 3219 const float* pQueuePriorities; 3220 } VkDeviceQueueCreateInfo; 3221 3222 typedef struct VkDeviceCreateInfo { 3223 VkStructureType sType; 3224 const void* pNext; 3225 VkDeviceCreateFlags flags; 3226 uint32_t queueCreateInfoCount; 3227 const VkDeviceQueueCreateInfo* pQueueCreateInfos; 3228 uint32_t enabledLayerCount; 3229 const char* const* ppEnabledLayerNames; 3230 uint32_t enabledExtensionCount; 3231 const char* const* ppEnabledExtensionNames; 3232 const VkPhysicalDeviceFeatures* pEnabledFeatures; 3233 } VkDeviceCreateInfo; 3234 3235 typedef struct VkExtensionProperties { 3236 char extensionName[VK_MAX_EXTENSION_NAME_SIZE]; 3237 uint32_t specVersion; 3238 } VkExtensionProperties; 3239 3240 typedef struct VkLayerProperties { 3241 char layerName[VK_MAX_EXTENSION_NAME_SIZE]; 3242 uint32_t specVersion; 3243 uint32_t implementationVersion; 3244 char description[VK_MAX_DESCRIPTION_SIZE]; 3245 } VkLayerProperties; 3246 3247 typedef struct VkSubmitInfo { 3248 VkStructureType sType; 3249 const void* pNext; 3250 uint32_t waitSemaphoreCount; 3251 const VkSemaphore* pWaitSemaphores; 3252 const VkPipelineStageFlags* pWaitDstStageMask; 3253 uint32_t commandBufferCount; 3254 const VkCommandBuffer* pCommandBuffers; 3255 uint32_t signalSemaphoreCount; 3256 const VkSemaphore* pSignalSemaphores; 3257 } VkSubmitInfo; 3258 3259 typedef struct VkMappedMemoryRange { 3260 VkStructureType sType; 3261 const void* pNext; 3262 VkDeviceMemory memory; 3263 VkDeviceSize offset; 3264 VkDeviceSize size; 3265 } VkMappedMemoryRange; 3266 3267 typedef struct VkMemoryAllocateInfo { 3268 VkStructureType sType; 3269 const void* pNext; 3270 VkDeviceSize allocationSize; 3271 uint32_t memoryTypeIndex; 3272 } VkMemoryAllocateInfo; 3273 3274 typedef struct VkMemoryRequirements { 3275 VkDeviceSize size; 3276 VkDeviceSize alignment; 3277 uint32_t memoryTypeBits; 3278 } VkMemoryRequirements; 3279 3280 typedef struct VkSparseMemoryBind { 3281 VkDeviceSize resourceOffset; 3282 VkDeviceSize size; 3283 VkDeviceMemory memory; 3284 VkDeviceSize memoryOffset; 3285 VkSparseMemoryBindFlags flags; 3286 } VkSparseMemoryBind; 3287 3288 typedef struct VkSparseBufferMemoryBindInfo { 3289 VkBuffer buffer; 3290 uint32_t bindCount; 3291 const VkSparseMemoryBind* pBinds; 3292 } VkSparseBufferMemoryBindInfo; 3293 3294 typedef struct VkSparseImageOpaqueMemoryBindInfo { 3295 VkImage image; 3296 uint32_t bindCount; 3297 const VkSparseMemoryBind* pBinds; 3298 } VkSparseImageOpaqueMemoryBindInfo; 3299 3300 typedef struct VkImageSubresource { 3301 VkImageAspectFlags aspectMask; 3302 uint32_t mipLevel; 3303 uint32_t arrayLayer; 3304 } VkImageSubresource; 3305 3306 typedef struct VkSparseImageMemoryBind { 3307 VkImageSubresource subresource; 3308 VkOffset3D offset; 3309 VkExtent3D extent; 3310 VkDeviceMemory memory; 3311 VkDeviceSize memoryOffset; 3312 VkSparseMemoryBindFlags flags; 3313 } VkSparseImageMemoryBind; 3314 3315 typedef struct VkSparseImageMemoryBindInfo { 3316 VkImage image; 3317 uint32_t bindCount; 3318 const VkSparseImageMemoryBind* pBinds; 3319 } VkSparseImageMemoryBindInfo; 3320 3321 typedef struct VkBindSparseInfo { 3322 VkStructureType sType; 3323 const void* pNext; 3324 uint32_t waitSemaphoreCount; 3325 const VkSemaphore* pWaitSemaphores; 3326 uint32_t bufferBindCount; 3327 const VkSparseBufferMemoryBindInfo* pBufferBinds; 3328 uint32_t imageOpaqueBindCount; 3329 const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds; 3330 uint32_t imageBindCount; 3331 const VkSparseImageMemoryBindInfo* pImageBinds; 3332 uint32_t signalSemaphoreCount; 3333 const VkSemaphore* pSignalSemaphores; 3334 } VkBindSparseInfo; 3335 3336 typedef struct VkSparseImageFormatProperties { 3337 VkImageAspectFlags aspectMask; 3338 VkExtent3D imageGranularity; 3339 VkSparseImageFormatFlags flags; 3340 } VkSparseImageFormatProperties; 3341 3342 typedef struct VkSparseImageMemoryRequirements { 3343 VkSparseImageFormatProperties formatProperties; 3344 uint32_t imageMipTailFirstLod; 3345 VkDeviceSize imageMipTailSize; 3346 VkDeviceSize imageMipTailOffset; 3347 VkDeviceSize imageMipTailStride; 3348 } VkSparseImageMemoryRequirements; 3349 3350 typedef struct VkFenceCreateInfo { 3351 VkStructureType sType; 3352 const void* pNext; 3353 VkFenceCreateFlags flags; 3354 } VkFenceCreateInfo; 3355 3356 typedef struct VkSemaphoreCreateInfo { 3357 VkStructureType sType; 3358 const void* pNext; 3359 VkSemaphoreCreateFlags flags; 3360 } VkSemaphoreCreateInfo; 3361 3362 typedef struct VkEventCreateInfo { 3363 VkStructureType sType; 3364 const void* pNext; 3365 VkEventCreateFlags flags; 3366 } VkEventCreateInfo; 3367 3368 typedef struct VkQueryPoolCreateInfo { 3369 VkStructureType sType; 3370 const void* pNext; 3371 VkQueryPoolCreateFlags flags; 3372 VkQueryType queryType; 3373 uint32_t queryCount; 3374 VkQueryPipelineStatisticFlags pipelineStatistics; 3375 } VkQueryPoolCreateInfo; 3376 3377 typedef struct VkBufferCreateInfo { 3378 VkStructureType sType; 3379 const void* pNext; 3380 VkBufferCreateFlags flags; 3381 VkDeviceSize size; 3382 VkBufferUsageFlags usage; 3383 VkSharingMode sharingMode; 3384 uint32_t queueFamilyIndexCount; 3385 const uint32_t* pQueueFamilyIndices; 3386 } VkBufferCreateInfo; 3387 3388 typedef struct VkBufferViewCreateInfo { 3389 VkStructureType sType; 3390 const void* pNext; 3391 VkBufferViewCreateFlags flags; 3392 VkBuffer buffer; 3393 VkFormat format; 3394 VkDeviceSize offset; 3395 VkDeviceSize range; 3396 } VkBufferViewCreateInfo; 3397 3398 typedef struct VkImageCreateInfo { 3399 VkStructureType sType; 3400 const void* pNext; 3401 VkImageCreateFlags flags; 3402 VkImageType imageType; 3403 VkFormat format; 3404 VkExtent3D extent; 3405 uint32_t mipLevels; 3406 uint32_t arrayLayers; 3407 VkSampleCountFlagBits samples; 3408 VkImageTiling tiling; 3409 VkImageUsageFlags usage; 3410 VkSharingMode sharingMode; 3411 uint32_t queueFamilyIndexCount; 3412 const uint32_t* pQueueFamilyIndices; 3413 VkImageLayout initialLayout; 3414 } VkImageCreateInfo; 3415 3416 typedef struct VkSubresourceLayout { 3417 VkDeviceSize offset; 3418 VkDeviceSize size; 3419 VkDeviceSize rowPitch; 3420 VkDeviceSize arrayPitch; 3421 VkDeviceSize depthPitch; 3422 } VkSubresourceLayout; 3423 3424 typedef struct VkComponentMapping { 3425 VkComponentSwizzle r; 3426 VkComponentSwizzle g; 3427 VkComponentSwizzle b; 3428 VkComponentSwizzle a; 3429 } VkComponentMapping; 3430 3431 typedef struct VkImageViewCreateInfo { 3432 VkStructureType sType; 3433 const void* pNext; 3434 VkImageViewCreateFlags flags; 3435 VkImage image; 3436 VkImageViewType viewType; 3437 VkFormat format; 3438 VkComponentMapping components; 3439 VkImageSubresourceRange subresourceRange; 3440 } VkImageViewCreateInfo; 3441 3442 typedef struct VkShaderModuleCreateInfo { 3443 VkStructureType sType; 3444 const void* pNext; 3445 VkShaderModuleCreateFlags flags; 3446 size_t codeSize; 3447 const uint32_t* pCode; 3448 } VkShaderModuleCreateInfo; 3449 3450 typedef struct VkPipelineCacheCreateInfo { 3451 VkStructureType sType; 3452 const void* pNext; 3453 VkPipelineCacheCreateFlags flags; 3454 size_t initialDataSize; 3455 const void* pInitialData; 3456 } VkPipelineCacheCreateInfo; 3457 3458 typedef struct VkSpecializationMapEntry { 3459 uint32_t constantID; 3460 uint32_t offset; 3461 size_t size; 3462 } VkSpecializationMapEntry; 3463 3464 typedef struct VkSpecializationInfo { 3465 uint32_t mapEntryCount; 3466 const VkSpecializationMapEntry* pMapEntries; 3467 size_t dataSize; 3468 const void* pData; 3469 } VkSpecializationInfo; 3470 3471 typedef struct VkPipelineShaderStageCreateInfo { 3472 VkStructureType sType; 3473 const void* pNext; 3474 VkPipelineShaderStageCreateFlags flags; 3475 VkShaderStageFlagBits stage; 3476 VkShaderModule module; 3477 const char* pName; 3478 const VkSpecializationInfo* pSpecializationInfo; 3479 } VkPipelineShaderStageCreateInfo; 3480 3481 typedef struct VkComputePipelineCreateInfo { 3482 VkStructureType sType; 3483 const void* pNext; 3484 VkPipelineCreateFlags flags; 3485 VkPipelineShaderStageCreateInfo stage; 3486 VkPipelineLayout layout; 3487 VkPipeline basePipelineHandle; 3488 int32_t basePipelineIndex; 3489 } VkComputePipelineCreateInfo; 3490 3491 typedef struct VkVertexInputBindingDescription { 3492 uint32_t binding; 3493 uint32_t stride; 3494 VkVertexInputRate inputRate; 3495 } VkVertexInputBindingDescription; 3496 3497 typedef struct VkVertexInputAttributeDescription { 3498 uint32_t location; 3499 uint32_t binding; 3500 VkFormat format; 3501 uint32_t offset; 3502 } VkVertexInputAttributeDescription; 3503 3504 typedef struct VkPipelineVertexInputStateCreateInfo { 3505 VkStructureType sType; 3506 const void* pNext; 3507 VkPipelineVertexInputStateCreateFlags flags; 3508 uint32_t vertexBindingDescriptionCount; 3509 const VkVertexInputBindingDescription* pVertexBindingDescriptions; 3510 uint32_t vertexAttributeDescriptionCount; 3511 const VkVertexInputAttributeDescription* pVertexAttributeDescriptions; 3512 } VkPipelineVertexInputStateCreateInfo; 3513 3514 typedef struct VkPipelineInputAssemblyStateCreateInfo { 3515 VkStructureType sType; 3516 const void* pNext; 3517 VkPipelineInputAssemblyStateCreateFlags flags; 3518 VkPrimitiveTopology topology; 3519 VkBool32 primitiveRestartEnable; 3520 } VkPipelineInputAssemblyStateCreateInfo; 3521 3522 typedef struct VkPipelineTessellationStateCreateInfo { 3523 VkStructureType sType; 3524 const void* pNext; 3525 VkPipelineTessellationStateCreateFlags flags; 3526 uint32_t patchControlPoints; 3527 } VkPipelineTessellationStateCreateInfo; 3528 3529 typedef struct VkViewport { 3530 float x; 3531 float y; 3532 float width; 3533 float height; 3534 float minDepth; 3535 float maxDepth; 3536 } VkViewport; 3537 3538 typedef struct VkPipelineViewportStateCreateInfo { 3539 VkStructureType sType; 3540 const void* pNext; 3541 VkPipelineViewportStateCreateFlags flags; 3542 uint32_t viewportCount; 3543 const VkViewport* pViewports; 3544 uint32_t scissorCount; 3545 const VkRect2D* pScissors; 3546 } VkPipelineViewportStateCreateInfo; 3547 3548 typedef struct VkPipelineRasterizationStateCreateInfo { 3549 VkStructureType sType; 3550 const void* pNext; 3551 VkPipelineRasterizationStateCreateFlags flags; 3552 VkBool32 depthClampEnable; 3553 VkBool32 rasterizerDiscardEnable; 3554 VkPolygonMode polygonMode; 3555 VkCullModeFlags cullMode; 3556 VkFrontFace frontFace; 3557 VkBool32 depthBiasEnable; 3558 float depthBiasConstantFactor; 3559 float depthBiasClamp; 3560 float depthBiasSlopeFactor; 3561 float lineWidth; 3562 } VkPipelineRasterizationStateCreateInfo; 3563 3564 typedef struct VkPipelineMultisampleStateCreateInfo { 3565 VkStructureType sType; 3566 const void* pNext; 3567 VkPipelineMultisampleStateCreateFlags flags; 3568 VkSampleCountFlagBits rasterizationSamples; 3569 VkBool32 sampleShadingEnable; 3570 float minSampleShading; 3571 const VkSampleMask* pSampleMask; 3572 VkBool32 alphaToCoverageEnable; 3573 VkBool32 alphaToOneEnable; 3574 } VkPipelineMultisampleStateCreateInfo; 3575 3576 typedef struct VkStencilOpState { 3577 VkStencilOp failOp; 3578 VkStencilOp passOp; 3579 VkStencilOp depthFailOp; 3580 VkCompareOp compareOp; 3581 uint32_t compareMask; 3582 uint32_t writeMask; 3583 uint32_t reference; 3584 } VkStencilOpState; 3585 3586 typedef struct VkPipelineDepthStencilStateCreateInfo { 3587 VkStructureType sType; 3588 const void* pNext; 3589 VkPipelineDepthStencilStateCreateFlags flags; 3590 VkBool32 depthTestEnable; 3591 VkBool32 depthWriteEnable; 3592 VkCompareOp depthCompareOp; 3593 VkBool32 depthBoundsTestEnable; 3594 VkBool32 stencilTestEnable; 3595 VkStencilOpState front; 3596 VkStencilOpState back; 3597 float minDepthBounds; 3598 float maxDepthBounds; 3599 } VkPipelineDepthStencilStateCreateInfo; 3600 3601 typedef struct VkPipelineColorBlendAttachmentState { 3602 VkBool32 blendEnable; 3603 VkBlendFactor srcColorBlendFactor; 3604 VkBlendFactor dstColorBlendFactor; 3605 VkBlendOp colorBlendOp; 3606 VkBlendFactor srcAlphaBlendFactor; 3607 VkBlendFactor dstAlphaBlendFactor; 3608 VkBlendOp alphaBlendOp; 3609 VkColorComponentFlags colorWriteMask; 3610 } VkPipelineColorBlendAttachmentState; 3611 3612 typedef struct VkPipelineColorBlendStateCreateInfo { 3613 VkStructureType sType; 3614 const void* pNext; 3615 VkPipelineColorBlendStateCreateFlags flags; 3616 VkBool32 logicOpEnable; 3617 VkLogicOp logicOp; 3618 uint32_t attachmentCount; 3619 const VkPipelineColorBlendAttachmentState* pAttachments; 3620 float blendConstants[4]; 3621 } VkPipelineColorBlendStateCreateInfo; 3622 3623 typedef struct VkPipelineDynamicStateCreateInfo { 3624 VkStructureType sType; 3625 const void* pNext; 3626 VkPipelineDynamicStateCreateFlags flags; 3627 uint32_t dynamicStateCount; 3628 const VkDynamicState* pDynamicStates; 3629 } VkPipelineDynamicStateCreateInfo; 3630 3631 typedef struct VkGraphicsPipelineCreateInfo { 3632 VkStructureType sType; 3633 const void* pNext; 3634 VkPipelineCreateFlags flags; 3635 uint32_t stageCount; 3636 const VkPipelineShaderStageCreateInfo* pStages; 3637 const VkPipelineVertexInputStateCreateInfo* pVertexInputState; 3638 const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState; 3639 const VkPipelineTessellationStateCreateInfo* pTessellationState; 3640 const VkPipelineViewportStateCreateInfo* pViewportState; 3641 const VkPipelineRasterizationStateCreateInfo* pRasterizationState; 3642 const VkPipelineMultisampleStateCreateInfo* pMultisampleState; 3643 const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState; 3644 const VkPipelineColorBlendStateCreateInfo* pColorBlendState; 3645 const VkPipelineDynamicStateCreateInfo* pDynamicState; 3646 VkPipelineLayout layout; 3647 VkRenderPass renderPass; 3648 uint32_t subpass; 3649 VkPipeline basePipelineHandle; 3650 int32_t basePipelineIndex; 3651 } VkGraphicsPipelineCreateInfo; 3652 3653 typedef struct VkPushConstantRange { 3654 VkShaderStageFlags stageFlags; 3655 uint32_t offset; 3656 uint32_t size; 3657 } VkPushConstantRange; 3658 3659 typedef struct VkPipelineLayoutCreateInfo { 3660 VkStructureType sType; 3661 const void* pNext; 3662 VkPipelineLayoutCreateFlags flags; 3663 uint32_t setLayoutCount; 3664 const VkDescriptorSetLayout* pSetLayouts; 3665 uint32_t pushConstantRangeCount; 3666 const VkPushConstantRange* pPushConstantRanges; 3667 } VkPipelineLayoutCreateInfo; 3668 3669 typedef struct VkSamplerCreateInfo { 3670 VkStructureType sType; 3671 const void* pNext; 3672 VkSamplerCreateFlags flags; 3673 VkFilter magFilter; 3674 VkFilter minFilter; 3675 VkSamplerMipmapMode mipmapMode; 3676 VkSamplerAddressMode addressModeU; 3677 VkSamplerAddressMode addressModeV; 3678 VkSamplerAddressMode addressModeW; 3679 float mipLodBias; 3680 VkBool32 anisotropyEnable; 3681 float maxAnisotropy; 3682 VkBool32 compareEnable; 3683 VkCompareOp compareOp; 3684 float minLod; 3685 float maxLod; 3686 VkBorderColor borderColor; 3687 VkBool32 unnormalizedCoordinates; 3688 } VkSamplerCreateInfo; 3689 3690 typedef struct VkCopyDescriptorSet { 3691 VkStructureType sType; 3692 const void* pNext; 3693 VkDescriptorSet srcSet; 3694 uint32_t srcBinding; 3695 uint32_t srcArrayElement; 3696 VkDescriptorSet dstSet; 3697 uint32_t dstBinding; 3698 uint32_t dstArrayElement; 3699 uint32_t descriptorCount; 3700 } VkCopyDescriptorSet; 3701 3702 typedef struct VkDescriptorBufferInfo { 3703 VkBuffer buffer; 3704 VkDeviceSize offset; 3705 VkDeviceSize range; 3706 } VkDescriptorBufferInfo; 3707 3708 typedef struct VkDescriptorImageInfo { 3709 VkSampler sampler; 3710 VkImageView imageView; 3711 VkImageLayout imageLayout; 3712 } VkDescriptorImageInfo; 3713 3714 typedef struct VkDescriptorPoolSize { 3715 VkDescriptorType type; 3716 uint32_t descriptorCount; 3717 } VkDescriptorPoolSize; 3718 3719 typedef struct VkDescriptorPoolCreateInfo { 3720 VkStructureType sType; 3721 const void* pNext; 3722 VkDescriptorPoolCreateFlags flags; 3723 uint32_t maxSets; 3724 uint32_t poolSizeCount; 3725 const VkDescriptorPoolSize* pPoolSizes; 3726 } VkDescriptorPoolCreateInfo; 3727 3728 typedef struct VkDescriptorSetAllocateInfo { 3729 VkStructureType sType; 3730 const void* pNext; 3731 VkDescriptorPool descriptorPool; 3732 uint32_t descriptorSetCount; 3733 const VkDescriptorSetLayout* pSetLayouts; 3734 } VkDescriptorSetAllocateInfo; 3735 3736 typedef struct VkDescriptorSetLayoutBinding { 3737 uint32_t binding; 3738 VkDescriptorType descriptorType; 3739 uint32_t descriptorCount; 3740 VkShaderStageFlags stageFlags; 3741 const VkSampler* pImmutableSamplers; 3742 } VkDescriptorSetLayoutBinding; 3743 3744 typedef struct VkDescriptorSetLayoutCreateInfo { 3745 VkStructureType sType; 3746 const void* pNext; 3747 VkDescriptorSetLayoutCreateFlags flags; 3748 uint32_t bindingCount; 3749 const VkDescriptorSetLayoutBinding* pBindings; 3750 } VkDescriptorSetLayoutCreateInfo; 3751 3752 typedef struct VkWriteDescriptorSet { 3753 VkStructureType sType; 3754 const void* pNext; 3755 VkDescriptorSet dstSet; 3756 uint32_t dstBinding; 3757 uint32_t dstArrayElement; 3758 uint32_t descriptorCount; 3759 VkDescriptorType descriptorType; 3760 const VkDescriptorImageInfo* pImageInfo; 3761 const VkDescriptorBufferInfo* pBufferInfo; 3762 const VkBufferView* pTexelBufferView; 3763 } VkWriteDescriptorSet; 3764 3765 typedef struct VkAttachmentDescription { 3766 VkAttachmentDescriptionFlags flags; 3767 VkFormat format; 3768 VkSampleCountFlagBits samples; 3769 VkAttachmentLoadOp loadOp; 3770 VkAttachmentStoreOp storeOp; 3771 VkAttachmentLoadOp stencilLoadOp; 3772 VkAttachmentStoreOp stencilStoreOp; 3773 VkImageLayout initialLayout; 3774 VkImageLayout finalLayout; 3775 } VkAttachmentDescription; 3776 3777 typedef struct VkAttachmentReference { 3778 uint32_t attachment; 3779 VkImageLayout layout; 3780 } VkAttachmentReference; 3781 3782 typedef struct VkFramebufferCreateInfo { 3783 VkStructureType sType; 3784 const void* pNext; 3785 VkFramebufferCreateFlags flags; 3786 VkRenderPass renderPass; 3787 uint32_t attachmentCount; 3788 const VkImageView* pAttachments; 3789 uint32_t width; 3790 uint32_t height; 3791 uint32_t layers; 3792 } VkFramebufferCreateInfo; 3793 3794 typedef struct VkSubpassDescription { 3795 VkSubpassDescriptionFlags flags; 3796 VkPipelineBindPoint pipelineBindPoint; 3797 uint32_t inputAttachmentCount; 3798 const VkAttachmentReference* pInputAttachments; 3799 uint32_t colorAttachmentCount; 3800 const VkAttachmentReference* pColorAttachments; 3801 const VkAttachmentReference* pResolveAttachments; 3802 const VkAttachmentReference* pDepthStencilAttachment; 3803 uint32_t preserveAttachmentCount; 3804 const uint32_t* pPreserveAttachments; 3805 } VkSubpassDescription; 3806 3807 typedef struct VkSubpassDependency { 3808 uint32_t srcSubpass; 3809 uint32_t dstSubpass; 3810 VkPipelineStageFlags srcStageMask; 3811 VkPipelineStageFlags dstStageMask; 3812 VkAccessFlags srcAccessMask; 3813 VkAccessFlags dstAccessMask; 3814 VkDependencyFlags dependencyFlags; 3815 } VkSubpassDependency; 3816 3817 typedef struct VkRenderPassCreateInfo { 3818 VkStructureType sType; 3819 const void* pNext; 3820 VkRenderPassCreateFlags flags; 3821 uint32_t attachmentCount; 3822 const VkAttachmentDescription* pAttachments; 3823 uint32_t subpassCount; 3824 const VkSubpassDescription* pSubpasses; 3825 uint32_t dependencyCount; 3826 const VkSubpassDependency* pDependencies; 3827 } VkRenderPassCreateInfo; 3828 3829 typedef struct VkCommandPoolCreateInfo { 3830 VkStructureType sType; 3831 const void* pNext; 3832 VkCommandPoolCreateFlags flags; 3833 uint32_t queueFamilyIndex; 3834 } VkCommandPoolCreateInfo; 3835 3836 typedef struct VkCommandBufferAllocateInfo { 3837 VkStructureType sType; 3838 const void* pNext; 3839 VkCommandPool commandPool; 3840 VkCommandBufferLevel level; 3841 uint32_t commandBufferCount; 3842 } VkCommandBufferAllocateInfo; 3843 3844 typedef struct VkCommandBufferInheritanceInfo { 3845 VkStructureType sType; 3846 const void* pNext; 3847 VkRenderPass renderPass; 3848 uint32_t subpass; 3849 VkFramebuffer framebuffer; 3850 VkBool32 occlusionQueryEnable; 3851 VkQueryControlFlags queryFlags; 3852 VkQueryPipelineStatisticFlags pipelineStatistics; 3853 } VkCommandBufferInheritanceInfo; 3854 3855 typedef struct VkCommandBufferBeginInfo { 3856 VkStructureType sType; 3857 const void* pNext; 3858 VkCommandBufferUsageFlags flags; 3859 const VkCommandBufferInheritanceInfo* pInheritanceInfo; 3860 } VkCommandBufferBeginInfo; 3861 3862 typedef struct VkBufferCopy { 3863 VkDeviceSize srcOffset; 3864 VkDeviceSize dstOffset; 3865 VkDeviceSize size; 3866 } VkBufferCopy; 3867 3868 typedef struct VkImageSubresourceLayers { 3869 VkImageAspectFlags aspectMask; 3870 uint32_t mipLevel; 3871 uint32_t baseArrayLayer; 3872 uint32_t layerCount; 3873 } VkImageSubresourceLayers; 3874 3875 typedef struct VkBufferImageCopy { 3876 VkDeviceSize bufferOffset; 3877 uint32_t bufferRowLength; 3878 uint32_t bufferImageHeight; 3879 VkImageSubresourceLayers imageSubresource; 3880 VkOffset3D imageOffset; 3881 VkExtent3D imageExtent; 3882 } VkBufferImageCopy; 3883 3884 typedef union VkClearColorValue { 3885 float float32[4]; 3886 int32_t int32[4]; 3887 uint32_t uint32[4]; 3888 } VkClearColorValue; 3889 3890 typedef struct VkClearDepthStencilValue { 3891 float depth; 3892 uint32_t stencil; 3893 } VkClearDepthStencilValue; 3894 3895 typedef union VkClearValue { 3896 VkClearColorValue color; 3897 VkClearDepthStencilValue depthStencil; 3898 } VkClearValue; 3899 3900 typedef struct VkClearAttachment { 3901 VkImageAspectFlags aspectMask; 3902 uint32_t colorAttachment; 3903 VkClearValue clearValue; 3904 } VkClearAttachment; 3905 3906 typedef struct VkClearRect { 3907 VkRect2D rect; 3908 uint32_t baseArrayLayer; 3909 uint32_t layerCount; 3910 } VkClearRect; 3911 3912 typedef struct VkImageBlit { 3913 VkImageSubresourceLayers srcSubresource; 3914 VkOffset3D srcOffsets[2]; 3915 VkImageSubresourceLayers dstSubresource; 3916 VkOffset3D dstOffsets[2]; 3917 } VkImageBlit; 3918 3919 typedef struct VkImageCopy { 3920 VkImageSubresourceLayers srcSubresource; 3921 VkOffset3D srcOffset; 3922 VkImageSubresourceLayers dstSubresource; 3923 VkOffset3D dstOffset; 3924 VkExtent3D extent; 3925 } VkImageCopy; 3926 3927 typedef struct VkImageResolve { 3928 VkImageSubresourceLayers srcSubresource; 3929 VkOffset3D srcOffset; 3930 VkImageSubresourceLayers dstSubresource; 3931 VkOffset3D dstOffset; 3932 VkExtent3D extent; 3933 } VkImageResolve; 3934 3935 typedef struct VkRenderPassBeginInfo { 3936 VkStructureType sType; 3937 const void* pNext; 3938 VkRenderPass renderPass; 3939 VkFramebuffer framebuffer; 3940 VkRect2D renderArea; 3941 uint32_t clearValueCount; 3942 const VkClearValue* pClearValues; 3943 } VkRenderPassBeginInfo; 3944 3945 typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance); 3946 typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator); 3947 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices); 3948 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures); 3949 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties); 3950 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties); 3951 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties); 3952 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties); 3953 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties); 3954 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName); 3955 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName); 3956 typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice); 3957 typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator); 3958 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties); 3959 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties); 3960 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(uint32_t* pPropertyCount, VkLayerProperties* pProperties); 3961 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties); 3962 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue); 3963 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence); 3964 typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue); 3965 typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device); 3966 typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory); 3967 typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator); 3968 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData); 3969 typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory); 3970 typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges); 3971 typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges); 3972 typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes); 3973 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset); 3974 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset); 3975 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements); 3976 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements); 3977 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements); 3978 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties); 3979 typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence); 3980 typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); 3981 typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator); 3982 typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences); 3983 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence); 3984 typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout); 3985 typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore); 3986 typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator); 3987 typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent); 3988 typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator); 3989 typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event); 3990 typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event); 3991 typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event); 3992 typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool); 3993 typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator); 3994 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); 3995 typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer); 3996 typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator); 3997 typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView); 3998 typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator); 3999 typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage); 4000 typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator); 4001 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout); 4002 typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView); 4003 typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator); 4004 typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule); 4005 typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator); 4006 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache); 4007 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator); 4008 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData); 4009 typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches); 4010 typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 4011 typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 4012 typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator); 4013 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout); 4014 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator); 4015 typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler); 4016 typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator); 4017 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout); 4018 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator); 4019 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool); 4020 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator); 4021 typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags); 4022 typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets); 4023 typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets); 4024 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies); 4025 typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer); 4026 typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator); 4027 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); 4028 typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator); 4029 typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity); 4030 typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool); 4031 typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator); 4032 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags); 4033 typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers); 4034 typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers); 4035 typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo); 4036 typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer); 4037 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags); 4038 typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline); 4039 typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports); 4040 typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors); 4041 typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth); 4042 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor); 4043 typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]); 4044 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds); 4045 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask); 4046 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask); 4047 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference); 4048 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); 4049 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType); 4050 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets); 4051 typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance); 4052 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance); 4053 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); 4054 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); 4055 typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ); 4056 typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset); 4057 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions); 4058 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions); 4059 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter); 4060 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions); 4061 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions); 4062 typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData); 4063 typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data); 4064 typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); 4065 typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); 4066 typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects); 4067 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions); 4068 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask); 4069 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask); 4070 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); 4071 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); 4072 typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags); 4073 typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query); 4074 typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount); 4075 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query); 4076 typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags); 4077 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues); 4078 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents); 4079 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents); 4080 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer); 4081 typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers); 4082 4083 #ifndef VK_NO_PROTOTYPES 4084 VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance( 4085 const VkInstanceCreateInfo* pCreateInfo, 4086 const VkAllocationCallbacks* pAllocator, 4087 VkInstance* pInstance); 4088 4089 VKAPI_ATTR void VKAPI_CALL vkDestroyInstance( 4090 VkInstance instance, 4091 const VkAllocationCallbacks* pAllocator); 4092 4093 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices( 4094 VkInstance instance, 4095 uint32_t* pPhysicalDeviceCount, 4096 VkPhysicalDevice* pPhysicalDevices); 4097 4098 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures( 4099 VkPhysicalDevice physicalDevice, 4100 VkPhysicalDeviceFeatures* pFeatures); 4101 4102 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties( 4103 VkPhysicalDevice physicalDevice, 4104 VkFormat format, 4105 VkFormatProperties* pFormatProperties); 4106 4107 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties( 4108 VkPhysicalDevice physicalDevice, 4109 VkFormat format, 4110 VkImageType type, 4111 VkImageTiling tiling, 4112 VkImageUsageFlags usage, 4113 VkImageCreateFlags flags, 4114 VkImageFormatProperties* pImageFormatProperties); 4115 4116 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties( 4117 VkPhysicalDevice physicalDevice, 4118 VkPhysicalDeviceProperties* pProperties); 4119 4120 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties( 4121 VkPhysicalDevice physicalDevice, 4122 uint32_t* pQueueFamilyPropertyCount, 4123 VkQueueFamilyProperties* pQueueFamilyProperties); 4124 4125 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties( 4126 VkPhysicalDevice physicalDevice, 4127 VkPhysicalDeviceMemoryProperties* pMemoryProperties); 4128 4129 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr( 4130 VkInstance instance, 4131 const char* pName); 4132 4133 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr( 4134 VkDevice device, 4135 const char* pName); 4136 4137 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice( 4138 VkPhysicalDevice physicalDevice, 4139 const VkDeviceCreateInfo* pCreateInfo, 4140 const VkAllocationCallbacks* pAllocator, 4141 VkDevice* pDevice); 4142 4143 VKAPI_ATTR void VKAPI_CALL vkDestroyDevice( 4144 VkDevice device, 4145 const VkAllocationCallbacks* pAllocator); 4146 4147 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties( 4148 const char* pLayerName, 4149 uint32_t* pPropertyCount, 4150 VkExtensionProperties* pProperties); 4151 4152 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties( 4153 VkPhysicalDevice physicalDevice, 4154 const char* pLayerName, 4155 uint32_t* pPropertyCount, 4156 VkExtensionProperties* pProperties); 4157 4158 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties( 4159 uint32_t* pPropertyCount, 4160 VkLayerProperties* pProperties); 4161 4162 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties( 4163 VkPhysicalDevice physicalDevice, 4164 uint32_t* pPropertyCount, 4165 VkLayerProperties* pProperties); 4166 4167 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue( 4168 VkDevice device, 4169 uint32_t queueFamilyIndex, 4170 uint32_t queueIndex, 4171 VkQueue* pQueue); 4172 4173 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit( 4174 VkQueue queue, 4175 uint32_t submitCount, 4176 const VkSubmitInfo* pSubmits, 4177 VkFence fence); 4178 4179 VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle( 4180 VkQueue queue); 4181 4182 VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle( 4183 VkDevice device); 4184 4185 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory( 4186 VkDevice device, 4187 const VkMemoryAllocateInfo* pAllocateInfo, 4188 const VkAllocationCallbacks* pAllocator, 4189 VkDeviceMemory* pMemory); 4190 4191 VKAPI_ATTR void VKAPI_CALL vkFreeMemory( 4192 VkDevice device, 4193 VkDeviceMemory memory, 4194 const VkAllocationCallbacks* pAllocator); 4195 4196 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory( 4197 VkDevice device, 4198 VkDeviceMemory memory, 4199 VkDeviceSize offset, 4200 VkDeviceSize size, 4201 VkMemoryMapFlags flags, 4202 void** ppData); 4203 4204 VKAPI_ATTR void VKAPI_CALL vkUnmapMemory( 4205 VkDevice device, 4206 VkDeviceMemory memory); 4207 4208 VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges( 4209 VkDevice device, 4210 uint32_t memoryRangeCount, 4211 const VkMappedMemoryRange* pMemoryRanges); 4212 4213 VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges( 4214 VkDevice device, 4215 uint32_t memoryRangeCount, 4216 const VkMappedMemoryRange* pMemoryRanges); 4217 4218 VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment( 4219 VkDevice device, 4220 VkDeviceMemory memory, 4221 VkDeviceSize* pCommittedMemoryInBytes); 4222 4223 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory( 4224 VkDevice device, 4225 VkBuffer buffer, 4226 VkDeviceMemory memory, 4227 VkDeviceSize memoryOffset); 4228 4229 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory( 4230 VkDevice device, 4231 VkImage image, 4232 VkDeviceMemory memory, 4233 VkDeviceSize memoryOffset); 4234 4235 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements( 4236 VkDevice device, 4237 VkBuffer buffer, 4238 VkMemoryRequirements* pMemoryRequirements); 4239 4240 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements( 4241 VkDevice device, 4242 VkImage image, 4243 VkMemoryRequirements* pMemoryRequirements); 4244 4245 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements( 4246 VkDevice device, 4247 VkImage image, 4248 uint32_t* pSparseMemoryRequirementCount, 4249 VkSparseImageMemoryRequirements* pSparseMemoryRequirements); 4250 4251 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties( 4252 VkPhysicalDevice physicalDevice, 4253 VkFormat format, 4254 VkImageType type, 4255 VkSampleCountFlagBits samples, 4256 VkImageUsageFlags usage, 4257 VkImageTiling tiling, 4258 uint32_t* pPropertyCount, 4259 VkSparseImageFormatProperties* pProperties); 4260 4261 VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse( 4262 VkQueue queue, 4263 uint32_t bindInfoCount, 4264 const VkBindSparseInfo* pBindInfo, 4265 VkFence fence); 4266 4267 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence( 4268 VkDevice device, 4269 const VkFenceCreateInfo* pCreateInfo, 4270 const VkAllocationCallbacks* pAllocator, 4271 VkFence* pFence); 4272 4273 VKAPI_ATTR void VKAPI_CALL vkDestroyFence( 4274 VkDevice device, 4275 VkFence fence, 4276 const VkAllocationCallbacks* pAllocator); 4277 4278 VKAPI_ATTR VkResult VKAPI_CALL vkResetFences( 4279 VkDevice device, 4280 uint32_t fenceCount, 4281 const VkFence* pFences); 4282 4283 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus( 4284 VkDevice device, 4285 VkFence fence); 4286 4287 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences( 4288 VkDevice device, 4289 uint32_t fenceCount, 4290 const VkFence* pFences, 4291 VkBool32 waitAll, 4292 uint64_t timeout); 4293 4294 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore( 4295 VkDevice device, 4296 const VkSemaphoreCreateInfo* pCreateInfo, 4297 const VkAllocationCallbacks* pAllocator, 4298 VkSemaphore* pSemaphore); 4299 4300 VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore( 4301 VkDevice device, 4302 VkSemaphore semaphore, 4303 const VkAllocationCallbacks* pAllocator); 4304 4305 VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent( 4306 VkDevice device, 4307 const VkEventCreateInfo* pCreateInfo, 4308 const VkAllocationCallbacks* pAllocator, 4309 VkEvent* pEvent); 4310 4311 VKAPI_ATTR void VKAPI_CALL vkDestroyEvent( 4312 VkDevice device, 4313 VkEvent event, 4314 const VkAllocationCallbacks* pAllocator); 4315 4316 VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus( 4317 VkDevice device, 4318 VkEvent event); 4319 4320 VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent( 4321 VkDevice device, 4322 VkEvent event); 4323 4324 VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent( 4325 VkDevice device, 4326 VkEvent event); 4327 4328 VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool( 4329 VkDevice device, 4330 const VkQueryPoolCreateInfo* pCreateInfo, 4331 const VkAllocationCallbacks* pAllocator, 4332 VkQueryPool* pQueryPool); 4333 4334 VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool( 4335 VkDevice device, 4336 VkQueryPool queryPool, 4337 const VkAllocationCallbacks* pAllocator); 4338 4339 VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults( 4340 VkDevice device, 4341 VkQueryPool queryPool, 4342 uint32_t firstQuery, 4343 uint32_t queryCount, 4344 size_t dataSize, 4345 void* pData, 4346 VkDeviceSize stride, 4347 VkQueryResultFlags flags); 4348 4349 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer( 4350 VkDevice device, 4351 const VkBufferCreateInfo* pCreateInfo, 4352 const VkAllocationCallbacks* pAllocator, 4353 VkBuffer* pBuffer); 4354 4355 VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer( 4356 VkDevice device, 4357 VkBuffer buffer, 4358 const VkAllocationCallbacks* pAllocator); 4359 4360 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView( 4361 VkDevice device, 4362 const VkBufferViewCreateInfo* pCreateInfo, 4363 const VkAllocationCallbacks* pAllocator, 4364 VkBufferView* pView); 4365 4366 VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView( 4367 VkDevice device, 4368 VkBufferView bufferView, 4369 const VkAllocationCallbacks* pAllocator); 4370 4371 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage( 4372 VkDevice device, 4373 const VkImageCreateInfo* pCreateInfo, 4374 const VkAllocationCallbacks* pAllocator, 4375 VkImage* pImage); 4376 4377 VKAPI_ATTR void VKAPI_CALL vkDestroyImage( 4378 VkDevice device, 4379 VkImage image, 4380 const VkAllocationCallbacks* pAllocator); 4381 4382 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout( 4383 VkDevice device, 4384 VkImage image, 4385 const VkImageSubresource* pSubresource, 4386 VkSubresourceLayout* pLayout); 4387 4388 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView( 4389 VkDevice device, 4390 const VkImageViewCreateInfo* pCreateInfo, 4391 const VkAllocationCallbacks* pAllocator, 4392 VkImageView* pView); 4393 4394 VKAPI_ATTR void VKAPI_CALL vkDestroyImageView( 4395 VkDevice device, 4396 VkImageView imageView, 4397 const VkAllocationCallbacks* pAllocator); 4398 4399 VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule( 4400 VkDevice device, 4401 const VkShaderModuleCreateInfo* pCreateInfo, 4402 const VkAllocationCallbacks* pAllocator, 4403 VkShaderModule* pShaderModule); 4404 4405 VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule( 4406 VkDevice device, 4407 VkShaderModule shaderModule, 4408 const VkAllocationCallbacks* pAllocator); 4409 4410 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache( 4411 VkDevice device, 4412 const VkPipelineCacheCreateInfo* pCreateInfo, 4413 const VkAllocationCallbacks* pAllocator, 4414 VkPipelineCache* pPipelineCache); 4415 4416 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache( 4417 VkDevice device, 4418 VkPipelineCache pipelineCache, 4419 const VkAllocationCallbacks* pAllocator); 4420 4421 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData( 4422 VkDevice device, 4423 VkPipelineCache pipelineCache, 4424 size_t* pDataSize, 4425 void* pData); 4426 4427 VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches( 4428 VkDevice device, 4429 VkPipelineCache dstCache, 4430 uint32_t srcCacheCount, 4431 const VkPipelineCache* pSrcCaches); 4432 4433 VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines( 4434 VkDevice device, 4435 VkPipelineCache pipelineCache, 4436 uint32_t createInfoCount, 4437 const VkGraphicsPipelineCreateInfo* pCreateInfos, 4438 const VkAllocationCallbacks* pAllocator, 4439 VkPipeline* pPipelines); 4440 4441 VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines( 4442 VkDevice device, 4443 VkPipelineCache pipelineCache, 4444 uint32_t createInfoCount, 4445 const VkComputePipelineCreateInfo* pCreateInfos, 4446 const VkAllocationCallbacks* pAllocator, 4447 VkPipeline* pPipelines); 4448 4449 VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline( 4450 VkDevice device, 4451 VkPipeline pipeline, 4452 const VkAllocationCallbacks* pAllocator); 4453 4454 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout( 4455 VkDevice device, 4456 const VkPipelineLayoutCreateInfo* pCreateInfo, 4457 const VkAllocationCallbacks* pAllocator, 4458 VkPipelineLayout* pPipelineLayout); 4459 4460 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout( 4461 VkDevice device, 4462 VkPipelineLayout pipelineLayout, 4463 const VkAllocationCallbacks* pAllocator); 4464 4465 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler( 4466 VkDevice device, 4467 const VkSamplerCreateInfo* pCreateInfo, 4468 const VkAllocationCallbacks* pAllocator, 4469 VkSampler* pSampler); 4470 4471 VKAPI_ATTR void VKAPI_CALL vkDestroySampler( 4472 VkDevice device, 4473 VkSampler sampler, 4474 const VkAllocationCallbacks* pAllocator); 4475 4476 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout( 4477 VkDevice device, 4478 const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 4479 const VkAllocationCallbacks* pAllocator, 4480 VkDescriptorSetLayout* pSetLayout); 4481 4482 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout( 4483 VkDevice device, 4484 VkDescriptorSetLayout descriptorSetLayout, 4485 const VkAllocationCallbacks* pAllocator); 4486 4487 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool( 4488 VkDevice device, 4489 const VkDescriptorPoolCreateInfo* pCreateInfo, 4490 const VkAllocationCallbacks* pAllocator, 4491 VkDescriptorPool* pDescriptorPool); 4492 4493 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool( 4494 VkDevice device, 4495 VkDescriptorPool descriptorPool, 4496 const VkAllocationCallbacks* pAllocator); 4497 4498 VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool( 4499 VkDevice device, 4500 VkDescriptorPool descriptorPool, 4501 VkDescriptorPoolResetFlags flags); 4502 4503 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets( 4504 VkDevice device, 4505 const VkDescriptorSetAllocateInfo* pAllocateInfo, 4506 VkDescriptorSet* pDescriptorSets); 4507 4508 VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets( 4509 VkDevice device, 4510 VkDescriptorPool descriptorPool, 4511 uint32_t descriptorSetCount, 4512 const VkDescriptorSet* pDescriptorSets); 4513 4514 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets( 4515 VkDevice device, 4516 uint32_t descriptorWriteCount, 4517 const VkWriteDescriptorSet* pDescriptorWrites, 4518 uint32_t descriptorCopyCount, 4519 const VkCopyDescriptorSet* pDescriptorCopies); 4520 4521 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer( 4522 VkDevice device, 4523 const VkFramebufferCreateInfo* pCreateInfo, 4524 const VkAllocationCallbacks* pAllocator, 4525 VkFramebuffer* pFramebuffer); 4526 4527 VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer( 4528 VkDevice device, 4529 VkFramebuffer framebuffer, 4530 const VkAllocationCallbacks* pAllocator); 4531 4532 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass( 4533 VkDevice device, 4534 const VkRenderPassCreateInfo* pCreateInfo, 4535 const VkAllocationCallbacks* pAllocator, 4536 VkRenderPass* pRenderPass); 4537 4538 VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass( 4539 VkDevice device, 4540 VkRenderPass renderPass, 4541 const VkAllocationCallbacks* pAllocator); 4542 4543 VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity( 4544 VkDevice device, 4545 VkRenderPass renderPass, 4546 VkExtent2D* pGranularity); 4547 4548 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool( 4549 VkDevice device, 4550 const VkCommandPoolCreateInfo* pCreateInfo, 4551 const VkAllocationCallbacks* pAllocator, 4552 VkCommandPool* pCommandPool); 4553 4554 VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool( 4555 VkDevice device, 4556 VkCommandPool commandPool, 4557 const VkAllocationCallbacks* pAllocator); 4558 4559 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool( 4560 VkDevice device, 4561 VkCommandPool commandPool, 4562 VkCommandPoolResetFlags flags); 4563 4564 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers( 4565 VkDevice device, 4566 const VkCommandBufferAllocateInfo* pAllocateInfo, 4567 VkCommandBuffer* pCommandBuffers); 4568 4569 VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers( 4570 VkDevice device, 4571 VkCommandPool commandPool, 4572 uint32_t commandBufferCount, 4573 const VkCommandBuffer* pCommandBuffers); 4574 4575 VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer( 4576 VkCommandBuffer commandBuffer, 4577 const VkCommandBufferBeginInfo* pBeginInfo); 4578 4579 VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer( 4580 VkCommandBuffer commandBuffer); 4581 4582 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer( 4583 VkCommandBuffer commandBuffer, 4584 VkCommandBufferResetFlags flags); 4585 4586 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline( 4587 VkCommandBuffer commandBuffer, 4588 VkPipelineBindPoint pipelineBindPoint, 4589 VkPipeline pipeline); 4590 4591 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport( 4592 VkCommandBuffer commandBuffer, 4593 uint32_t firstViewport, 4594 uint32_t viewportCount, 4595 const VkViewport* pViewports); 4596 4597 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor( 4598 VkCommandBuffer commandBuffer, 4599 uint32_t firstScissor, 4600 uint32_t scissorCount, 4601 const VkRect2D* pScissors); 4602 4603 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth( 4604 VkCommandBuffer commandBuffer, 4605 float lineWidth); 4606 4607 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias( 4608 VkCommandBuffer commandBuffer, 4609 float depthBiasConstantFactor, 4610 float depthBiasClamp, 4611 float depthBiasSlopeFactor); 4612 4613 VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants( 4614 VkCommandBuffer commandBuffer, 4615 const float blendConstants[4]); 4616 4617 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds( 4618 VkCommandBuffer commandBuffer, 4619 float minDepthBounds, 4620 float maxDepthBounds); 4621 4622 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask( 4623 VkCommandBuffer commandBuffer, 4624 VkStencilFaceFlags faceMask, 4625 uint32_t compareMask); 4626 4627 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask( 4628 VkCommandBuffer commandBuffer, 4629 VkStencilFaceFlags faceMask, 4630 uint32_t writeMask); 4631 4632 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference( 4633 VkCommandBuffer commandBuffer, 4634 VkStencilFaceFlags faceMask, 4635 uint32_t reference); 4636 4637 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets( 4638 VkCommandBuffer commandBuffer, 4639 VkPipelineBindPoint pipelineBindPoint, 4640 VkPipelineLayout layout, 4641 uint32_t firstSet, 4642 uint32_t descriptorSetCount, 4643 const VkDescriptorSet* pDescriptorSets, 4644 uint32_t dynamicOffsetCount, 4645 const uint32_t* pDynamicOffsets); 4646 4647 VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer( 4648 VkCommandBuffer commandBuffer, 4649 VkBuffer buffer, 4650 VkDeviceSize offset, 4651 VkIndexType indexType); 4652 4653 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers( 4654 VkCommandBuffer commandBuffer, 4655 uint32_t firstBinding, 4656 uint32_t bindingCount, 4657 const VkBuffer* pBuffers, 4658 const VkDeviceSize* pOffsets); 4659 4660 VKAPI_ATTR void VKAPI_CALL vkCmdDraw( 4661 VkCommandBuffer commandBuffer, 4662 uint32_t vertexCount, 4663 uint32_t instanceCount, 4664 uint32_t firstVertex, 4665 uint32_t firstInstance); 4666 4667 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed( 4668 VkCommandBuffer commandBuffer, 4669 uint32_t indexCount, 4670 uint32_t instanceCount, 4671 uint32_t firstIndex, 4672 int32_t vertexOffset, 4673 uint32_t firstInstance); 4674 4675 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect( 4676 VkCommandBuffer commandBuffer, 4677 VkBuffer buffer, 4678 VkDeviceSize offset, 4679 uint32_t drawCount, 4680 uint32_t stride); 4681 4682 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect( 4683 VkCommandBuffer commandBuffer, 4684 VkBuffer buffer, 4685 VkDeviceSize offset, 4686 uint32_t drawCount, 4687 uint32_t stride); 4688 4689 VKAPI_ATTR void VKAPI_CALL vkCmdDispatch( 4690 VkCommandBuffer commandBuffer, 4691 uint32_t groupCountX, 4692 uint32_t groupCountY, 4693 uint32_t groupCountZ); 4694 4695 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect( 4696 VkCommandBuffer commandBuffer, 4697 VkBuffer buffer, 4698 VkDeviceSize offset); 4699 4700 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer( 4701 VkCommandBuffer commandBuffer, 4702 VkBuffer srcBuffer, 4703 VkBuffer dstBuffer, 4704 uint32_t regionCount, 4705 const VkBufferCopy* pRegions); 4706 4707 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage( 4708 VkCommandBuffer commandBuffer, 4709 VkImage srcImage, 4710 VkImageLayout srcImageLayout, 4711 VkImage dstImage, 4712 VkImageLayout dstImageLayout, 4713 uint32_t regionCount, 4714 const VkImageCopy* pRegions); 4715 4716 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage( 4717 VkCommandBuffer commandBuffer, 4718 VkImage srcImage, 4719 VkImageLayout srcImageLayout, 4720 VkImage dstImage, 4721 VkImageLayout dstImageLayout, 4722 uint32_t regionCount, 4723 const VkImageBlit* pRegions, 4724 VkFilter filter); 4725 4726 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage( 4727 VkCommandBuffer commandBuffer, 4728 VkBuffer srcBuffer, 4729 VkImage dstImage, 4730 VkImageLayout dstImageLayout, 4731 uint32_t regionCount, 4732 const VkBufferImageCopy* pRegions); 4733 4734 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer( 4735 VkCommandBuffer commandBuffer, 4736 VkImage srcImage, 4737 VkImageLayout srcImageLayout, 4738 VkBuffer dstBuffer, 4739 uint32_t regionCount, 4740 const VkBufferImageCopy* pRegions); 4741 4742 VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer( 4743 VkCommandBuffer commandBuffer, 4744 VkBuffer dstBuffer, 4745 VkDeviceSize dstOffset, 4746 VkDeviceSize dataSize, 4747 const void* pData); 4748 4749 VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer( 4750 VkCommandBuffer commandBuffer, 4751 VkBuffer dstBuffer, 4752 VkDeviceSize dstOffset, 4753 VkDeviceSize size, 4754 uint32_t data); 4755 4756 VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage( 4757 VkCommandBuffer commandBuffer, 4758 VkImage image, 4759 VkImageLayout imageLayout, 4760 const VkClearColorValue* pColor, 4761 uint32_t rangeCount, 4762 const VkImageSubresourceRange* pRanges); 4763 4764 VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage( 4765 VkCommandBuffer commandBuffer, 4766 VkImage image, 4767 VkImageLayout imageLayout, 4768 const VkClearDepthStencilValue* pDepthStencil, 4769 uint32_t rangeCount, 4770 const VkImageSubresourceRange* pRanges); 4771 4772 VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments( 4773 VkCommandBuffer commandBuffer, 4774 uint32_t attachmentCount, 4775 const VkClearAttachment* pAttachments, 4776 uint32_t rectCount, 4777 const VkClearRect* pRects); 4778 4779 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage( 4780 VkCommandBuffer commandBuffer, 4781 VkImage srcImage, 4782 VkImageLayout srcImageLayout, 4783 VkImage dstImage, 4784 VkImageLayout dstImageLayout, 4785 uint32_t regionCount, 4786 const VkImageResolve* pRegions); 4787 4788 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent( 4789 VkCommandBuffer commandBuffer, 4790 VkEvent event, 4791 VkPipelineStageFlags stageMask); 4792 4793 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent( 4794 VkCommandBuffer commandBuffer, 4795 VkEvent event, 4796 VkPipelineStageFlags stageMask); 4797 4798 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents( 4799 VkCommandBuffer commandBuffer, 4800 uint32_t eventCount, 4801 const VkEvent* pEvents, 4802 VkPipelineStageFlags srcStageMask, 4803 VkPipelineStageFlags dstStageMask, 4804 uint32_t memoryBarrierCount, 4805 const VkMemoryBarrier* pMemoryBarriers, 4806 uint32_t bufferMemoryBarrierCount, 4807 const VkBufferMemoryBarrier* pBufferMemoryBarriers, 4808 uint32_t imageMemoryBarrierCount, 4809 const VkImageMemoryBarrier* pImageMemoryBarriers); 4810 4811 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier( 4812 VkCommandBuffer commandBuffer, 4813 VkPipelineStageFlags srcStageMask, 4814 VkPipelineStageFlags dstStageMask, 4815 VkDependencyFlags dependencyFlags, 4816 uint32_t memoryBarrierCount, 4817 const VkMemoryBarrier* pMemoryBarriers, 4818 uint32_t bufferMemoryBarrierCount, 4819 const VkBufferMemoryBarrier* pBufferMemoryBarriers, 4820 uint32_t imageMemoryBarrierCount, 4821 const VkImageMemoryBarrier* pImageMemoryBarriers); 4822 4823 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery( 4824 VkCommandBuffer commandBuffer, 4825 VkQueryPool queryPool, 4826 uint32_t query, 4827 VkQueryControlFlags flags); 4828 4829 VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery( 4830 VkCommandBuffer commandBuffer, 4831 VkQueryPool queryPool, 4832 uint32_t query); 4833 4834 VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool( 4835 VkCommandBuffer commandBuffer, 4836 VkQueryPool queryPool, 4837 uint32_t firstQuery, 4838 uint32_t queryCount); 4839 4840 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp( 4841 VkCommandBuffer commandBuffer, 4842 VkPipelineStageFlagBits pipelineStage, 4843 VkQueryPool queryPool, 4844 uint32_t query); 4845 4846 VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults( 4847 VkCommandBuffer commandBuffer, 4848 VkQueryPool queryPool, 4849 uint32_t firstQuery, 4850 uint32_t queryCount, 4851 VkBuffer dstBuffer, 4852 VkDeviceSize dstOffset, 4853 VkDeviceSize stride, 4854 VkQueryResultFlags flags); 4855 4856 VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants( 4857 VkCommandBuffer commandBuffer, 4858 VkPipelineLayout layout, 4859 VkShaderStageFlags stageFlags, 4860 uint32_t offset, 4861 uint32_t size, 4862 const void* pValues); 4863 4864 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass( 4865 VkCommandBuffer commandBuffer, 4866 const VkRenderPassBeginInfo* pRenderPassBegin, 4867 VkSubpassContents contents); 4868 4869 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass( 4870 VkCommandBuffer commandBuffer, 4871 VkSubpassContents contents); 4872 4873 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass( 4874 VkCommandBuffer commandBuffer); 4875 4876 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands( 4877 VkCommandBuffer commandBuffer, 4878 uint32_t commandBufferCount, 4879 const VkCommandBuffer* pCommandBuffers); 4880 #endif 4881 4882 4883 // VK_VERSION_1_1 is a preprocessor guard. Do not pass it to API calls. 4884 #define VK_VERSION_1_1 1 4885 // Vulkan 1.1 version number 4886 #define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)// Patch version should always be set to 0 4887 4888 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion) 4889 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate) 4890 #define VK_MAX_DEVICE_GROUP_SIZE 32U 4891 #define VK_LUID_SIZE 8U 4892 #define VK_QUEUE_FAMILY_EXTERNAL (~1U) 4893 4894 typedef enum VkPointClippingBehavior { 4895 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0, 4896 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1, 4897 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES, 4898 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY, 4899 VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF 4900 } VkPointClippingBehavior; 4901 4902 typedef enum VkTessellationDomainOrigin { 4903 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0, 4904 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1, 4905 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT, 4906 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT, 4907 VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF 4908 } VkTessellationDomainOrigin; 4909 4910 typedef enum VkSamplerYcbcrModelConversion { 4911 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0, 4912 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1, 4913 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2, 4914 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3, 4915 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4, 4916 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY, 4917 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY, 4918 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709, 4919 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601, 4920 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020, 4921 VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF 4922 } VkSamplerYcbcrModelConversion; 4923 4924 typedef enum VkSamplerYcbcrRange { 4925 VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0, 4926 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1, 4927 VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL, 4928 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW, 4929 VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF 4930 } VkSamplerYcbcrRange; 4931 4932 typedef enum VkChromaLocation { 4933 VK_CHROMA_LOCATION_COSITED_EVEN = 0, 4934 VK_CHROMA_LOCATION_MIDPOINT = 1, 4935 VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN, 4936 VK_CHROMA_LOCATION_MIDPOINT_KHR = VK_CHROMA_LOCATION_MIDPOINT, 4937 VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF 4938 } VkChromaLocation; 4939 4940 typedef enum VkDescriptorUpdateTemplateType { 4941 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0, 4942 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1, 4943 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET, 4944 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF 4945 } VkDescriptorUpdateTemplateType; 4946 4947 typedef enum VkSubgroupFeatureFlagBits { 4948 VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001, 4949 VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002, 4950 VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004, 4951 VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008, 4952 VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010, 4953 VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020, 4954 VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040, 4955 VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080, 4956 VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100, 4957 VK_SUBGROUP_FEATURE_ROTATE_BIT_KHR = 0x00000200, 4958 VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT_KHR = 0x00000400, 4959 VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 4960 } VkSubgroupFeatureFlagBits; 4961 typedef VkFlags VkSubgroupFeatureFlags; 4962 4963 typedef enum VkPeerMemoryFeatureFlagBits { 4964 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001, 4965 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0x00000002, 4966 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0x00000004, 4967 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0x00000008, 4968 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT, 4969 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT, 4970 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT, 4971 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT, 4972 VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 4973 } VkPeerMemoryFeatureFlagBits; 4974 typedef VkFlags VkPeerMemoryFeatureFlags; 4975 4976 typedef enum VkMemoryAllocateFlagBits { 4977 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001, 4978 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 0x00000002, 4979 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000004, 4980 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT, 4981 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT, 4982 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, 4983 VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 4984 } VkMemoryAllocateFlagBits; 4985 typedef VkFlags VkMemoryAllocateFlags; 4986 typedef VkFlags VkCommandPoolTrimFlags; 4987 typedef VkFlags VkDescriptorUpdateTemplateCreateFlags; 4988 4989 typedef enum VkExternalMemoryHandleTypeFlagBits { 4990 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001, 4991 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002, 4992 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004, 4993 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008, 4994 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010, 4995 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020, 4996 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040, 4997 VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200, 4998 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400, 4999 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080, 5000 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100, 5001 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 0x00000800, 5002 VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV = 0x00001000, 5003 VK_EXTERNAL_MEMORY_HANDLE_TYPE_SCREEN_BUFFER_BIT_QNX = 0x00004000, 5004 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT, 5005 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT, 5006 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, 5007 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT, 5008 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT, 5009 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT, 5010 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT, 5011 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5012 } VkExternalMemoryHandleTypeFlagBits; 5013 typedef VkFlags VkExternalMemoryHandleTypeFlags; 5014 5015 typedef enum VkExternalMemoryFeatureFlagBits { 5016 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0x00000001, 5017 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0x00000002, 5018 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0x00000004, 5019 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT, 5020 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT, 5021 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT, 5022 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5023 } VkExternalMemoryFeatureFlagBits; 5024 typedef VkFlags VkExternalMemoryFeatureFlags; 5025 5026 typedef enum VkExternalFenceHandleTypeFlagBits { 5027 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001, 5028 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002, 5029 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004, 5030 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000008, 5031 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT, 5032 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT, 5033 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, 5034 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT, 5035 VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5036 } VkExternalFenceHandleTypeFlagBits; 5037 typedef VkFlags VkExternalFenceHandleTypeFlags; 5038 5039 typedef enum VkExternalFenceFeatureFlagBits { 5040 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0x00000001, 5041 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0x00000002, 5042 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT, 5043 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT, 5044 VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5045 } VkExternalFenceFeatureFlagBits; 5046 typedef VkFlags VkExternalFenceFeatureFlags; 5047 5048 typedef enum VkFenceImportFlagBits { 5049 VK_FENCE_IMPORT_TEMPORARY_BIT = 0x00000001, 5050 VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = VK_FENCE_IMPORT_TEMPORARY_BIT, 5051 VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5052 } VkFenceImportFlagBits; 5053 typedef VkFlags VkFenceImportFlags; 5054 5055 typedef enum VkSemaphoreImportFlagBits { 5056 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001, 5057 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT, 5058 VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5059 } VkSemaphoreImportFlagBits; 5060 typedef VkFlags VkSemaphoreImportFlags; 5061 5062 typedef enum VkExternalSemaphoreHandleTypeFlagBits { 5063 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001, 5064 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002, 5065 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004, 5066 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008, 5067 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010, 5068 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA = 0x00000080, 5069 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT, 5070 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT, 5071 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT, 5072 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, 5073 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT, 5074 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT, 5075 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5076 } VkExternalSemaphoreHandleTypeFlagBits; 5077 typedef VkFlags VkExternalSemaphoreHandleTypeFlags; 5078 5079 typedef enum VkExternalSemaphoreFeatureFlagBits { 5080 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0x00000001, 5081 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0x00000002, 5082 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT, 5083 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT, 5084 VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5085 } VkExternalSemaphoreFeatureFlagBits; 5086 typedef VkFlags VkExternalSemaphoreFeatureFlags; 5087 typedef struct VkPhysicalDeviceSubgroupProperties { 5088 VkStructureType sType; 5089 void* pNext; 5090 uint32_t subgroupSize; 5091 VkShaderStageFlags supportedStages; 5092 VkSubgroupFeatureFlags supportedOperations; 5093 VkBool32 quadOperationsInAllStages; 5094 } VkPhysicalDeviceSubgroupProperties; 5095 5096 typedef struct VkBindBufferMemoryInfo { 5097 VkStructureType sType; 5098 const void* pNext; 5099 VkBuffer buffer; 5100 VkDeviceMemory memory; 5101 VkDeviceSize memoryOffset; 5102 } VkBindBufferMemoryInfo; 5103 5104 typedef struct VkBindImageMemoryInfo { 5105 VkStructureType sType; 5106 const void* pNext; 5107 VkImage image; 5108 VkDeviceMemory memory; 5109 VkDeviceSize memoryOffset; 5110 } VkBindImageMemoryInfo; 5111 5112 typedef struct VkPhysicalDevice16BitStorageFeatures { 5113 VkStructureType sType; 5114 void* pNext; 5115 VkBool32 storageBuffer16BitAccess; 5116 VkBool32 uniformAndStorageBuffer16BitAccess; 5117 VkBool32 storagePushConstant16; 5118 VkBool32 storageInputOutput16; 5119 } VkPhysicalDevice16BitStorageFeatures; 5120 5121 typedef struct VkMemoryDedicatedRequirements { 5122 VkStructureType sType; 5123 void* pNext; 5124 VkBool32 prefersDedicatedAllocation; 5125 VkBool32 requiresDedicatedAllocation; 5126 } VkMemoryDedicatedRequirements; 5127 5128 typedef struct VkMemoryDedicatedAllocateInfo { 5129 VkStructureType sType; 5130 const void* pNext; 5131 VkImage image; 5132 VkBuffer buffer; 5133 } VkMemoryDedicatedAllocateInfo; 5134 5135 typedef struct VkMemoryAllocateFlagsInfo { 5136 VkStructureType sType; 5137 const void* pNext; 5138 VkMemoryAllocateFlags flags; 5139 uint32_t deviceMask; 5140 } VkMemoryAllocateFlagsInfo; 5141 5142 typedef struct VkDeviceGroupRenderPassBeginInfo { 5143 VkStructureType sType; 5144 const void* pNext; 5145 uint32_t deviceMask; 5146 uint32_t deviceRenderAreaCount; 5147 const VkRect2D* pDeviceRenderAreas; 5148 } VkDeviceGroupRenderPassBeginInfo; 5149 5150 typedef struct VkDeviceGroupCommandBufferBeginInfo { 5151 VkStructureType sType; 5152 const void* pNext; 5153 uint32_t deviceMask; 5154 } VkDeviceGroupCommandBufferBeginInfo; 5155 5156 typedef struct VkDeviceGroupSubmitInfo { 5157 VkStructureType sType; 5158 const void* pNext; 5159 uint32_t waitSemaphoreCount; 5160 const uint32_t* pWaitSemaphoreDeviceIndices; 5161 uint32_t commandBufferCount; 5162 const uint32_t* pCommandBufferDeviceMasks; 5163 uint32_t signalSemaphoreCount; 5164 const uint32_t* pSignalSemaphoreDeviceIndices; 5165 } VkDeviceGroupSubmitInfo; 5166 5167 typedef struct VkDeviceGroupBindSparseInfo { 5168 VkStructureType sType; 5169 const void* pNext; 5170 uint32_t resourceDeviceIndex; 5171 uint32_t memoryDeviceIndex; 5172 } VkDeviceGroupBindSparseInfo; 5173 5174 typedef struct VkBindBufferMemoryDeviceGroupInfo { 5175 VkStructureType sType; 5176 const void* pNext; 5177 uint32_t deviceIndexCount; 5178 const uint32_t* pDeviceIndices; 5179 } VkBindBufferMemoryDeviceGroupInfo; 5180 5181 typedef struct VkBindImageMemoryDeviceGroupInfo { 5182 VkStructureType sType; 5183 const void* pNext; 5184 uint32_t deviceIndexCount; 5185 const uint32_t* pDeviceIndices; 5186 uint32_t splitInstanceBindRegionCount; 5187 const VkRect2D* pSplitInstanceBindRegions; 5188 } VkBindImageMemoryDeviceGroupInfo; 5189 5190 typedef struct VkPhysicalDeviceGroupProperties { 5191 VkStructureType sType; 5192 void* pNext; 5193 uint32_t physicalDeviceCount; 5194 VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE]; 5195 VkBool32 subsetAllocation; 5196 } VkPhysicalDeviceGroupProperties; 5197 5198 typedef struct VkDeviceGroupDeviceCreateInfo { 5199 VkStructureType sType; 5200 const void* pNext; 5201 uint32_t physicalDeviceCount; 5202 const VkPhysicalDevice* pPhysicalDevices; 5203 } VkDeviceGroupDeviceCreateInfo; 5204 5205 typedef struct VkBufferMemoryRequirementsInfo2 { 5206 VkStructureType sType; 5207 const void* pNext; 5208 VkBuffer buffer; 5209 } VkBufferMemoryRequirementsInfo2; 5210 5211 typedef struct VkImageMemoryRequirementsInfo2 { 5212 VkStructureType sType; 5213 const void* pNext; 5214 VkImage image; 5215 } VkImageMemoryRequirementsInfo2; 5216 5217 typedef struct VkImageSparseMemoryRequirementsInfo2 { 5218 VkStructureType sType; 5219 const void* pNext; 5220 VkImage image; 5221 } VkImageSparseMemoryRequirementsInfo2; 5222 5223 typedef struct VkMemoryRequirements2 { 5224 VkStructureType sType; 5225 void* pNext; 5226 VkMemoryRequirements memoryRequirements; 5227 } VkMemoryRequirements2; 5228 5229 typedef struct VkSparseImageMemoryRequirements2 { 5230 VkStructureType sType; 5231 void* pNext; 5232 VkSparseImageMemoryRequirements memoryRequirements; 5233 } VkSparseImageMemoryRequirements2; 5234 5235 typedef struct VkPhysicalDeviceFeatures2 { 5236 VkStructureType sType; 5237 void* pNext; 5238 VkPhysicalDeviceFeatures features; 5239 } VkPhysicalDeviceFeatures2; 5240 5241 typedef struct VkPhysicalDeviceProperties2 { 5242 VkStructureType sType; 5243 void* pNext; 5244 VkPhysicalDeviceProperties properties; 5245 } VkPhysicalDeviceProperties2; 5246 5247 typedef struct VkFormatProperties2 { 5248 VkStructureType sType; 5249 void* pNext; 5250 VkFormatProperties formatProperties; 5251 } VkFormatProperties2; 5252 5253 typedef struct VkImageFormatProperties2 { 5254 VkStructureType sType; 5255 void* pNext; 5256 VkImageFormatProperties imageFormatProperties; 5257 } VkImageFormatProperties2; 5258 5259 typedef struct VkPhysicalDeviceImageFormatInfo2 { 5260 VkStructureType sType; 5261 const void* pNext; 5262 VkFormat format; 5263 VkImageType type; 5264 VkImageTiling tiling; 5265 VkImageUsageFlags usage; 5266 VkImageCreateFlags flags; 5267 } VkPhysicalDeviceImageFormatInfo2; 5268 5269 typedef struct VkQueueFamilyProperties2 { 5270 VkStructureType sType; 5271 void* pNext; 5272 VkQueueFamilyProperties queueFamilyProperties; 5273 } VkQueueFamilyProperties2; 5274 5275 typedef struct VkPhysicalDeviceMemoryProperties2 { 5276 VkStructureType sType; 5277 void* pNext; 5278 VkPhysicalDeviceMemoryProperties memoryProperties; 5279 } VkPhysicalDeviceMemoryProperties2; 5280 5281 typedef struct VkSparseImageFormatProperties2 { 5282 VkStructureType sType; 5283 void* pNext; 5284 VkSparseImageFormatProperties properties; 5285 } VkSparseImageFormatProperties2; 5286 5287 typedef struct VkPhysicalDeviceSparseImageFormatInfo2 { 5288 VkStructureType sType; 5289 const void* pNext; 5290 VkFormat format; 5291 VkImageType type; 5292 VkSampleCountFlagBits samples; 5293 VkImageUsageFlags usage; 5294 VkImageTiling tiling; 5295 } VkPhysicalDeviceSparseImageFormatInfo2; 5296 5297 typedef struct VkPhysicalDevicePointClippingProperties { 5298 VkStructureType sType; 5299 void* pNext; 5300 VkPointClippingBehavior pointClippingBehavior; 5301 } VkPhysicalDevicePointClippingProperties; 5302 5303 typedef struct VkInputAttachmentAspectReference { 5304 uint32_t subpass; 5305 uint32_t inputAttachmentIndex; 5306 VkImageAspectFlags aspectMask; 5307 } VkInputAttachmentAspectReference; 5308 5309 typedef struct VkRenderPassInputAttachmentAspectCreateInfo { 5310 VkStructureType sType; 5311 const void* pNext; 5312 uint32_t aspectReferenceCount; 5313 const VkInputAttachmentAspectReference* pAspectReferences; 5314 } VkRenderPassInputAttachmentAspectCreateInfo; 5315 5316 typedef struct VkImageViewUsageCreateInfo { 5317 VkStructureType sType; 5318 const void* pNext; 5319 VkImageUsageFlags usage; 5320 } VkImageViewUsageCreateInfo; 5321 5322 typedef struct VkPipelineTessellationDomainOriginStateCreateInfo { 5323 VkStructureType sType; 5324 const void* pNext; 5325 VkTessellationDomainOrigin domainOrigin; 5326 } VkPipelineTessellationDomainOriginStateCreateInfo; 5327 5328 typedef struct VkRenderPassMultiviewCreateInfo { 5329 VkStructureType sType; 5330 const void* pNext; 5331 uint32_t subpassCount; 5332 const uint32_t* pViewMasks; 5333 uint32_t dependencyCount; 5334 const int32_t* pViewOffsets; 5335 uint32_t correlationMaskCount; 5336 const uint32_t* pCorrelationMasks; 5337 } VkRenderPassMultiviewCreateInfo; 5338 5339 typedef struct VkPhysicalDeviceMultiviewFeatures { 5340 VkStructureType sType; 5341 void* pNext; 5342 VkBool32 multiview; 5343 VkBool32 multiviewGeometryShader; 5344 VkBool32 multiviewTessellationShader; 5345 } VkPhysicalDeviceMultiviewFeatures; 5346 5347 typedef struct VkPhysicalDeviceMultiviewProperties { 5348 VkStructureType sType; 5349 void* pNext; 5350 uint32_t maxMultiviewViewCount; 5351 uint32_t maxMultiviewInstanceIndex; 5352 } VkPhysicalDeviceMultiviewProperties; 5353 5354 typedef struct VkPhysicalDeviceVariablePointersFeatures { 5355 VkStructureType sType; 5356 void* pNext; 5357 VkBool32 variablePointersStorageBuffer; 5358 VkBool32 variablePointers; 5359 } VkPhysicalDeviceVariablePointersFeatures; 5360 5361 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures; 5362 5363 typedef struct VkPhysicalDeviceProtectedMemoryFeatures { 5364 VkStructureType sType; 5365 void* pNext; 5366 VkBool32 protectedMemory; 5367 } VkPhysicalDeviceProtectedMemoryFeatures; 5368 5369 typedef struct VkPhysicalDeviceProtectedMemoryProperties { 5370 VkStructureType sType; 5371 void* pNext; 5372 VkBool32 protectedNoFault; 5373 } VkPhysicalDeviceProtectedMemoryProperties; 5374 5375 typedef struct VkDeviceQueueInfo2 { 5376 VkStructureType sType; 5377 const void* pNext; 5378 VkDeviceQueueCreateFlags flags; 5379 uint32_t queueFamilyIndex; 5380 uint32_t queueIndex; 5381 } VkDeviceQueueInfo2; 5382 5383 typedef struct VkProtectedSubmitInfo { 5384 VkStructureType sType; 5385 const void* pNext; 5386 VkBool32 protectedSubmit; 5387 } VkProtectedSubmitInfo; 5388 5389 typedef struct VkSamplerYcbcrConversionCreateInfo { 5390 VkStructureType sType; 5391 const void* pNext; 5392 VkFormat format; 5393 VkSamplerYcbcrModelConversion ycbcrModel; 5394 VkSamplerYcbcrRange ycbcrRange; 5395 VkComponentMapping components; 5396 VkChromaLocation xChromaOffset; 5397 VkChromaLocation yChromaOffset; 5398 VkFilter chromaFilter; 5399 VkBool32 forceExplicitReconstruction; 5400 } VkSamplerYcbcrConversionCreateInfo; 5401 5402 typedef struct VkSamplerYcbcrConversionInfo { 5403 VkStructureType sType; 5404 const void* pNext; 5405 VkSamplerYcbcrConversion conversion; 5406 } VkSamplerYcbcrConversionInfo; 5407 5408 typedef struct VkBindImagePlaneMemoryInfo { 5409 VkStructureType sType; 5410 const void* pNext; 5411 VkImageAspectFlagBits planeAspect; 5412 } VkBindImagePlaneMemoryInfo; 5413 5414 typedef struct VkImagePlaneMemoryRequirementsInfo { 5415 VkStructureType sType; 5416 const void* pNext; 5417 VkImageAspectFlagBits planeAspect; 5418 } VkImagePlaneMemoryRequirementsInfo; 5419 5420 typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures { 5421 VkStructureType sType; 5422 void* pNext; 5423 VkBool32 samplerYcbcrConversion; 5424 } VkPhysicalDeviceSamplerYcbcrConversionFeatures; 5425 5426 typedef struct VkSamplerYcbcrConversionImageFormatProperties { 5427 VkStructureType sType; 5428 void* pNext; 5429 uint32_t combinedImageSamplerDescriptorCount; 5430 } VkSamplerYcbcrConversionImageFormatProperties; 5431 5432 typedef struct VkDescriptorUpdateTemplateEntry { 5433 uint32_t dstBinding; 5434 uint32_t dstArrayElement; 5435 uint32_t descriptorCount; 5436 VkDescriptorType descriptorType; 5437 size_t offset; 5438 size_t stride; 5439 } VkDescriptorUpdateTemplateEntry; 5440 5441 typedef struct VkDescriptorUpdateTemplateCreateInfo { 5442 VkStructureType sType; 5443 const void* pNext; 5444 VkDescriptorUpdateTemplateCreateFlags flags; 5445 uint32_t descriptorUpdateEntryCount; 5446 const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries; 5447 VkDescriptorUpdateTemplateType templateType; 5448 VkDescriptorSetLayout descriptorSetLayout; 5449 VkPipelineBindPoint pipelineBindPoint; 5450 VkPipelineLayout pipelineLayout; 5451 uint32_t set; 5452 } VkDescriptorUpdateTemplateCreateInfo; 5453 5454 typedef struct VkExternalMemoryProperties { 5455 VkExternalMemoryFeatureFlags externalMemoryFeatures; 5456 VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes; 5457 VkExternalMemoryHandleTypeFlags compatibleHandleTypes; 5458 } VkExternalMemoryProperties; 5459 5460 typedef struct VkPhysicalDeviceExternalImageFormatInfo { 5461 VkStructureType sType; 5462 const void* pNext; 5463 VkExternalMemoryHandleTypeFlagBits handleType; 5464 } VkPhysicalDeviceExternalImageFormatInfo; 5465 5466 typedef struct VkExternalImageFormatProperties { 5467 VkStructureType sType; 5468 void* pNext; 5469 VkExternalMemoryProperties externalMemoryProperties; 5470 } VkExternalImageFormatProperties; 5471 5472 typedef struct VkPhysicalDeviceExternalBufferInfo { 5473 VkStructureType sType; 5474 const void* pNext; 5475 VkBufferCreateFlags flags; 5476 VkBufferUsageFlags usage; 5477 VkExternalMemoryHandleTypeFlagBits handleType; 5478 } VkPhysicalDeviceExternalBufferInfo; 5479 5480 typedef struct VkExternalBufferProperties { 5481 VkStructureType sType; 5482 void* pNext; 5483 VkExternalMemoryProperties externalMemoryProperties; 5484 } VkExternalBufferProperties; 5485 5486 typedef struct VkPhysicalDeviceIDProperties { 5487 VkStructureType sType; 5488 void* pNext; 5489 uint8_t deviceUUID[VK_UUID_SIZE]; 5490 uint8_t driverUUID[VK_UUID_SIZE]; 5491 uint8_t deviceLUID[VK_LUID_SIZE]; 5492 uint32_t deviceNodeMask; 5493 VkBool32 deviceLUIDValid; 5494 } VkPhysicalDeviceIDProperties; 5495 5496 typedef struct VkExternalMemoryImageCreateInfo { 5497 VkStructureType sType; 5498 const void* pNext; 5499 VkExternalMemoryHandleTypeFlags handleTypes; 5500 } VkExternalMemoryImageCreateInfo; 5501 5502 typedef struct VkExternalMemoryBufferCreateInfo { 5503 VkStructureType sType; 5504 const void* pNext; 5505 VkExternalMemoryHandleTypeFlags handleTypes; 5506 } VkExternalMemoryBufferCreateInfo; 5507 5508 typedef struct VkExportMemoryAllocateInfo { 5509 VkStructureType sType; 5510 const void* pNext; 5511 VkExternalMemoryHandleTypeFlags handleTypes; 5512 } VkExportMemoryAllocateInfo; 5513 5514 typedef struct VkPhysicalDeviceExternalFenceInfo { 5515 VkStructureType sType; 5516 const void* pNext; 5517 VkExternalFenceHandleTypeFlagBits handleType; 5518 } VkPhysicalDeviceExternalFenceInfo; 5519 5520 typedef struct VkExternalFenceProperties { 5521 VkStructureType sType; 5522 void* pNext; 5523 VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes; 5524 VkExternalFenceHandleTypeFlags compatibleHandleTypes; 5525 VkExternalFenceFeatureFlags externalFenceFeatures; 5526 } VkExternalFenceProperties; 5527 5528 typedef struct VkExportFenceCreateInfo { 5529 VkStructureType sType; 5530 const void* pNext; 5531 VkExternalFenceHandleTypeFlags handleTypes; 5532 } VkExportFenceCreateInfo; 5533 5534 typedef struct VkExportSemaphoreCreateInfo { 5535 VkStructureType sType; 5536 const void* pNext; 5537 VkExternalSemaphoreHandleTypeFlags handleTypes; 5538 } VkExportSemaphoreCreateInfo; 5539 5540 typedef struct VkPhysicalDeviceExternalSemaphoreInfo { 5541 VkStructureType sType; 5542 const void* pNext; 5543 VkExternalSemaphoreHandleTypeFlagBits handleType; 5544 } VkPhysicalDeviceExternalSemaphoreInfo; 5545 5546 typedef struct VkExternalSemaphoreProperties { 5547 VkStructureType sType; 5548 void* pNext; 5549 VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes; 5550 VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes; 5551 VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures; 5552 } VkExternalSemaphoreProperties; 5553 5554 typedef struct VkPhysicalDeviceMaintenance3Properties { 5555 VkStructureType sType; 5556 void* pNext; 5557 uint32_t maxPerSetDescriptors; 5558 VkDeviceSize maxMemoryAllocationSize; 5559 } VkPhysicalDeviceMaintenance3Properties; 5560 5561 typedef struct VkDescriptorSetLayoutSupport { 5562 VkStructureType sType; 5563 void* pNext; 5564 VkBool32 supported; 5565 } VkDescriptorSetLayoutSupport; 5566 5567 typedef struct VkPhysicalDeviceShaderDrawParametersFeatures { 5568 VkStructureType sType; 5569 void* pNext; 5570 VkBool32 shaderDrawParameters; 5571 } VkPhysicalDeviceShaderDrawParametersFeatures; 5572 5573 typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures; 5574 5575 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceVersion)(uint32_t* pApiVersion); 5576 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos); 5577 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos); 5578 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 5579 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, uint32_t deviceMask); 5580 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); 5581 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 5582 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); 5583 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); 5584 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 5585 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures); 5586 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties); 5587 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties); 5588 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties); 5589 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties); 5590 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 5591 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties); 5592 typedef void (VKAPI_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags); 5593 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue); 5594 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion); 5595 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator); 5596 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 5597 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator); 5598 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData); 5599 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties); 5600 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties); 5601 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 5602 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport); 5603 5604 #ifndef VK_NO_PROTOTYPES 5605 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceVersion( 5606 uint32_t* pApiVersion); 5607 5608 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2( 5609 VkDevice device, 5610 uint32_t bindInfoCount, 5611 const VkBindBufferMemoryInfo* pBindInfos); 5612 5613 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2( 5614 VkDevice device, 5615 uint32_t bindInfoCount, 5616 const VkBindImageMemoryInfo* pBindInfos); 5617 5618 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeatures( 5619 VkDevice device, 5620 uint32_t heapIndex, 5621 uint32_t localDeviceIndex, 5622 uint32_t remoteDeviceIndex, 5623 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 5624 5625 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMask( 5626 VkCommandBuffer commandBuffer, 5627 uint32_t deviceMask); 5628 5629 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBase( 5630 VkCommandBuffer commandBuffer, 5631 uint32_t baseGroupX, 5632 uint32_t baseGroupY, 5633 uint32_t baseGroupZ, 5634 uint32_t groupCountX, 5635 uint32_t groupCountY, 5636 uint32_t groupCountZ); 5637 5638 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroups( 5639 VkInstance instance, 5640 uint32_t* pPhysicalDeviceGroupCount, 5641 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 5642 5643 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2( 5644 VkDevice device, 5645 const VkImageMemoryRequirementsInfo2* pInfo, 5646 VkMemoryRequirements2* pMemoryRequirements); 5647 5648 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2( 5649 VkDevice device, 5650 const VkBufferMemoryRequirementsInfo2* pInfo, 5651 VkMemoryRequirements2* pMemoryRequirements); 5652 5653 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2( 5654 VkDevice device, 5655 const VkImageSparseMemoryRequirementsInfo2* pInfo, 5656 uint32_t* pSparseMemoryRequirementCount, 5657 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 5658 5659 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2( 5660 VkPhysicalDevice physicalDevice, 5661 VkPhysicalDeviceFeatures2* pFeatures); 5662 5663 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2( 5664 VkPhysicalDevice physicalDevice, 5665 VkPhysicalDeviceProperties2* pProperties); 5666 5667 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2( 5668 VkPhysicalDevice physicalDevice, 5669 VkFormat format, 5670 VkFormatProperties2* pFormatProperties); 5671 5672 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2( 5673 VkPhysicalDevice physicalDevice, 5674 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, 5675 VkImageFormatProperties2* pImageFormatProperties); 5676 5677 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2( 5678 VkPhysicalDevice physicalDevice, 5679 uint32_t* pQueueFamilyPropertyCount, 5680 VkQueueFamilyProperties2* pQueueFamilyProperties); 5681 5682 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2( 5683 VkPhysicalDevice physicalDevice, 5684 VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 5685 5686 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2( 5687 VkPhysicalDevice physicalDevice, 5688 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, 5689 uint32_t* pPropertyCount, 5690 VkSparseImageFormatProperties2* pProperties); 5691 5692 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPool( 5693 VkDevice device, 5694 VkCommandPool commandPool, 5695 VkCommandPoolTrimFlags flags); 5696 5697 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue2( 5698 VkDevice device, 5699 const VkDeviceQueueInfo2* pQueueInfo, 5700 VkQueue* pQueue); 5701 5702 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversion( 5703 VkDevice device, 5704 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, 5705 const VkAllocationCallbacks* pAllocator, 5706 VkSamplerYcbcrConversion* pYcbcrConversion); 5707 5708 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversion( 5709 VkDevice device, 5710 VkSamplerYcbcrConversion ycbcrConversion, 5711 const VkAllocationCallbacks* pAllocator); 5712 5713 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplate( 5714 VkDevice device, 5715 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, 5716 const VkAllocationCallbacks* pAllocator, 5717 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 5718 5719 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplate( 5720 VkDevice device, 5721 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 5722 const VkAllocationCallbacks* pAllocator); 5723 5724 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplate( 5725 VkDevice device, 5726 VkDescriptorSet descriptorSet, 5727 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 5728 const void* pData); 5729 5730 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties( 5731 VkPhysicalDevice physicalDevice, 5732 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, 5733 VkExternalBufferProperties* pExternalBufferProperties); 5734 5735 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFenceProperties( 5736 VkPhysicalDevice physicalDevice, 5737 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, 5738 VkExternalFenceProperties* pExternalFenceProperties); 5739 5740 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphoreProperties( 5741 VkPhysicalDevice physicalDevice, 5742 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, 5743 VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 5744 5745 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport( 5746 VkDevice device, 5747 const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 5748 VkDescriptorSetLayoutSupport* pSupport); 5749 #endif 5750 5751 5752 // VK_VERSION_1_2 is a preprocessor guard. Do not pass it to API calls. 5753 #define VK_VERSION_1_2 1 5754 // Vulkan 1.2 version number 5755 #define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)// Patch version should always be set to 0 5756 5757 #define VK_MAX_DRIVER_NAME_SIZE 256U 5758 #define VK_MAX_DRIVER_INFO_SIZE 256U 5759 5760 typedef enum VkDriverId { 5761 VK_DRIVER_ID_AMD_PROPRIETARY = 1, 5762 VK_DRIVER_ID_AMD_OPEN_SOURCE = 2, 5763 VK_DRIVER_ID_MESA_RADV = 3, 5764 VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4, 5765 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5, 5766 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6, 5767 VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7, 5768 VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8, 5769 VK_DRIVER_ID_ARM_PROPRIETARY = 9, 5770 VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10, 5771 VK_DRIVER_ID_GGP_PROPRIETARY = 11, 5772 VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12, 5773 VK_DRIVER_ID_MESA_LLVMPIPE = 13, 5774 VK_DRIVER_ID_MOLTENVK = 14, 5775 VK_DRIVER_ID_COREAVI_PROPRIETARY = 15, 5776 VK_DRIVER_ID_JUICE_PROPRIETARY = 16, 5777 VK_DRIVER_ID_VERISILICON_PROPRIETARY = 17, 5778 VK_DRIVER_ID_MESA_TURNIP = 18, 5779 VK_DRIVER_ID_MESA_V3DV = 19, 5780 VK_DRIVER_ID_MESA_PANVK = 20, 5781 VK_DRIVER_ID_SAMSUNG_PROPRIETARY = 21, 5782 VK_DRIVER_ID_MESA_VENUS = 22, 5783 VK_DRIVER_ID_MESA_DOZEN = 23, 5784 VK_DRIVER_ID_MESA_NVK = 24, 5785 VK_DRIVER_ID_IMAGINATION_OPEN_SOURCE_MESA = 25, 5786 VK_DRIVER_ID_MESA_AGXV = 26, 5787 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY, 5788 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE, 5789 VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV, 5790 VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR = VK_DRIVER_ID_NVIDIA_PROPRIETARY, 5791 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS, 5792 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA, 5793 VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR = VK_DRIVER_ID_IMAGINATION_PROPRIETARY, 5794 VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR = VK_DRIVER_ID_QUALCOMM_PROPRIETARY, 5795 VK_DRIVER_ID_ARM_PROPRIETARY_KHR = VK_DRIVER_ID_ARM_PROPRIETARY, 5796 VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR = VK_DRIVER_ID_GOOGLE_SWIFTSHADER, 5797 VK_DRIVER_ID_GGP_PROPRIETARY_KHR = VK_DRIVER_ID_GGP_PROPRIETARY, 5798 VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR = VK_DRIVER_ID_BROADCOM_PROPRIETARY, 5799 VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF 5800 } VkDriverId; 5801 5802 typedef enum VkShaderFloatControlsIndependence { 5803 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0, 5804 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1, 5805 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2, 5806 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY, 5807 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL, 5808 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE, 5809 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM = 0x7FFFFFFF 5810 } VkShaderFloatControlsIndependence; 5811 5812 typedef enum VkSamplerReductionMode { 5813 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0, 5814 VK_SAMPLER_REDUCTION_MODE_MIN = 1, 5815 VK_SAMPLER_REDUCTION_MODE_MAX = 2, 5816 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_RANGECLAMP_QCOM = 1000521000, 5817 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, 5818 VK_SAMPLER_REDUCTION_MODE_MIN_EXT = VK_SAMPLER_REDUCTION_MODE_MIN, 5819 VK_SAMPLER_REDUCTION_MODE_MAX_EXT = VK_SAMPLER_REDUCTION_MODE_MAX, 5820 VK_SAMPLER_REDUCTION_MODE_MAX_ENUM = 0x7FFFFFFF 5821 } VkSamplerReductionMode; 5822 5823 typedef enum VkSemaphoreType { 5824 VK_SEMAPHORE_TYPE_BINARY = 0, 5825 VK_SEMAPHORE_TYPE_TIMELINE = 1, 5826 VK_SEMAPHORE_TYPE_BINARY_KHR = VK_SEMAPHORE_TYPE_BINARY, 5827 VK_SEMAPHORE_TYPE_TIMELINE_KHR = VK_SEMAPHORE_TYPE_TIMELINE, 5828 VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF 5829 } VkSemaphoreType; 5830 5831 typedef enum VkResolveModeFlagBits { 5832 VK_RESOLVE_MODE_NONE = 0, 5833 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 0x00000001, 5834 VK_RESOLVE_MODE_AVERAGE_BIT = 0x00000002, 5835 VK_RESOLVE_MODE_MIN_BIT = 0x00000004, 5836 VK_RESOLVE_MODE_MAX_BIT = 0x00000008, 5837 VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID = 0x00000010, 5838 VK_RESOLVE_MODE_NONE_KHR = VK_RESOLVE_MODE_NONE, 5839 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT, 5840 VK_RESOLVE_MODE_AVERAGE_BIT_KHR = VK_RESOLVE_MODE_AVERAGE_BIT, 5841 VK_RESOLVE_MODE_MIN_BIT_KHR = VK_RESOLVE_MODE_MIN_BIT, 5842 VK_RESOLVE_MODE_MAX_BIT_KHR = VK_RESOLVE_MODE_MAX_BIT, 5843 VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5844 } VkResolveModeFlagBits; 5845 typedef VkFlags VkResolveModeFlags; 5846 5847 typedef enum VkDescriptorBindingFlagBits { 5848 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 0x00000001, 5849 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 0x00000002, 5850 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 0x00000004, 5851 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 0x00000008, 5852 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT, 5853 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT, 5854 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT, 5855 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT, 5856 VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5857 } VkDescriptorBindingFlagBits; 5858 typedef VkFlags VkDescriptorBindingFlags; 5859 5860 typedef enum VkSemaphoreWaitFlagBits { 5861 VK_SEMAPHORE_WAIT_ANY_BIT = 0x00000001, 5862 VK_SEMAPHORE_WAIT_ANY_BIT_KHR = VK_SEMAPHORE_WAIT_ANY_BIT, 5863 VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5864 } VkSemaphoreWaitFlagBits; 5865 typedef VkFlags VkSemaphoreWaitFlags; 5866 typedef struct VkPhysicalDeviceVulkan11Features { 5867 VkStructureType sType; 5868 void* pNext; 5869 VkBool32 storageBuffer16BitAccess; 5870 VkBool32 uniformAndStorageBuffer16BitAccess; 5871 VkBool32 storagePushConstant16; 5872 VkBool32 storageInputOutput16; 5873 VkBool32 multiview; 5874 VkBool32 multiviewGeometryShader; 5875 VkBool32 multiviewTessellationShader; 5876 VkBool32 variablePointersStorageBuffer; 5877 VkBool32 variablePointers; 5878 VkBool32 protectedMemory; 5879 VkBool32 samplerYcbcrConversion; 5880 VkBool32 shaderDrawParameters; 5881 } VkPhysicalDeviceVulkan11Features; 5882 5883 typedef struct VkPhysicalDeviceVulkan11Properties { 5884 VkStructureType sType; 5885 void* pNext; 5886 uint8_t deviceUUID[VK_UUID_SIZE]; 5887 uint8_t driverUUID[VK_UUID_SIZE]; 5888 uint8_t deviceLUID[VK_LUID_SIZE]; 5889 uint32_t deviceNodeMask; 5890 VkBool32 deviceLUIDValid; 5891 uint32_t subgroupSize; 5892 VkShaderStageFlags subgroupSupportedStages; 5893 VkSubgroupFeatureFlags subgroupSupportedOperations; 5894 VkBool32 subgroupQuadOperationsInAllStages; 5895 VkPointClippingBehavior pointClippingBehavior; 5896 uint32_t maxMultiviewViewCount; 5897 uint32_t maxMultiviewInstanceIndex; 5898 VkBool32 protectedNoFault; 5899 uint32_t maxPerSetDescriptors; 5900 VkDeviceSize maxMemoryAllocationSize; 5901 } VkPhysicalDeviceVulkan11Properties; 5902 5903 typedef struct VkPhysicalDeviceVulkan12Features { 5904 VkStructureType sType; 5905 void* pNext; 5906 VkBool32 samplerMirrorClampToEdge; 5907 VkBool32 drawIndirectCount; 5908 VkBool32 storageBuffer8BitAccess; 5909 VkBool32 uniformAndStorageBuffer8BitAccess; 5910 VkBool32 storagePushConstant8; 5911 VkBool32 shaderBufferInt64Atomics; 5912 VkBool32 shaderSharedInt64Atomics; 5913 VkBool32 shaderFloat16; 5914 VkBool32 shaderInt8; 5915 VkBool32 descriptorIndexing; 5916 VkBool32 shaderInputAttachmentArrayDynamicIndexing; 5917 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing; 5918 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing; 5919 VkBool32 shaderUniformBufferArrayNonUniformIndexing; 5920 VkBool32 shaderSampledImageArrayNonUniformIndexing; 5921 VkBool32 shaderStorageBufferArrayNonUniformIndexing; 5922 VkBool32 shaderStorageImageArrayNonUniformIndexing; 5923 VkBool32 shaderInputAttachmentArrayNonUniformIndexing; 5924 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing; 5925 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing; 5926 VkBool32 descriptorBindingUniformBufferUpdateAfterBind; 5927 VkBool32 descriptorBindingSampledImageUpdateAfterBind; 5928 VkBool32 descriptorBindingStorageImageUpdateAfterBind; 5929 VkBool32 descriptorBindingStorageBufferUpdateAfterBind; 5930 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind; 5931 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind; 5932 VkBool32 descriptorBindingUpdateUnusedWhilePending; 5933 VkBool32 descriptorBindingPartiallyBound; 5934 VkBool32 descriptorBindingVariableDescriptorCount; 5935 VkBool32 runtimeDescriptorArray; 5936 VkBool32 samplerFilterMinmax; 5937 VkBool32 scalarBlockLayout; 5938 VkBool32 imagelessFramebuffer; 5939 VkBool32 uniformBufferStandardLayout; 5940 VkBool32 shaderSubgroupExtendedTypes; 5941 VkBool32 separateDepthStencilLayouts; 5942 VkBool32 hostQueryReset; 5943 VkBool32 timelineSemaphore; 5944 VkBool32 bufferDeviceAddress; 5945 VkBool32 bufferDeviceAddressCaptureReplay; 5946 VkBool32 bufferDeviceAddressMultiDevice; 5947 VkBool32 vulkanMemoryModel; 5948 VkBool32 vulkanMemoryModelDeviceScope; 5949 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains; 5950 VkBool32 shaderOutputViewportIndex; 5951 VkBool32 shaderOutputLayer; 5952 VkBool32 subgroupBroadcastDynamicId; 5953 } VkPhysicalDeviceVulkan12Features; 5954 5955 typedef struct VkConformanceVersion { 5956 uint8_t major; 5957 uint8_t minor; 5958 uint8_t subminor; 5959 uint8_t patch; 5960 } VkConformanceVersion; 5961 5962 typedef struct VkPhysicalDeviceVulkan12Properties { 5963 VkStructureType sType; 5964 void* pNext; 5965 VkDriverId driverID; 5966 char driverName[VK_MAX_DRIVER_NAME_SIZE]; 5967 char driverInfo[VK_MAX_DRIVER_INFO_SIZE]; 5968 VkConformanceVersion conformanceVersion; 5969 VkShaderFloatControlsIndependence denormBehaviorIndependence; 5970 VkShaderFloatControlsIndependence roundingModeIndependence; 5971 VkBool32 shaderSignedZeroInfNanPreserveFloat16; 5972 VkBool32 shaderSignedZeroInfNanPreserveFloat32; 5973 VkBool32 shaderSignedZeroInfNanPreserveFloat64; 5974 VkBool32 shaderDenormPreserveFloat16; 5975 VkBool32 shaderDenormPreserveFloat32; 5976 VkBool32 shaderDenormPreserveFloat64; 5977 VkBool32 shaderDenormFlushToZeroFloat16; 5978 VkBool32 shaderDenormFlushToZeroFloat32; 5979 VkBool32 shaderDenormFlushToZeroFloat64; 5980 VkBool32 shaderRoundingModeRTEFloat16; 5981 VkBool32 shaderRoundingModeRTEFloat32; 5982 VkBool32 shaderRoundingModeRTEFloat64; 5983 VkBool32 shaderRoundingModeRTZFloat16; 5984 VkBool32 shaderRoundingModeRTZFloat32; 5985 VkBool32 shaderRoundingModeRTZFloat64; 5986 uint32_t maxUpdateAfterBindDescriptorsInAllPools; 5987 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative; 5988 VkBool32 shaderSampledImageArrayNonUniformIndexingNative; 5989 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative; 5990 VkBool32 shaderStorageImageArrayNonUniformIndexingNative; 5991 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative; 5992 VkBool32 robustBufferAccessUpdateAfterBind; 5993 VkBool32 quadDivergentImplicitLod; 5994 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers; 5995 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers; 5996 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers; 5997 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages; 5998 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages; 5999 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments; 6000 uint32_t maxPerStageUpdateAfterBindResources; 6001 uint32_t maxDescriptorSetUpdateAfterBindSamplers; 6002 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers; 6003 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic; 6004 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers; 6005 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic; 6006 uint32_t maxDescriptorSetUpdateAfterBindSampledImages; 6007 uint32_t maxDescriptorSetUpdateAfterBindStorageImages; 6008 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments; 6009 VkResolveModeFlags supportedDepthResolveModes; 6010 VkResolveModeFlags supportedStencilResolveModes; 6011 VkBool32 independentResolveNone; 6012 VkBool32 independentResolve; 6013 VkBool32 filterMinmaxSingleComponentFormats; 6014 VkBool32 filterMinmaxImageComponentMapping; 6015 uint64_t maxTimelineSemaphoreValueDifference; 6016 VkSampleCountFlags framebufferIntegerColorSampleCounts; 6017 } VkPhysicalDeviceVulkan12Properties; 6018 6019 typedef struct VkImageFormatListCreateInfo { 6020 VkStructureType sType; 6021 const void* pNext; 6022 uint32_t viewFormatCount; 6023 const VkFormat* pViewFormats; 6024 } VkImageFormatListCreateInfo; 6025 6026 typedef struct VkAttachmentDescription2 { 6027 VkStructureType sType; 6028 const void* pNext; 6029 VkAttachmentDescriptionFlags flags; 6030 VkFormat format; 6031 VkSampleCountFlagBits samples; 6032 VkAttachmentLoadOp loadOp; 6033 VkAttachmentStoreOp storeOp; 6034 VkAttachmentLoadOp stencilLoadOp; 6035 VkAttachmentStoreOp stencilStoreOp; 6036 VkImageLayout initialLayout; 6037 VkImageLayout finalLayout; 6038 } VkAttachmentDescription2; 6039 6040 typedef struct VkAttachmentReference2 { 6041 VkStructureType sType; 6042 const void* pNext; 6043 uint32_t attachment; 6044 VkImageLayout layout; 6045 VkImageAspectFlags aspectMask; 6046 } VkAttachmentReference2; 6047 6048 typedef struct VkSubpassDescription2 { 6049 VkStructureType sType; 6050 const void* pNext; 6051 VkSubpassDescriptionFlags flags; 6052 VkPipelineBindPoint pipelineBindPoint; 6053 uint32_t viewMask; 6054 uint32_t inputAttachmentCount; 6055 const VkAttachmentReference2* pInputAttachments; 6056 uint32_t colorAttachmentCount; 6057 const VkAttachmentReference2* pColorAttachments; 6058 const VkAttachmentReference2* pResolveAttachments; 6059 const VkAttachmentReference2* pDepthStencilAttachment; 6060 uint32_t preserveAttachmentCount; 6061 const uint32_t* pPreserveAttachments; 6062 } VkSubpassDescription2; 6063 6064 typedef struct VkSubpassDependency2 { 6065 VkStructureType sType; 6066 const void* pNext; 6067 uint32_t srcSubpass; 6068 uint32_t dstSubpass; 6069 VkPipelineStageFlags srcStageMask; 6070 VkPipelineStageFlags dstStageMask; 6071 VkAccessFlags srcAccessMask; 6072 VkAccessFlags dstAccessMask; 6073 VkDependencyFlags dependencyFlags; 6074 int32_t viewOffset; 6075 } VkSubpassDependency2; 6076 6077 typedef struct VkRenderPassCreateInfo2 { 6078 VkStructureType sType; 6079 const void* pNext; 6080 VkRenderPassCreateFlags flags; 6081 uint32_t attachmentCount; 6082 const VkAttachmentDescription2* pAttachments; 6083 uint32_t subpassCount; 6084 const VkSubpassDescription2* pSubpasses; 6085 uint32_t dependencyCount; 6086 const VkSubpassDependency2* pDependencies; 6087 uint32_t correlatedViewMaskCount; 6088 const uint32_t* pCorrelatedViewMasks; 6089 } VkRenderPassCreateInfo2; 6090 6091 typedef struct VkSubpassBeginInfo { 6092 VkStructureType sType; 6093 const void* pNext; 6094 VkSubpassContents contents; 6095 } VkSubpassBeginInfo; 6096 6097 typedef struct VkSubpassEndInfo { 6098 VkStructureType sType; 6099 const void* pNext; 6100 } VkSubpassEndInfo; 6101 6102 typedef struct VkPhysicalDevice8BitStorageFeatures { 6103 VkStructureType sType; 6104 void* pNext; 6105 VkBool32 storageBuffer8BitAccess; 6106 VkBool32 uniformAndStorageBuffer8BitAccess; 6107 VkBool32 storagePushConstant8; 6108 } VkPhysicalDevice8BitStorageFeatures; 6109 6110 typedef struct VkPhysicalDeviceDriverProperties { 6111 VkStructureType sType; 6112 void* pNext; 6113 VkDriverId driverID; 6114 char driverName[VK_MAX_DRIVER_NAME_SIZE]; 6115 char driverInfo[VK_MAX_DRIVER_INFO_SIZE]; 6116 VkConformanceVersion conformanceVersion; 6117 } VkPhysicalDeviceDriverProperties; 6118 6119 typedef struct VkPhysicalDeviceShaderAtomicInt64Features { 6120 VkStructureType sType; 6121 void* pNext; 6122 VkBool32 shaderBufferInt64Atomics; 6123 VkBool32 shaderSharedInt64Atomics; 6124 } VkPhysicalDeviceShaderAtomicInt64Features; 6125 6126 typedef struct VkPhysicalDeviceShaderFloat16Int8Features { 6127 VkStructureType sType; 6128 void* pNext; 6129 VkBool32 shaderFloat16; 6130 VkBool32 shaderInt8; 6131 } VkPhysicalDeviceShaderFloat16Int8Features; 6132 6133 typedef struct VkPhysicalDeviceFloatControlsProperties { 6134 VkStructureType sType; 6135 void* pNext; 6136 VkShaderFloatControlsIndependence denormBehaviorIndependence; 6137 VkShaderFloatControlsIndependence roundingModeIndependence; 6138 VkBool32 shaderSignedZeroInfNanPreserveFloat16; 6139 VkBool32 shaderSignedZeroInfNanPreserveFloat32; 6140 VkBool32 shaderSignedZeroInfNanPreserveFloat64; 6141 VkBool32 shaderDenormPreserveFloat16; 6142 VkBool32 shaderDenormPreserveFloat32; 6143 VkBool32 shaderDenormPreserveFloat64; 6144 VkBool32 shaderDenormFlushToZeroFloat16; 6145 VkBool32 shaderDenormFlushToZeroFloat32; 6146 VkBool32 shaderDenormFlushToZeroFloat64; 6147 VkBool32 shaderRoundingModeRTEFloat16; 6148 VkBool32 shaderRoundingModeRTEFloat32; 6149 VkBool32 shaderRoundingModeRTEFloat64; 6150 VkBool32 shaderRoundingModeRTZFloat16; 6151 VkBool32 shaderRoundingModeRTZFloat32; 6152 VkBool32 shaderRoundingModeRTZFloat64; 6153 } VkPhysicalDeviceFloatControlsProperties; 6154 6155 typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo { 6156 VkStructureType sType; 6157 const void* pNext; 6158 uint32_t bindingCount; 6159 const VkDescriptorBindingFlags* pBindingFlags; 6160 } VkDescriptorSetLayoutBindingFlagsCreateInfo; 6161 6162 typedef struct VkPhysicalDeviceDescriptorIndexingFeatures { 6163 VkStructureType sType; 6164 void* pNext; 6165 VkBool32 shaderInputAttachmentArrayDynamicIndexing; 6166 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing; 6167 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing; 6168 VkBool32 shaderUniformBufferArrayNonUniformIndexing; 6169 VkBool32 shaderSampledImageArrayNonUniformIndexing; 6170 VkBool32 shaderStorageBufferArrayNonUniformIndexing; 6171 VkBool32 shaderStorageImageArrayNonUniformIndexing; 6172 VkBool32 shaderInputAttachmentArrayNonUniformIndexing; 6173 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing; 6174 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing; 6175 VkBool32 descriptorBindingUniformBufferUpdateAfterBind; 6176 VkBool32 descriptorBindingSampledImageUpdateAfterBind; 6177 VkBool32 descriptorBindingStorageImageUpdateAfterBind; 6178 VkBool32 descriptorBindingStorageBufferUpdateAfterBind; 6179 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind; 6180 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind; 6181 VkBool32 descriptorBindingUpdateUnusedWhilePending; 6182 VkBool32 descriptorBindingPartiallyBound; 6183 VkBool32 descriptorBindingVariableDescriptorCount; 6184 VkBool32 runtimeDescriptorArray; 6185 } VkPhysicalDeviceDescriptorIndexingFeatures; 6186 6187 typedef struct VkPhysicalDeviceDescriptorIndexingProperties { 6188 VkStructureType sType; 6189 void* pNext; 6190 uint32_t maxUpdateAfterBindDescriptorsInAllPools; 6191 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative; 6192 VkBool32 shaderSampledImageArrayNonUniformIndexingNative; 6193 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative; 6194 VkBool32 shaderStorageImageArrayNonUniformIndexingNative; 6195 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative; 6196 VkBool32 robustBufferAccessUpdateAfterBind; 6197 VkBool32 quadDivergentImplicitLod; 6198 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers; 6199 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers; 6200 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers; 6201 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages; 6202 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages; 6203 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments; 6204 uint32_t maxPerStageUpdateAfterBindResources; 6205 uint32_t maxDescriptorSetUpdateAfterBindSamplers; 6206 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers; 6207 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic; 6208 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers; 6209 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic; 6210 uint32_t maxDescriptorSetUpdateAfterBindSampledImages; 6211 uint32_t maxDescriptorSetUpdateAfterBindStorageImages; 6212 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments; 6213 } VkPhysicalDeviceDescriptorIndexingProperties; 6214 6215 typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo { 6216 VkStructureType sType; 6217 const void* pNext; 6218 uint32_t descriptorSetCount; 6219 const uint32_t* pDescriptorCounts; 6220 } VkDescriptorSetVariableDescriptorCountAllocateInfo; 6221 6222 typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport { 6223 VkStructureType sType; 6224 void* pNext; 6225 uint32_t maxVariableDescriptorCount; 6226 } VkDescriptorSetVariableDescriptorCountLayoutSupport; 6227 6228 typedef struct VkSubpassDescriptionDepthStencilResolve { 6229 VkStructureType sType; 6230 const void* pNext; 6231 VkResolveModeFlagBits depthResolveMode; 6232 VkResolveModeFlagBits stencilResolveMode; 6233 const VkAttachmentReference2* pDepthStencilResolveAttachment; 6234 } VkSubpassDescriptionDepthStencilResolve; 6235 6236 typedef struct VkPhysicalDeviceDepthStencilResolveProperties { 6237 VkStructureType sType; 6238 void* pNext; 6239 VkResolveModeFlags supportedDepthResolveModes; 6240 VkResolveModeFlags supportedStencilResolveModes; 6241 VkBool32 independentResolveNone; 6242 VkBool32 independentResolve; 6243 } VkPhysicalDeviceDepthStencilResolveProperties; 6244 6245 typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures { 6246 VkStructureType sType; 6247 void* pNext; 6248 VkBool32 scalarBlockLayout; 6249 } VkPhysicalDeviceScalarBlockLayoutFeatures; 6250 6251 typedef struct VkImageStencilUsageCreateInfo { 6252 VkStructureType sType; 6253 const void* pNext; 6254 VkImageUsageFlags stencilUsage; 6255 } VkImageStencilUsageCreateInfo; 6256 6257 typedef struct VkSamplerReductionModeCreateInfo { 6258 VkStructureType sType; 6259 const void* pNext; 6260 VkSamplerReductionMode reductionMode; 6261 } VkSamplerReductionModeCreateInfo; 6262 6263 typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties { 6264 VkStructureType sType; 6265 void* pNext; 6266 VkBool32 filterMinmaxSingleComponentFormats; 6267 VkBool32 filterMinmaxImageComponentMapping; 6268 } VkPhysicalDeviceSamplerFilterMinmaxProperties; 6269 6270 typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures { 6271 VkStructureType sType; 6272 void* pNext; 6273 VkBool32 vulkanMemoryModel; 6274 VkBool32 vulkanMemoryModelDeviceScope; 6275 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains; 6276 } VkPhysicalDeviceVulkanMemoryModelFeatures; 6277 6278 typedef struct VkPhysicalDeviceImagelessFramebufferFeatures { 6279 VkStructureType sType; 6280 void* pNext; 6281 VkBool32 imagelessFramebuffer; 6282 } VkPhysicalDeviceImagelessFramebufferFeatures; 6283 6284 typedef struct VkFramebufferAttachmentImageInfo { 6285 VkStructureType sType; 6286 const void* pNext; 6287 VkImageCreateFlags flags; 6288 VkImageUsageFlags usage; 6289 uint32_t width; 6290 uint32_t height; 6291 uint32_t layerCount; 6292 uint32_t viewFormatCount; 6293 const VkFormat* pViewFormats; 6294 } VkFramebufferAttachmentImageInfo; 6295 6296 typedef struct VkFramebufferAttachmentsCreateInfo { 6297 VkStructureType sType; 6298 const void* pNext; 6299 uint32_t attachmentImageInfoCount; 6300 const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos; 6301 } VkFramebufferAttachmentsCreateInfo; 6302 6303 typedef struct VkRenderPassAttachmentBeginInfo { 6304 VkStructureType sType; 6305 const void* pNext; 6306 uint32_t attachmentCount; 6307 const VkImageView* pAttachments; 6308 } VkRenderPassAttachmentBeginInfo; 6309 6310 typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures { 6311 VkStructureType sType; 6312 void* pNext; 6313 VkBool32 uniformBufferStandardLayout; 6314 } VkPhysicalDeviceUniformBufferStandardLayoutFeatures; 6315 6316 typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures { 6317 VkStructureType sType; 6318 void* pNext; 6319 VkBool32 shaderSubgroupExtendedTypes; 6320 } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures; 6321 6322 typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures { 6323 VkStructureType sType; 6324 void* pNext; 6325 VkBool32 separateDepthStencilLayouts; 6326 } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures; 6327 6328 typedef struct VkAttachmentReferenceStencilLayout { 6329 VkStructureType sType; 6330 void* pNext; 6331 VkImageLayout stencilLayout; 6332 } VkAttachmentReferenceStencilLayout; 6333 6334 typedef struct VkAttachmentDescriptionStencilLayout { 6335 VkStructureType sType; 6336 void* pNext; 6337 VkImageLayout stencilInitialLayout; 6338 VkImageLayout stencilFinalLayout; 6339 } VkAttachmentDescriptionStencilLayout; 6340 6341 typedef struct VkPhysicalDeviceHostQueryResetFeatures { 6342 VkStructureType sType; 6343 void* pNext; 6344 VkBool32 hostQueryReset; 6345 } VkPhysicalDeviceHostQueryResetFeatures; 6346 6347 typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures { 6348 VkStructureType sType; 6349 void* pNext; 6350 VkBool32 timelineSemaphore; 6351 } VkPhysicalDeviceTimelineSemaphoreFeatures; 6352 6353 typedef struct VkPhysicalDeviceTimelineSemaphoreProperties { 6354 VkStructureType sType; 6355 void* pNext; 6356 uint64_t maxTimelineSemaphoreValueDifference; 6357 } VkPhysicalDeviceTimelineSemaphoreProperties; 6358 6359 typedef struct VkSemaphoreTypeCreateInfo { 6360 VkStructureType sType; 6361 const void* pNext; 6362 VkSemaphoreType semaphoreType; 6363 uint64_t initialValue; 6364 } VkSemaphoreTypeCreateInfo; 6365 6366 typedef struct VkTimelineSemaphoreSubmitInfo { 6367 VkStructureType sType; 6368 const void* pNext; 6369 uint32_t waitSemaphoreValueCount; 6370 const uint64_t* pWaitSemaphoreValues; 6371 uint32_t signalSemaphoreValueCount; 6372 const uint64_t* pSignalSemaphoreValues; 6373 } VkTimelineSemaphoreSubmitInfo; 6374 6375 typedef struct VkSemaphoreWaitInfo { 6376 VkStructureType sType; 6377 const void* pNext; 6378 VkSemaphoreWaitFlags flags; 6379 uint32_t semaphoreCount; 6380 const VkSemaphore* pSemaphores; 6381 const uint64_t* pValues; 6382 } VkSemaphoreWaitInfo; 6383 6384 typedef struct VkSemaphoreSignalInfo { 6385 VkStructureType sType; 6386 const void* pNext; 6387 VkSemaphore semaphore; 6388 uint64_t value; 6389 } VkSemaphoreSignalInfo; 6390 6391 typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures { 6392 VkStructureType sType; 6393 void* pNext; 6394 VkBool32 bufferDeviceAddress; 6395 VkBool32 bufferDeviceAddressCaptureReplay; 6396 VkBool32 bufferDeviceAddressMultiDevice; 6397 } VkPhysicalDeviceBufferDeviceAddressFeatures; 6398 6399 typedef struct VkBufferDeviceAddressInfo { 6400 VkStructureType sType; 6401 const void* pNext; 6402 VkBuffer buffer; 6403 } VkBufferDeviceAddressInfo; 6404 6405 typedef struct VkBufferOpaqueCaptureAddressCreateInfo { 6406 VkStructureType sType; 6407 const void* pNext; 6408 uint64_t opaqueCaptureAddress; 6409 } VkBufferOpaqueCaptureAddressCreateInfo; 6410 6411 typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo { 6412 VkStructureType sType; 6413 const void* pNext; 6414 uint64_t opaqueCaptureAddress; 6415 } VkMemoryOpaqueCaptureAddressAllocateInfo; 6416 6417 typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo { 6418 VkStructureType sType; 6419 const void* pNext; 6420 VkDeviceMemory memory; 6421 } VkDeviceMemoryOpaqueCaptureAddressInfo; 6422 6423 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 6424 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 6425 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); 6426 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo); 6427 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo); 6428 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo); 6429 typedef void (VKAPI_PTR *PFN_vkResetQueryPool)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount); 6430 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValue)(VkDevice device, VkSemaphore semaphore, uint64_t* pValue); 6431 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphores)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout); 6432 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphore)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo); 6433 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 6434 typedef uint64_t (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 6435 typedef uint64_t (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); 6436 6437 #ifndef VK_NO_PROTOTYPES 6438 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCount( 6439 VkCommandBuffer commandBuffer, 6440 VkBuffer buffer, 6441 VkDeviceSize offset, 6442 VkBuffer countBuffer, 6443 VkDeviceSize countBufferOffset, 6444 uint32_t maxDrawCount, 6445 uint32_t stride); 6446 6447 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCount( 6448 VkCommandBuffer commandBuffer, 6449 VkBuffer buffer, 6450 VkDeviceSize offset, 6451 VkBuffer countBuffer, 6452 VkDeviceSize countBufferOffset, 6453 uint32_t maxDrawCount, 6454 uint32_t stride); 6455 6456 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2( 6457 VkDevice device, 6458 const VkRenderPassCreateInfo2* pCreateInfo, 6459 const VkAllocationCallbacks* pAllocator, 6460 VkRenderPass* pRenderPass); 6461 6462 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2( 6463 VkCommandBuffer commandBuffer, 6464 const VkRenderPassBeginInfo* pRenderPassBegin, 6465 const VkSubpassBeginInfo* pSubpassBeginInfo); 6466 6467 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2( 6468 VkCommandBuffer commandBuffer, 6469 const VkSubpassBeginInfo* pSubpassBeginInfo, 6470 const VkSubpassEndInfo* pSubpassEndInfo); 6471 6472 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2( 6473 VkCommandBuffer commandBuffer, 6474 const VkSubpassEndInfo* pSubpassEndInfo); 6475 6476 VKAPI_ATTR void VKAPI_CALL vkResetQueryPool( 6477 VkDevice device, 6478 VkQueryPool queryPool, 6479 uint32_t firstQuery, 6480 uint32_t queryCount); 6481 6482 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValue( 6483 VkDevice device, 6484 VkSemaphore semaphore, 6485 uint64_t* pValue); 6486 6487 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphores( 6488 VkDevice device, 6489 const VkSemaphoreWaitInfo* pWaitInfo, 6490 uint64_t timeout); 6491 6492 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphore( 6493 VkDevice device, 6494 const VkSemaphoreSignalInfo* pSignalInfo); 6495 6496 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddress( 6497 VkDevice device, 6498 const VkBufferDeviceAddressInfo* pInfo); 6499 6500 VKAPI_ATTR uint64_t VKAPI_CALL vkGetBufferOpaqueCaptureAddress( 6501 VkDevice device, 6502 const VkBufferDeviceAddressInfo* pInfo); 6503 6504 VKAPI_ATTR uint64_t VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddress( 6505 VkDevice device, 6506 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); 6507 #endif 6508 6509 6510 // VK_VERSION_1_3 is a preprocessor guard. Do not pass it to API calls. 6511 #define VK_VERSION_1_3 1 6512 // Vulkan 1.3 version number 6513 #define VK_API_VERSION_1_3 VK_MAKE_API_VERSION(0, 1, 3, 0)// Patch version should always be set to 0 6514 6515 typedef uint64_t VkFlags64; 6516 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlot) 6517 6518 typedef enum VkPipelineCreationFeedbackFlagBits { 6519 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT = 0x00000001, 6520 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT = 0x00000002, 6521 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT = 0x00000004, 6522 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT, 6523 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT, 6524 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT, 6525 VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 6526 } VkPipelineCreationFeedbackFlagBits; 6527 typedef VkFlags VkPipelineCreationFeedbackFlags; 6528 6529 typedef enum VkToolPurposeFlagBits { 6530 VK_TOOL_PURPOSE_VALIDATION_BIT = 0x00000001, 6531 VK_TOOL_PURPOSE_PROFILING_BIT = 0x00000002, 6532 VK_TOOL_PURPOSE_TRACING_BIT = 0x00000004, 6533 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT = 0x00000008, 6534 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT = 0x00000010, 6535 VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 0x00000020, 6536 VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 0x00000040, 6537 VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = VK_TOOL_PURPOSE_VALIDATION_BIT, 6538 VK_TOOL_PURPOSE_PROFILING_BIT_EXT = VK_TOOL_PURPOSE_PROFILING_BIT, 6539 VK_TOOL_PURPOSE_TRACING_BIT_EXT = VK_TOOL_PURPOSE_TRACING_BIT, 6540 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT, 6541 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT, 6542 VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 6543 } VkToolPurposeFlagBits; 6544 typedef VkFlags VkToolPurposeFlags; 6545 typedef VkFlags VkPrivateDataSlotCreateFlags; 6546 typedef VkFlags64 VkPipelineStageFlags2; 6547 6548 // Flag bits for VkPipelineStageFlagBits2 6549 typedef VkFlags64 VkPipelineStageFlagBits2; 6550 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_NONE = 0ULL; 6551 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_NONE_KHR = 0ULL; 6552 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT = 0x00000001ULL; 6553 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR = 0x00000001ULL; 6554 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT = 0x00000002ULL; 6555 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR = 0x00000002ULL; 6556 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT = 0x00000004ULL; 6557 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR = 0x00000004ULL; 6558 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT = 0x00000008ULL; 6559 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR = 0x00000008ULL; 6560 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010ULL; 6561 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR = 0x00000010ULL; 6562 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020ULL; 6563 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR = 0x00000020ULL; 6564 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT = 0x00000040ULL; 6565 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR = 0x00000040ULL; 6566 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT = 0x00000080ULL; 6567 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR = 0x00000080ULL; 6568 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT = 0x00000100ULL; 6569 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR = 0x00000100ULL; 6570 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT = 0x00000200ULL; 6571 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR = 0x00000200ULL; 6572 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400ULL; 6573 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR = 0x00000400ULL; 6574 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT = 0x00000800ULL; 6575 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR = 0x00000800ULL; 6576 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT = 0x00001000ULL; 6577 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR = 0x00001000ULL; 6578 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFER_BIT = 0x00001000ULL; 6579 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR = 0x00001000ULL; 6580 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT = 0x00002000ULL; 6581 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR = 0x00002000ULL; 6582 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_HOST_BIT = 0x00004000ULL; 6583 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_HOST_BIT_KHR = 0x00004000ULL; 6584 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT = 0x00008000ULL; 6585 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR = 0x00008000ULL; 6586 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT = 0x00010000ULL; 6587 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR = 0x00010000ULL; 6588 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT = 0x100000000ULL; 6589 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT_KHR = 0x100000000ULL; 6590 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RESOLVE_BIT = 0x200000000ULL; 6591 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR = 0x200000000ULL; 6592 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BLIT_BIT = 0x400000000ULL; 6593 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BLIT_BIT_KHR = 0x400000000ULL; 6594 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLEAR_BIT = 0x800000000ULL; 6595 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR = 0x800000000ULL; 6596 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT = 0x1000000000ULL; 6597 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = 0x1000000000ULL; 6598 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT = 0x2000000000ULL; 6599 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = 0x2000000000ULL; 6600 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT = 0x4000000000ULL; 6601 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = 0x4000000000ULL; 6602 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR = 0x04000000ULL; 6603 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR = 0x08000000ULL; 6604 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000ULL; 6605 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000ULL; 6606 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = 0x00020000ULL; 6607 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000ULL; 6608 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV = 0x00400000ULL; 6609 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000ULL; 6610 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR = 0x00200000ULL; 6611 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV = 0x00200000ULL; 6612 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000ULL; 6613 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000ULL; 6614 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV = 0x00080000ULL; 6615 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = 0x00100000ULL; 6616 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT = 0x00080000ULL; 6617 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT = 0x00100000ULL; 6618 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI = 0x8000000000ULL; 6619 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI = 0x8000000000ULL; 6620 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI = 0x10000000000ULL; 6621 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR = 0x10000000ULL; 6622 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT = 0x40000000ULL; 6623 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI = 0x20000000000ULL; 6624 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV = 0x20000000ULL; 6625 6626 typedef VkFlags64 VkAccessFlags2; 6627 6628 // Flag bits for VkAccessFlagBits2 6629 typedef VkFlags64 VkAccessFlagBits2; 6630 static const VkAccessFlagBits2 VK_ACCESS_2_NONE = 0ULL; 6631 static const VkAccessFlagBits2 VK_ACCESS_2_NONE_KHR = 0ULL; 6632 static const VkAccessFlagBits2 VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT = 0x00000001ULL; 6633 static const VkAccessFlagBits2 VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR = 0x00000001ULL; 6634 static const VkAccessFlagBits2 VK_ACCESS_2_INDEX_READ_BIT = 0x00000002ULL; 6635 static const VkAccessFlagBits2 VK_ACCESS_2_INDEX_READ_BIT_KHR = 0x00000002ULL; 6636 static const VkAccessFlagBits2 VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004ULL; 6637 static const VkAccessFlagBits2 VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR = 0x00000004ULL; 6638 static const VkAccessFlagBits2 VK_ACCESS_2_UNIFORM_READ_BIT = 0x00000008ULL; 6639 static const VkAccessFlagBits2 VK_ACCESS_2_UNIFORM_READ_BIT_KHR = 0x00000008ULL; 6640 static const VkAccessFlagBits2 VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT = 0x00000010ULL; 6641 static const VkAccessFlagBits2 VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR = 0x00000010ULL; 6642 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_READ_BIT = 0x00000020ULL; 6643 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_READ_BIT_KHR = 0x00000020ULL; 6644 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_WRITE_BIT = 0x00000040ULL; 6645 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_WRITE_BIT_KHR = 0x00000040ULL; 6646 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT = 0x00000080ULL; 6647 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR = 0x00000080ULL; 6648 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100ULL; 6649 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR = 0x00000100ULL; 6650 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200ULL; 6651 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR = 0x00000200ULL; 6652 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400ULL; 6653 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR = 0x00000400ULL; 6654 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_READ_BIT = 0x00000800ULL; 6655 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_READ_BIT_KHR = 0x00000800ULL; 6656 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_WRITE_BIT = 0x00001000ULL; 6657 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR = 0x00001000ULL; 6658 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_READ_BIT = 0x00002000ULL; 6659 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_READ_BIT_KHR = 0x00002000ULL; 6660 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_WRITE_BIT = 0x00004000ULL; 6661 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_WRITE_BIT_KHR = 0x00004000ULL; 6662 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_READ_BIT = 0x00008000ULL; 6663 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_READ_BIT_KHR = 0x00008000ULL; 6664 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_WRITE_BIT = 0x00010000ULL; 6665 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_WRITE_BIT_KHR = 0x00010000ULL; 6666 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_SAMPLED_READ_BIT = 0x100000000ULL; 6667 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR = 0x100000000ULL; 6668 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT = 0x200000000ULL; 6669 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 0x200000000ULL; 6670 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT = 0x400000000ULL; 6671 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 0x400000000ULL; 6672 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR = 0x800000000ULL; 6673 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR = 0x1000000000ULL; 6674 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR = 0x2000000000ULL; 6675 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR = 0x4000000000ULL; 6676 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000ULL; 6677 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000ULL; 6678 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000ULL; 6679 static const VkAccessFlagBits2 VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000ULL; 6680 static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000ULL; 6681 static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000ULL; 6682 static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000ULL; 6683 static const VkAccessFlagBits2 VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000ULL; 6684 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000ULL; 6685 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000ULL; 6686 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000ULL; 6687 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000ULL; 6688 static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000ULL; 6689 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000ULL; 6690 static const VkAccessFlagBits2 VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT = 0x20000000000ULL; 6691 static const VkAccessFlagBits2 VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI = 0x8000000000ULL; 6692 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR = 0x10000000000ULL; 6693 static const VkAccessFlagBits2 VK_ACCESS_2_MICROMAP_READ_BIT_EXT = 0x100000000000ULL; 6694 static const VkAccessFlagBits2 VK_ACCESS_2_MICROMAP_WRITE_BIT_EXT = 0x200000000000ULL; 6695 static const VkAccessFlagBits2 VK_ACCESS_2_OPTICAL_FLOW_READ_BIT_NV = 0x40000000000ULL; 6696 static const VkAccessFlagBits2 VK_ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV = 0x80000000000ULL; 6697 6698 6699 typedef enum VkSubmitFlagBits { 6700 VK_SUBMIT_PROTECTED_BIT = 0x00000001, 6701 VK_SUBMIT_PROTECTED_BIT_KHR = VK_SUBMIT_PROTECTED_BIT, 6702 VK_SUBMIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 6703 } VkSubmitFlagBits; 6704 typedef VkFlags VkSubmitFlags; 6705 6706 typedef enum VkRenderingFlagBits { 6707 VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT = 0x00000001, 6708 VK_RENDERING_SUSPENDING_BIT = 0x00000002, 6709 VK_RENDERING_RESUMING_BIT = 0x00000004, 6710 VK_RENDERING_CONTENTS_INLINE_BIT_EXT = 0x00000010, 6711 VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT = 0x00000008, 6712 VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT, 6713 VK_RENDERING_SUSPENDING_BIT_KHR = VK_RENDERING_SUSPENDING_BIT, 6714 VK_RENDERING_RESUMING_BIT_KHR = VK_RENDERING_RESUMING_BIT, 6715 VK_RENDERING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 6716 } VkRenderingFlagBits; 6717 typedef VkFlags VkRenderingFlags; 6718 typedef VkFlags64 VkFormatFeatureFlags2; 6719 6720 // Flag bits for VkFormatFeatureFlagBits2 6721 typedef VkFlags64 VkFormatFeatureFlagBits2; 6722 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT = 0x00000001ULL; 6723 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR = 0x00000001ULL; 6724 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT = 0x00000002ULL; 6725 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR = 0x00000002ULL; 6726 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004ULL; 6727 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR = 0x00000004ULL; 6728 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008ULL; 6729 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR = 0x00000008ULL; 6730 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT = 0x00000010ULL; 6731 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT_KHR = 0x00000010ULL; 6732 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020ULL; 6733 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR = 0x00000020ULL; 6734 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT = 0x00000040ULL; 6735 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR = 0x00000040ULL; 6736 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT = 0x00000080ULL; 6737 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR = 0x00000080ULL; 6738 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100ULL; 6739 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR = 0x00000100ULL; 6740 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200ULL; 6741 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR = 0x00000200ULL; 6742 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_SRC_BIT = 0x00000400ULL; 6743 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR = 0x00000400ULL; 6744 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_DST_BIT = 0x00000800ULL; 6745 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_DST_BIT_KHR = 0x00000800ULL; 6746 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000ULL; 6747 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR = 0x00001000ULL; 6748 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT = 0x00002000ULL; 6749 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = 0x00002000ULL; 6750 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT = 0x00004000ULL; 6751 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR = 0x00004000ULL; 6752 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT = 0x00008000ULL; 6753 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR = 0x00008000ULL; 6754 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000ULL; 6755 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR = 0x00010000ULL; 6756 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000ULL; 6757 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = 0x00020000ULL; 6758 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000ULL; 6759 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = 0x00040000ULL; 6760 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000ULL; 6761 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = 0x00080000ULL; 6762 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000ULL; 6763 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = 0x00100000ULL; 6764 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000ULL; 6765 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR = 0x00200000ULL; 6766 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DISJOINT_BIT = 0x00400000ULL; 6767 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DISJOINT_BIT_KHR = 0x00400000ULL; 6768 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT = 0x00800000ULL; 6769 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR = 0x00800000ULL; 6770 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT = 0x80000000ULL; 6771 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR = 0x80000000ULL; 6772 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT = 0x100000000ULL; 6773 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR = 0x100000000ULL; 6774 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT = 0x200000000ULL; 6775 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR = 0x200000000ULL; 6776 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000ULL; 6777 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000ULL; 6778 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000ULL; 6779 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000ULL; 6780 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000ULL; 6781 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_HOST_IMAGE_TRANSFER_BIT_EXT = 0x400000000000ULL; 6782 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000ULL; 6783 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000ULL; 6784 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV = 0x4000000000ULL; 6785 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM = 0x400000000ULL; 6786 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM = 0x800000000ULL; 6787 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM = 0x1000000000ULL; 6788 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM = 0x2000000000ULL; 6789 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_IMAGE_BIT_NV = 0x10000000000ULL; 6790 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_VECTOR_BIT_NV = 0x20000000000ULL; 6791 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_COST_BIT_NV = 0x40000000000ULL; 6792 6793 typedef struct VkPhysicalDeviceVulkan13Features { 6794 VkStructureType sType; 6795 void* pNext; 6796 VkBool32 robustImageAccess; 6797 VkBool32 inlineUniformBlock; 6798 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind; 6799 VkBool32 pipelineCreationCacheControl; 6800 VkBool32 privateData; 6801 VkBool32 shaderDemoteToHelperInvocation; 6802 VkBool32 shaderTerminateInvocation; 6803 VkBool32 subgroupSizeControl; 6804 VkBool32 computeFullSubgroups; 6805 VkBool32 synchronization2; 6806 VkBool32 textureCompressionASTC_HDR; 6807 VkBool32 shaderZeroInitializeWorkgroupMemory; 6808 VkBool32 dynamicRendering; 6809 VkBool32 shaderIntegerDotProduct; 6810 VkBool32 maintenance4; 6811 } VkPhysicalDeviceVulkan13Features; 6812 6813 typedef struct VkPhysicalDeviceVulkan13Properties { 6814 VkStructureType sType; 6815 void* pNext; 6816 uint32_t minSubgroupSize; 6817 uint32_t maxSubgroupSize; 6818 uint32_t maxComputeWorkgroupSubgroups; 6819 VkShaderStageFlags requiredSubgroupSizeStages; 6820 uint32_t maxInlineUniformBlockSize; 6821 uint32_t maxPerStageDescriptorInlineUniformBlocks; 6822 uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks; 6823 uint32_t maxDescriptorSetInlineUniformBlocks; 6824 uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks; 6825 uint32_t maxInlineUniformTotalSize; 6826 VkBool32 integerDotProduct8BitUnsignedAccelerated; 6827 VkBool32 integerDotProduct8BitSignedAccelerated; 6828 VkBool32 integerDotProduct8BitMixedSignednessAccelerated; 6829 VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated; 6830 VkBool32 integerDotProduct4x8BitPackedSignedAccelerated; 6831 VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated; 6832 VkBool32 integerDotProduct16BitUnsignedAccelerated; 6833 VkBool32 integerDotProduct16BitSignedAccelerated; 6834 VkBool32 integerDotProduct16BitMixedSignednessAccelerated; 6835 VkBool32 integerDotProduct32BitUnsignedAccelerated; 6836 VkBool32 integerDotProduct32BitSignedAccelerated; 6837 VkBool32 integerDotProduct32BitMixedSignednessAccelerated; 6838 VkBool32 integerDotProduct64BitUnsignedAccelerated; 6839 VkBool32 integerDotProduct64BitSignedAccelerated; 6840 VkBool32 integerDotProduct64BitMixedSignednessAccelerated; 6841 VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated; 6842 VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated; 6843 VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated; 6844 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated; 6845 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated; 6846 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated; 6847 VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated; 6848 VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated; 6849 VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated; 6850 VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated; 6851 VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated; 6852 VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated; 6853 VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated; 6854 VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated; 6855 VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated; 6856 VkDeviceSize storageTexelBufferOffsetAlignmentBytes; 6857 VkBool32 storageTexelBufferOffsetSingleTexelAlignment; 6858 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes; 6859 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment; 6860 VkDeviceSize maxBufferSize; 6861 } VkPhysicalDeviceVulkan13Properties; 6862 6863 typedef struct VkPipelineCreationFeedback { 6864 VkPipelineCreationFeedbackFlags flags; 6865 uint64_t duration; 6866 } VkPipelineCreationFeedback; 6867 6868 typedef struct VkPipelineCreationFeedbackCreateInfo { 6869 VkStructureType sType; 6870 const void* pNext; 6871 VkPipelineCreationFeedback* pPipelineCreationFeedback; 6872 uint32_t pipelineStageCreationFeedbackCount; 6873 VkPipelineCreationFeedback* pPipelineStageCreationFeedbacks; 6874 } VkPipelineCreationFeedbackCreateInfo; 6875 6876 typedef struct VkPhysicalDeviceShaderTerminateInvocationFeatures { 6877 VkStructureType sType; 6878 void* pNext; 6879 VkBool32 shaderTerminateInvocation; 6880 } VkPhysicalDeviceShaderTerminateInvocationFeatures; 6881 6882 typedef struct VkPhysicalDeviceToolProperties { 6883 VkStructureType sType; 6884 void* pNext; 6885 char name[VK_MAX_EXTENSION_NAME_SIZE]; 6886 char version[VK_MAX_EXTENSION_NAME_SIZE]; 6887 VkToolPurposeFlags purposes; 6888 char description[VK_MAX_DESCRIPTION_SIZE]; 6889 char layer[VK_MAX_EXTENSION_NAME_SIZE]; 6890 } VkPhysicalDeviceToolProperties; 6891 6892 typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures { 6893 VkStructureType sType; 6894 void* pNext; 6895 VkBool32 shaderDemoteToHelperInvocation; 6896 } VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures; 6897 6898 typedef struct VkPhysicalDevicePrivateDataFeatures { 6899 VkStructureType sType; 6900 void* pNext; 6901 VkBool32 privateData; 6902 } VkPhysicalDevicePrivateDataFeatures; 6903 6904 typedef struct VkDevicePrivateDataCreateInfo { 6905 VkStructureType sType; 6906 const void* pNext; 6907 uint32_t privateDataSlotRequestCount; 6908 } VkDevicePrivateDataCreateInfo; 6909 6910 typedef struct VkPrivateDataSlotCreateInfo { 6911 VkStructureType sType; 6912 const void* pNext; 6913 VkPrivateDataSlotCreateFlags flags; 6914 } VkPrivateDataSlotCreateInfo; 6915 6916 typedef struct VkPhysicalDevicePipelineCreationCacheControlFeatures { 6917 VkStructureType sType; 6918 void* pNext; 6919 VkBool32 pipelineCreationCacheControl; 6920 } VkPhysicalDevicePipelineCreationCacheControlFeatures; 6921 6922 typedef struct VkMemoryBarrier2 { 6923 VkStructureType sType; 6924 const void* pNext; 6925 VkPipelineStageFlags2 srcStageMask; 6926 VkAccessFlags2 srcAccessMask; 6927 VkPipelineStageFlags2 dstStageMask; 6928 VkAccessFlags2 dstAccessMask; 6929 } VkMemoryBarrier2; 6930 6931 typedef struct VkBufferMemoryBarrier2 { 6932 VkStructureType sType; 6933 const void* pNext; 6934 VkPipelineStageFlags2 srcStageMask; 6935 VkAccessFlags2 srcAccessMask; 6936 VkPipelineStageFlags2 dstStageMask; 6937 VkAccessFlags2 dstAccessMask; 6938 uint32_t srcQueueFamilyIndex; 6939 uint32_t dstQueueFamilyIndex; 6940 VkBuffer buffer; 6941 VkDeviceSize offset; 6942 VkDeviceSize size; 6943 } VkBufferMemoryBarrier2; 6944 6945 typedef struct VkImageMemoryBarrier2 { 6946 VkStructureType sType; 6947 const void* pNext; 6948 VkPipelineStageFlags2 srcStageMask; 6949 VkAccessFlags2 srcAccessMask; 6950 VkPipelineStageFlags2 dstStageMask; 6951 VkAccessFlags2 dstAccessMask; 6952 VkImageLayout oldLayout; 6953 VkImageLayout newLayout; 6954 uint32_t srcQueueFamilyIndex; 6955 uint32_t dstQueueFamilyIndex; 6956 VkImage image; 6957 VkImageSubresourceRange subresourceRange; 6958 } VkImageMemoryBarrier2; 6959 6960 typedef struct VkDependencyInfo { 6961 VkStructureType sType; 6962 const void* pNext; 6963 VkDependencyFlags dependencyFlags; 6964 uint32_t memoryBarrierCount; 6965 const VkMemoryBarrier2* pMemoryBarriers; 6966 uint32_t bufferMemoryBarrierCount; 6967 const VkBufferMemoryBarrier2* pBufferMemoryBarriers; 6968 uint32_t imageMemoryBarrierCount; 6969 const VkImageMemoryBarrier2* pImageMemoryBarriers; 6970 } VkDependencyInfo; 6971 6972 typedef struct VkSemaphoreSubmitInfo { 6973 VkStructureType sType; 6974 const void* pNext; 6975 VkSemaphore semaphore; 6976 uint64_t value; 6977 VkPipelineStageFlags2 stageMask; 6978 uint32_t deviceIndex; 6979 } VkSemaphoreSubmitInfo; 6980 6981 typedef struct VkCommandBufferSubmitInfo { 6982 VkStructureType sType; 6983 const void* pNext; 6984 VkCommandBuffer commandBuffer; 6985 uint32_t deviceMask; 6986 } VkCommandBufferSubmitInfo; 6987 6988 typedef struct VkSubmitInfo2 { 6989 VkStructureType sType; 6990 const void* pNext; 6991 VkSubmitFlags flags; 6992 uint32_t waitSemaphoreInfoCount; 6993 const VkSemaphoreSubmitInfo* pWaitSemaphoreInfos; 6994 uint32_t commandBufferInfoCount; 6995 const VkCommandBufferSubmitInfo* pCommandBufferInfos; 6996 uint32_t signalSemaphoreInfoCount; 6997 const VkSemaphoreSubmitInfo* pSignalSemaphoreInfos; 6998 } VkSubmitInfo2; 6999 7000 typedef struct VkPhysicalDeviceSynchronization2Features { 7001 VkStructureType sType; 7002 void* pNext; 7003 VkBool32 synchronization2; 7004 } VkPhysicalDeviceSynchronization2Features; 7005 7006 typedef struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures { 7007 VkStructureType sType; 7008 void* pNext; 7009 VkBool32 shaderZeroInitializeWorkgroupMemory; 7010 } VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures; 7011 7012 typedef struct VkPhysicalDeviceImageRobustnessFeatures { 7013 VkStructureType sType; 7014 void* pNext; 7015 VkBool32 robustImageAccess; 7016 } VkPhysicalDeviceImageRobustnessFeatures; 7017 7018 typedef struct VkBufferCopy2 { 7019 VkStructureType sType; 7020 const void* pNext; 7021 VkDeviceSize srcOffset; 7022 VkDeviceSize dstOffset; 7023 VkDeviceSize size; 7024 } VkBufferCopy2; 7025 7026 typedef struct VkCopyBufferInfo2 { 7027 VkStructureType sType; 7028 const void* pNext; 7029 VkBuffer srcBuffer; 7030 VkBuffer dstBuffer; 7031 uint32_t regionCount; 7032 const VkBufferCopy2* pRegions; 7033 } VkCopyBufferInfo2; 7034 7035 typedef struct VkImageCopy2 { 7036 VkStructureType sType; 7037 const void* pNext; 7038 VkImageSubresourceLayers srcSubresource; 7039 VkOffset3D srcOffset; 7040 VkImageSubresourceLayers dstSubresource; 7041 VkOffset3D dstOffset; 7042 VkExtent3D extent; 7043 } VkImageCopy2; 7044 7045 typedef struct VkCopyImageInfo2 { 7046 VkStructureType sType; 7047 const void* pNext; 7048 VkImage srcImage; 7049 VkImageLayout srcImageLayout; 7050 VkImage dstImage; 7051 VkImageLayout dstImageLayout; 7052 uint32_t regionCount; 7053 const VkImageCopy2* pRegions; 7054 } VkCopyImageInfo2; 7055 7056 typedef struct VkBufferImageCopy2 { 7057 VkStructureType sType; 7058 const void* pNext; 7059 VkDeviceSize bufferOffset; 7060 uint32_t bufferRowLength; 7061 uint32_t bufferImageHeight; 7062 VkImageSubresourceLayers imageSubresource; 7063 VkOffset3D imageOffset; 7064 VkExtent3D imageExtent; 7065 } VkBufferImageCopy2; 7066 7067 typedef struct VkCopyBufferToImageInfo2 { 7068 VkStructureType sType; 7069 const void* pNext; 7070 VkBuffer srcBuffer; 7071 VkImage dstImage; 7072 VkImageLayout dstImageLayout; 7073 uint32_t regionCount; 7074 const VkBufferImageCopy2* pRegions; 7075 } VkCopyBufferToImageInfo2; 7076 7077 typedef struct VkCopyImageToBufferInfo2 { 7078 VkStructureType sType; 7079 const void* pNext; 7080 VkImage srcImage; 7081 VkImageLayout srcImageLayout; 7082 VkBuffer dstBuffer; 7083 uint32_t regionCount; 7084 const VkBufferImageCopy2* pRegions; 7085 } VkCopyImageToBufferInfo2; 7086 7087 typedef struct VkImageBlit2 { 7088 VkStructureType sType; 7089 const void* pNext; 7090 VkImageSubresourceLayers srcSubresource; 7091 VkOffset3D srcOffsets[2]; 7092 VkImageSubresourceLayers dstSubresource; 7093 VkOffset3D dstOffsets[2]; 7094 } VkImageBlit2; 7095 7096 typedef struct VkBlitImageInfo2 { 7097 VkStructureType sType; 7098 const void* pNext; 7099 VkImage srcImage; 7100 VkImageLayout srcImageLayout; 7101 VkImage dstImage; 7102 VkImageLayout dstImageLayout; 7103 uint32_t regionCount; 7104 const VkImageBlit2* pRegions; 7105 VkFilter filter; 7106 } VkBlitImageInfo2; 7107 7108 typedef struct VkImageResolve2 { 7109 VkStructureType sType; 7110 const void* pNext; 7111 VkImageSubresourceLayers srcSubresource; 7112 VkOffset3D srcOffset; 7113 VkImageSubresourceLayers dstSubresource; 7114 VkOffset3D dstOffset; 7115 VkExtent3D extent; 7116 } VkImageResolve2; 7117 7118 typedef struct VkResolveImageInfo2 { 7119 VkStructureType sType; 7120 const void* pNext; 7121 VkImage srcImage; 7122 VkImageLayout srcImageLayout; 7123 VkImage dstImage; 7124 VkImageLayout dstImageLayout; 7125 uint32_t regionCount; 7126 const VkImageResolve2* pRegions; 7127 } VkResolveImageInfo2; 7128 7129 typedef struct VkPhysicalDeviceSubgroupSizeControlFeatures { 7130 VkStructureType sType; 7131 void* pNext; 7132 VkBool32 subgroupSizeControl; 7133 VkBool32 computeFullSubgroups; 7134 } VkPhysicalDeviceSubgroupSizeControlFeatures; 7135 7136 typedef struct VkPhysicalDeviceSubgroupSizeControlProperties { 7137 VkStructureType sType; 7138 void* pNext; 7139 uint32_t minSubgroupSize; 7140 uint32_t maxSubgroupSize; 7141 uint32_t maxComputeWorkgroupSubgroups; 7142 VkShaderStageFlags requiredSubgroupSizeStages; 7143 } VkPhysicalDeviceSubgroupSizeControlProperties; 7144 7145 typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfo { 7146 VkStructureType sType; 7147 void* pNext; 7148 uint32_t requiredSubgroupSize; 7149 } VkPipelineShaderStageRequiredSubgroupSizeCreateInfo; 7150 7151 typedef struct VkPhysicalDeviceInlineUniformBlockFeatures { 7152 VkStructureType sType; 7153 void* pNext; 7154 VkBool32 inlineUniformBlock; 7155 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind; 7156 } VkPhysicalDeviceInlineUniformBlockFeatures; 7157 7158 typedef struct VkPhysicalDeviceInlineUniformBlockProperties { 7159 VkStructureType sType; 7160 void* pNext; 7161 uint32_t maxInlineUniformBlockSize; 7162 uint32_t maxPerStageDescriptorInlineUniformBlocks; 7163 uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks; 7164 uint32_t maxDescriptorSetInlineUniformBlocks; 7165 uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks; 7166 } VkPhysicalDeviceInlineUniformBlockProperties; 7167 7168 typedef struct VkWriteDescriptorSetInlineUniformBlock { 7169 VkStructureType sType; 7170 const void* pNext; 7171 uint32_t dataSize; 7172 const void* pData; 7173 } VkWriteDescriptorSetInlineUniformBlock; 7174 7175 typedef struct VkDescriptorPoolInlineUniformBlockCreateInfo { 7176 VkStructureType sType; 7177 const void* pNext; 7178 uint32_t maxInlineUniformBlockBindings; 7179 } VkDescriptorPoolInlineUniformBlockCreateInfo; 7180 7181 typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeatures { 7182 VkStructureType sType; 7183 void* pNext; 7184 VkBool32 textureCompressionASTC_HDR; 7185 } VkPhysicalDeviceTextureCompressionASTCHDRFeatures; 7186 7187 typedef struct VkRenderingAttachmentInfo { 7188 VkStructureType sType; 7189 const void* pNext; 7190 VkImageView imageView; 7191 VkImageLayout imageLayout; 7192 VkResolveModeFlagBits resolveMode; 7193 VkImageView resolveImageView; 7194 VkImageLayout resolveImageLayout; 7195 VkAttachmentLoadOp loadOp; 7196 VkAttachmentStoreOp storeOp; 7197 VkClearValue clearValue; 7198 } VkRenderingAttachmentInfo; 7199 7200 typedef struct VkRenderingInfo { 7201 VkStructureType sType; 7202 const void* pNext; 7203 VkRenderingFlags flags; 7204 VkRect2D renderArea; 7205 uint32_t layerCount; 7206 uint32_t viewMask; 7207 uint32_t colorAttachmentCount; 7208 const VkRenderingAttachmentInfo* pColorAttachments; 7209 const VkRenderingAttachmentInfo* pDepthAttachment; 7210 const VkRenderingAttachmentInfo* pStencilAttachment; 7211 } VkRenderingInfo; 7212 7213 typedef struct VkPipelineRenderingCreateInfo { 7214 VkStructureType sType; 7215 const void* pNext; 7216 uint32_t viewMask; 7217 uint32_t colorAttachmentCount; 7218 const VkFormat* pColorAttachmentFormats; 7219 VkFormat depthAttachmentFormat; 7220 VkFormat stencilAttachmentFormat; 7221 } VkPipelineRenderingCreateInfo; 7222 7223 typedef struct VkPhysicalDeviceDynamicRenderingFeatures { 7224 VkStructureType sType; 7225 void* pNext; 7226 VkBool32 dynamicRendering; 7227 } VkPhysicalDeviceDynamicRenderingFeatures; 7228 7229 typedef struct VkCommandBufferInheritanceRenderingInfo { 7230 VkStructureType sType; 7231 const void* pNext; 7232 VkRenderingFlags flags; 7233 uint32_t viewMask; 7234 uint32_t colorAttachmentCount; 7235 const VkFormat* pColorAttachmentFormats; 7236 VkFormat depthAttachmentFormat; 7237 VkFormat stencilAttachmentFormat; 7238 VkSampleCountFlagBits rasterizationSamples; 7239 } VkCommandBufferInheritanceRenderingInfo; 7240 7241 typedef struct VkPhysicalDeviceShaderIntegerDotProductFeatures { 7242 VkStructureType sType; 7243 void* pNext; 7244 VkBool32 shaderIntegerDotProduct; 7245 } VkPhysicalDeviceShaderIntegerDotProductFeatures; 7246 7247 typedef struct VkPhysicalDeviceShaderIntegerDotProductProperties { 7248 VkStructureType sType; 7249 void* pNext; 7250 VkBool32 integerDotProduct8BitUnsignedAccelerated; 7251 VkBool32 integerDotProduct8BitSignedAccelerated; 7252 VkBool32 integerDotProduct8BitMixedSignednessAccelerated; 7253 VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated; 7254 VkBool32 integerDotProduct4x8BitPackedSignedAccelerated; 7255 VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated; 7256 VkBool32 integerDotProduct16BitUnsignedAccelerated; 7257 VkBool32 integerDotProduct16BitSignedAccelerated; 7258 VkBool32 integerDotProduct16BitMixedSignednessAccelerated; 7259 VkBool32 integerDotProduct32BitUnsignedAccelerated; 7260 VkBool32 integerDotProduct32BitSignedAccelerated; 7261 VkBool32 integerDotProduct32BitMixedSignednessAccelerated; 7262 VkBool32 integerDotProduct64BitUnsignedAccelerated; 7263 VkBool32 integerDotProduct64BitSignedAccelerated; 7264 VkBool32 integerDotProduct64BitMixedSignednessAccelerated; 7265 VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated; 7266 VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated; 7267 VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated; 7268 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated; 7269 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated; 7270 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated; 7271 VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated; 7272 VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated; 7273 VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated; 7274 VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated; 7275 VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated; 7276 VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated; 7277 VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated; 7278 VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated; 7279 VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated; 7280 } VkPhysicalDeviceShaderIntegerDotProductProperties; 7281 7282 typedef struct VkPhysicalDeviceTexelBufferAlignmentProperties { 7283 VkStructureType sType; 7284 void* pNext; 7285 VkDeviceSize storageTexelBufferOffsetAlignmentBytes; 7286 VkBool32 storageTexelBufferOffsetSingleTexelAlignment; 7287 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes; 7288 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment; 7289 } VkPhysicalDeviceTexelBufferAlignmentProperties; 7290 7291 typedef struct VkFormatProperties3 { 7292 VkStructureType sType; 7293 void* pNext; 7294 VkFormatFeatureFlags2 linearTilingFeatures; 7295 VkFormatFeatureFlags2 optimalTilingFeatures; 7296 VkFormatFeatureFlags2 bufferFeatures; 7297 } VkFormatProperties3; 7298 7299 typedef struct VkPhysicalDeviceMaintenance4Features { 7300 VkStructureType sType; 7301 void* pNext; 7302 VkBool32 maintenance4; 7303 } VkPhysicalDeviceMaintenance4Features; 7304 7305 typedef struct VkPhysicalDeviceMaintenance4Properties { 7306 VkStructureType sType; 7307 void* pNext; 7308 VkDeviceSize maxBufferSize; 7309 } VkPhysicalDeviceMaintenance4Properties; 7310 7311 typedef struct VkDeviceBufferMemoryRequirements { 7312 VkStructureType sType; 7313 const void* pNext; 7314 const VkBufferCreateInfo* pCreateInfo; 7315 } VkDeviceBufferMemoryRequirements; 7316 7317 typedef struct VkDeviceImageMemoryRequirements { 7318 VkStructureType sType; 7319 const void* pNext; 7320 const VkImageCreateInfo* pCreateInfo; 7321 VkImageAspectFlagBits planeAspect; 7322 } VkDeviceImageMemoryRequirements; 7323 7324 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolProperties)(VkPhysicalDevice physicalDevice, uint32_t* pToolCount, VkPhysicalDeviceToolProperties* pToolProperties); 7325 typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlot)(VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot); 7326 typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlot)(VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator); 7327 typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateData)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data); 7328 typedef void (VKAPI_PTR *PFN_vkGetPrivateData)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t* pData); 7329 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo); 7330 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask); 7331 typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos); 7332 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2)(VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo); 7333 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query); 7334 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence); 7335 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo); 7336 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo); 7337 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo); 7338 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo); 7339 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo); 7340 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo); 7341 typedef void (VKAPI_PTR *PFN_vkCmdBeginRendering)(VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo); 7342 typedef void (VKAPI_PTR *PFN_vkCmdEndRendering)(VkCommandBuffer commandBuffer); 7343 typedef void (VKAPI_PTR *PFN_vkCmdSetCullMode)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode); 7344 typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFace)(VkCommandBuffer commandBuffer, VkFrontFace frontFace); 7345 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopology)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology); 7346 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCount)(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports); 7347 typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCount)(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors); 7348 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); 7349 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnable)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable); 7350 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnable)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable); 7351 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOp)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp); 7352 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnable)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable); 7353 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnable)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable); 7354 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOp)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp); 7355 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnable)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable); 7356 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnable)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable); 7357 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnable)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable); 7358 typedef void (VKAPI_PTR *PFN_vkGetDeviceBufferMemoryRequirements)(VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements); 7359 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageMemoryRequirements)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements); 7360 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSparseMemoryRequirements)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 7361 7362 #ifndef VK_NO_PROTOTYPES 7363 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolProperties( 7364 VkPhysicalDevice physicalDevice, 7365 uint32_t* pToolCount, 7366 VkPhysicalDeviceToolProperties* pToolProperties); 7367 7368 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlot( 7369 VkDevice device, 7370 const VkPrivateDataSlotCreateInfo* pCreateInfo, 7371 const VkAllocationCallbacks* pAllocator, 7372 VkPrivateDataSlot* pPrivateDataSlot); 7373 7374 VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlot( 7375 VkDevice device, 7376 VkPrivateDataSlot privateDataSlot, 7377 const VkAllocationCallbacks* pAllocator); 7378 7379 VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateData( 7380 VkDevice device, 7381 VkObjectType objectType, 7382 uint64_t objectHandle, 7383 VkPrivateDataSlot privateDataSlot, 7384 uint64_t data); 7385 7386 VKAPI_ATTR void VKAPI_CALL vkGetPrivateData( 7387 VkDevice device, 7388 VkObjectType objectType, 7389 uint64_t objectHandle, 7390 VkPrivateDataSlot privateDataSlot, 7391 uint64_t* pData); 7392 7393 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2( 7394 VkCommandBuffer commandBuffer, 7395 VkEvent event, 7396 const VkDependencyInfo* pDependencyInfo); 7397 7398 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2( 7399 VkCommandBuffer commandBuffer, 7400 VkEvent event, 7401 VkPipelineStageFlags2 stageMask); 7402 7403 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2( 7404 VkCommandBuffer commandBuffer, 7405 uint32_t eventCount, 7406 const VkEvent* pEvents, 7407 const VkDependencyInfo* pDependencyInfos); 7408 7409 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2( 7410 VkCommandBuffer commandBuffer, 7411 const VkDependencyInfo* pDependencyInfo); 7412 7413 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2( 7414 VkCommandBuffer commandBuffer, 7415 VkPipelineStageFlags2 stage, 7416 VkQueryPool queryPool, 7417 uint32_t query); 7418 7419 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2( 7420 VkQueue queue, 7421 uint32_t submitCount, 7422 const VkSubmitInfo2* pSubmits, 7423 VkFence fence); 7424 7425 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2( 7426 VkCommandBuffer commandBuffer, 7427 const VkCopyBufferInfo2* pCopyBufferInfo); 7428 7429 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2( 7430 VkCommandBuffer commandBuffer, 7431 const VkCopyImageInfo2* pCopyImageInfo); 7432 7433 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2( 7434 VkCommandBuffer commandBuffer, 7435 const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo); 7436 7437 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2( 7438 VkCommandBuffer commandBuffer, 7439 const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo); 7440 7441 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2( 7442 VkCommandBuffer commandBuffer, 7443 const VkBlitImageInfo2* pBlitImageInfo); 7444 7445 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2( 7446 VkCommandBuffer commandBuffer, 7447 const VkResolveImageInfo2* pResolveImageInfo); 7448 7449 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRendering( 7450 VkCommandBuffer commandBuffer, 7451 const VkRenderingInfo* pRenderingInfo); 7452 7453 VKAPI_ATTR void VKAPI_CALL vkCmdEndRendering( 7454 VkCommandBuffer commandBuffer); 7455 7456 VKAPI_ATTR void VKAPI_CALL vkCmdSetCullMode( 7457 VkCommandBuffer commandBuffer, 7458 VkCullModeFlags cullMode); 7459 7460 VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFace( 7461 VkCommandBuffer commandBuffer, 7462 VkFrontFace frontFace); 7463 7464 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopology( 7465 VkCommandBuffer commandBuffer, 7466 VkPrimitiveTopology primitiveTopology); 7467 7468 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCount( 7469 VkCommandBuffer commandBuffer, 7470 uint32_t viewportCount, 7471 const VkViewport* pViewports); 7472 7473 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCount( 7474 VkCommandBuffer commandBuffer, 7475 uint32_t scissorCount, 7476 const VkRect2D* pScissors); 7477 7478 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2( 7479 VkCommandBuffer commandBuffer, 7480 uint32_t firstBinding, 7481 uint32_t bindingCount, 7482 const VkBuffer* pBuffers, 7483 const VkDeviceSize* pOffsets, 7484 const VkDeviceSize* pSizes, 7485 const VkDeviceSize* pStrides); 7486 7487 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnable( 7488 VkCommandBuffer commandBuffer, 7489 VkBool32 depthTestEnable); 7490 7491 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnable( 7492 VkCommandBuffer commandBuffer, 7493 VkBool32 depthWriteEnable); 7494 7495 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOp( 7496 VkCommandBuffer commandBuffer, 7497 VkCompareOp depthCompareOp); 7498 7499 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnable( 7500 VkCommandBuffer commandBuffer, 7501 VkBool32 depthBoundsTestEnable); 7502 7503 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnable( 7504 VkCommandBuffer commandBuffer, 7505 VkBool32 stencilTestEnable); 7506 7507 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOp( 7508 VkCommandBuffer commandBuffer, 7509 VkStencilFaceFlags faceMask, 7510 VkStencilOp failOp, 7511 VkStencilOp passOp, 7512 VkStencilOp depthFailOp, 7513 VkCompareOp compareOp); 7514 7515 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnable( 7516 VkCommandBuffer commandBuffer, 7517 VkBool32 rasterizerDiscardEnable); 7518 7519 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnable( 7520 VkCommandBuffer commandBuffer, 7521 VkBool32 depthBiasEnable); 7522 7523 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnable( 7524 VkCommandBuffer commandBuffer, 7525 VkBool32 primitiveRestartEnable); 7526 7527 VKAPI_ATTR void VKAPI_CALL vkGetDeviceBufferMemoryRequirements( 7528 VkDevice device, 7529 const VkDeviceBufferMemoryRequirements* pInfo, 7530 VkMemoryRequirements2* pMemoryRequirements); 7531 7532 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageMemoryRequirements( 7533 VkDevice device, 7534 const VkDeviceImageMemoryRequirements* pInfo, 7535 VkMemoryRequirements2* pMemoryRequirements); 7536 7537 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSparseMemoryRequirements( 7538 VkDevice device, 7539 const VkDeviceImageMemoryRequirements* pInfo, 7540 uint32_t* pSparseMemoryRequirementCount, 7541 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 7542 #endif 7543 7544 7545 // VK_KHR_surface is a preprocessor guard. Do not pass it to API calls. 7546 #define VK_KHR_surface 1 7547 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR) 7548 #define VK_KHR_SURFACE_SPEC_VERSION 25 7549 #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface" 7550 7551 typedef enum VkPresentModeKHR { 7552 VK_PRESENT_MODE_IMMEDIATE_KHR = 0, 7553 VK_PRESENT_MODE_MAILBOX_KHR = 1, 7554 VK_PRESENT_MODE_FIFO_KHR = 2, 7555 VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3, 7556 VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000, 7557 VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001, 7558 VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 7559 } VkPresentModeKHR; 7560 7561 typedef enum VkColorSpaceKHR { 7562 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0, 7563 VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001, 7564 VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002, 7565 VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003, 7566 VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004, 7567 VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005, 7568 VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006, 7569 VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007, 7570 VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008, 7571 VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009, 7572 VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010, 7573 VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011, 7574 VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012, 7575 VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013, 7576 VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014, 7577 VK_COLOR_SPACE_DISPLAY_NATIVE_AMD = 1000213000, 7578 VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR, 7579 VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT, 7580 VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF 7581 } VkColorSpaceKHR; 7582 7583 typedef enum VkSurfaceTransformFlagBitsKHR { 7584 VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001, 7585 VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002, 7586 VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004, 7587 VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008, 7588 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010, 7589 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020, 7590 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040, 7591 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080, 7592 VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100, 7593 VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 7594 } VkSurfaceTransformFlagBitsKHR; 7595 7596 typedef enum VkCompositeAlphaFlagBitsKHR { 7597 VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001, 7598 VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002, 7599 VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004, 7600 VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008, 7601 VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 7602 } VkCompositeAlphaFlagBitsKHR; 7603 typedef VkFlags VkCompositeAlphaFlagsKHR; 7604 typedef VkFlags VkSurfaceTransformFlagsKHR; 7605 typedef struct VkSurfaceCapabilitiesKHR { 7606 uint32_t minImageCount; 7607 uint32_t maxImageCount; 7608 VkExtent2D currentExtent; 7609 VkExtent2D minImageExtent; 7610 VkExtent2D maxImageExtent; 7611 uint32_t maxImageArrayLayers; 7612 VkSurfaceTransformFlagsKHR supportedTransforms; 7613 VkSurfaceTransformFlagBitsKHR currentTransform; 7614 VkCompositeAlphaFlagsKHR supportedCompositeAlpha; 7615 VkImageUsageFlags supportedUsageFlags; 7616 } VkSurfaceCapabilitiesKHR; 7617 7618 typedef struct VkSurfaceFormatKHR { 7619 VkFormat format; 7620 VkColorSpaceKHR colorSpace; 7621 } VkSurfaceFormatKHR; 7622 7623 typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator); 7624 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported); 7625 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities); 7626 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats); 7627 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes); 7628 7629 #ifndef VK_NO_PROTOTYPES 7630 VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR( 7631 VkInstance instance, 7632 VkSurfaceKHR surface, 7633 const VkAllocationCallbacks* pAllocator); 7634 7635 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR( 7636 VkPhysicalDevice physicalDevice, 7637 uint32_t queueFamilyIndex, 7638 VkSurfaceKHR surface, 7639 VkBool32* pSupported); 7640 7641 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR( 7642 VkPhysicalDevice physicalDevice, 7643 VkSurfaceKHR surface, 7644 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities); 7645 7646 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR( 7647 VkPhysicalDevice physicalDevice, 7648 VkSurfaceKHR surface, 7649 uint32_t* pSurfaceFormatCount, 7650 VkSurfaceFormatKHR* pSurfaceFormats); 7651 7652 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR( 7653 VkPhysicalDevice physicalDevice, 7654 VkSurfaceKHR surface, 7655 uint32_t* pPresentModeCount, 7656 VkPresentModeKHR* pPresentModes); 7657 #endif 7658 7659 7660 // VK_KHR_swapchain is a preprocessor guard. Do not pass it to API calls. 7661 #define VK_KHR_swapchain 1 7662 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR) 7663 #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70 7664 #define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain" 7665 7666 typedef enum VkSwapchainCreateFlagBitsKHR { 7667 VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001, 7668 VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002, 7669 VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004, 7670 VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_EXT = 0x00000008, 7671 VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 7672 } VkSwapchainCreateFlagBitsKHR; 7673 typedef VkFlags VkSwapchainCreateFlagsKHR; 7674 7675 typedef enum VkDeviceGroupPresentModeFlagBitsKHR { 7676 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0x00000001, 7677 VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0x00000002, 7678 VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0x00000004, 7679 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008, 7680 VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 7681 } VkDeviceGroupPresentModeFlagBitsKHR; 7682 typedef VkFlags VkDeviceGroupPresentModeFlagsKHR; 7683 typedef struct VkSwapchainCreateInfoKHR { 7684 VkStructureType sType; 7685 const void* pNext; 7686 VkSwapchainCreateFlagsKHR flags; 7687 VkSurfaceKHR surface; 7688 uint32_t minImageCount; 7689 VkFormat imageFormat; 7690 VkColorSpaceKHR imageColorSpace; 7691 VkExtent2D imageExtent; 7692 uint32_t imageArrayLayers; 7693 VkImageUsageFlags imageUsage; 7694 VkSharingMode imageSharingMode; 7695 uint32_t queueFamilyIndexCount; 7696 const uint32_t* pQueueFamilyIndices; 7697 VkSurfaceTransformFlagBitsKHR preTransform; 7698 VkCompositeAlphaFlagBitsKHR compositeAlpha; 7699 VkPresentModeKHR presentMode; 7700 VkBool32 clipped; 7701 VkSwapchainKHR oldSwapchain; 7702 } VkSwapchainCreateInfoKHR; 7703 7704 typedef struct VkPresentInfoKHR { 7705 VkStructureType sType; 7706 const void* pNext; 7707 uint32_t waitSemaphoreCount; 7708 const VkSemaphore* pWaitSemaphores; 7709 uint32_t swapchainCount; 7710 const VkSwapchainKHR* pSwapchains; 7711 const uint32_t* pImageIndices; 7712 VkResult* pResults; 7713 } VkPresentInfoKHR; 7714 7715 typedef struct VkImageSwapchainCreateInfoKHR { 7716 VkStructureType sType; 7717 const void* pNext; 7718 VkSwapchainKHR swapchain; 7719 } VkImageSwapchainCreateInfoKHR; 7720 7721 typedef struct VkBindImageMemorySwapchainInfoKHR { 7722 VkStructureType sType; 7723 const void* pNext; 7724 VkSwapchainKHR swapchain; 7725 uint32_t imageIndex; 7726 } VkBindImageMemorySwapchainInfoKHR; 7727 7728 typedef struct VkAcquireNextImageInfoKHR { 7729 VkStructureType sType; 7730 const void* pNext; 7731 VkSwapchainKHR swapchain; 7732 uint64_t timeout; 7733 VkSemaphore semaphore; 7734 VkFence fence; 7735 uint32_t deviceMask; 7736 } VkAcquireNextImageInfoKHR; 7737 7738 typedef struct VkDeviceGroupPresentCapabilitiesKHR { 7739 VkStructureType sType; 7740 void* pNext; 7741 uint32_t presentMask[VK_MAX_DEVICE_GROUP_SIZE]; 7742 VkDeviceGroupPresentModeFlagsKHR modes; 7743 } VkDeviceGroupPresentCapabilitiesKHR; 7744 7745 typedef struct VkDeviceGroupPresentInfoKHR { 7746 VkStructureType sType; 7747 const void* pNext; 7748 uint32_t swapchainCount; 7749 const uint32_t* pDeviceMasks; 7750 VkDeviceGroupPresentModeFlagBitsKHR mode; 7751 } VkDeviceGroupPresentInfoKHR; 7752 7753 typedef struct VkDeviceGroupSwapchainCreateInfoKHR { 7754 VkStructureType sType; 7755 const void* pNext; 7756 VkDeviceGroupPresentModeFlagsKHR modes; 7757 } VkDeviceGroupSwapchainCreateInfoKHR; 7758 7759 typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain); 7760 typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator); 7761 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages); 7762 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex); 7763 typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo); 7764 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities); 7765 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes); 7766 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pRectCount, VkRect2D* pRects); 7767 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex); 7768 7769 #ifndef VK_NO_PROTOTYPES 7770 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR( 7771 VkDevice device, 7772 const VkSwapchainCreateInfoKHR* pCreateInfo, 7773 const VkAllocationCallbacks* pAllocator, 7774 VkSwapchainKHR* pSwapchain); 7775 7776 VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR( 7777 VkDevice device, 7778 VkSwapchainKHR swapchain, 7779 const VkAllocationCallbacks* pAllocator); 7780 7781 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR( 7782 VkDevice device, 7783 VkSwapchainKHR swapchain, 7784 uint32_t* pSwapchainImageCount, 7785 VkImage* pSwapchainImages); 7786 7787 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR( 7788 VkDevice device, 7789 VkSwapchainKHR swapchain, 7790 uint64_t timeout, 7791 VkSemaphore semaphore, 7792 VkFence fence, 7793 uint32_t* pImageIndex); 7794 7795 VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR( 7796 VkQueue queue, 7797 const VkPresentInfoKHR* pPresentInfo); 7798 7799 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHR( 7800 VkDevice device, 7801 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities); 7802 7803 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR( 7804 VkDevice device, 7805 VkSurfaceKHR surface, 7806 VkDeviceGroupPresentModeFlagsKHR* pModes); 7807 7808 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR( 7809 VkPhysicalDevice physicalDevice, 7810 VkSurfaceKHR surface, 7811 uint32_t* pRectCount, 7812 VkRect2D* pRects); 7813 7814 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHR( 7815 VkDevice device, 7816 const VkAcquireNextImageInfoKHR* pAcquireInfo, 7817 uint32_t* pImageIndex); 7818 #endif 7819 7820 7821 // VK_KHR_display is a preprocessor guard. Do not pass it to API calls. 7822 #define VK_KHR_display 1 7823 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR) 7824 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR) 7825 #define VK_KHR_DISPLAY_SPEC_VERSION 23 7826 #define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display" 7827 typedef VkFlags VkDisplayModeCreateFlagsKHR; 7828 7829 typedef enum VkDisplayPlaneAlphaFlagBitsKHR { 7830 VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001, 7831 VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002, 7832 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004, 7833 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008, 7834 VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 7835 } VkDisplayPlaneAlphaFlagBitsKHR; 7836 typedef VkFlags VkDisplayPlaneAlphaFlagsKHR; 7837 typedef VkFlags VkDisplaySurfaceCreateFlagsKHR; 7838 typedef struct VkDisplayModeParametersKHR { 7839 VkExtent2D visibleRegion; 7840 uint32_t refreshRate; 7841 } VkDisplayModeParametersKHR; 7842 7843 typedef struct VkDisplayModeCreateInfoKHR { 7844 VkStructureType sType; 7845 const void* pNext; 7846 VkDisplayModeCreateFlagsKHR flags; 7847 VkDisplayModeParametersKHR parameters; 7848 } VkDisplayModeCreateInfoKHR; 7849 7850 typedef struct VkDisplayModePropertiesKHR { 7851 VkDisplayModeKHR displayMode; 7852 VkDisplayModeParametersKHR parameters; 7853 } VkDisplayModePropertiesKHR; 7854 7855 typedef struct VkDisplayPlaneCapabilitiesKHR { 7856 VkDisplayPlaneAlphaFlagsKHR supportedAlpha; 7857 VkOffset2D minSrcPosition; 7858 VkOffset2D maxSrcPosition; 7859 VkExtent2D minSrcExtent; 7860 VkExtent2D maxSrcExtent; 7861 VkOffset2D minDstPosition; 7862 VkOffset2D maxDstPosition; 7863 VkExtent2D minDstExtent; 7864 VkExtent2D maxDstExtent; 7865 } VkDisplayPlaneCapabilitiesKHR; 7866 7867 typedef struct VkDisplayPlanePropertiesKHR { 7868 VkDisplayKHR currentDisplay; 7869 uint32_t currentStackIndex; 7870 } VkDisplayPlanePropertiesKHR; 7871 7872 typedef struct VkDisplayPropertiesKHR { 7873 VkDisplayKHR display; 7874 const char* displayName; 7875 VkExtent2D physicalDimensions; 7876 VkExtent2D physicalResolution; 7877 VkSurfaceTransformFlagsKHR supportedTransforms; 7878 VkBool32 planeReorderPossible; 7879 VkBool32 persistentContent; 7880 } VkDisplayPropertiesKHR; 7881 7882 typedef struct VkDisplaySurfaceCreateInfoKHR { 7883 VkStructureType sType; 7884 const void* pNext; 7885 VkDisplaySurfaceCreateFlagsKHR flags; 7886 VkDisplayModeKHR displayMode; 7887 uint32_t planeIndex; 7888 uint32_t planeStackIndex; 7889 VkSurfaceTransformFlagBitsKHR transform; 7890 float globalAlpha; 7891 VkDisplayPlaneAlphaFlagBitsKHR alphaMode; 7892 VkExtent2D imageExtent; 7893 } VkDisplaySurfaceCreateInfoKHR; 7894 7895 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPropertiesKHR* pProperties); 7896 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties); 7897 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t* pDisplayCount, VkDisplayKHR* pDisplays); 7898 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModePropertiesKHR* pProperties); 7899 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode); 7900 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities); 7901 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); 7902 7903 #ifndef VK_NO_PROTOTYPES 7904 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR( 7905 VkPhysicalDevice physicalDevice, 7906 uint32_t* pPropertyCount, 7907 VkDisplayPropertiesKHR* pProperties); 7908 7909 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR( 7910 VkPhysicalDevice physicalDevice, 7911 uint32_t* pPropertyCount, 7912 VkDisplayPlanePropertiesKHR* pProperties); 7913 7914 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR( 7915 VkPhysicalDevice physicalDevice, 7916 uint32_t planeIndex, 7917 uint32_t* pDisplayCount, 7918 VkDisplayKHR* pDisplays); 7919 7920 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR( 7921 VkPhysicalDevice physicalDevice, 7922 VkDisplayKHR display, 7923 uint32_t* pPropertyCount, 7924 VkDisplayModePropertiesKHR* pProperties); 7925 7926 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR( 7927 VkPhysicalDevice physicalDevice, 7928 VkDisplayKHR display, 7929 const VkDisplayModeCreateInfoKHR* pCreateInfo, 7930 const VkAllocationCallbacks* pAllocator, 7931 VkDisplayModeKHR* pMode); 7932 7933 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR( 7934 VkPhysicalDevice physicalDevice, 7935 VkDisplayModeKHR mode, 7936 uint32_t planeIndex, 7937 VkDisplayPlaneCapabilitiesKHR* pCapabilities); 7938 7939 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR( 7940 VkInstance instance, 7941 const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, 7942 const VkAllocationCallbacks* pAllocator, 7943 VkSurfaceKHR* pSurface); 7944 #endif 7945 7946 7947 // VK_KHR_display_swapchain is a preprocessor guard. Do not pass it to API calls. 7948 #define VK_KHR_display_swapchain 1 7949 #define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 10 7950 #define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain" 7951 typedef struct VkDisplayPresentInfoKHR { 7952 VkStructureType sType; 7953 const void* pNext; 7954 VkRect2D srcRect; 7955 VkRect2D dstRect; 7956 VkBool32 persistent; 7957 } VkDisplayPresentInfoKHR; 7958 7959 typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains); 7960 7961 #ifndef VK_NO_PROTOTYPES 7962 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR( 7963 VkDevice device, 7964 uint32_t swapchainCount, 7965 const VkSwapchainCreateInfoKHR* pCreateInfos, 7966 const VkAllocationCallbacks* pAllocator, 7967 VkSwapchainKHR* pSwapchains); 7968 #endif 7969 7970 7971 // VK_KHR_sampler_mirror_clamp_to_edge is a preprocessor guard. Do not pass it to API calls. 7972 #define VK_KHR_sampler_mirror_clamp_to_edge 1 7973 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 3 7974 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge" 7975 7976 7977 // VK_KHR_video_queue is a preprocessor guard. Do not pass it to API calls. 7978 #define VK_KHR_video_queue 1 7979 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionKHR) 7980 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionParametersKHR) 7981 #define VK_KHR_VIDEO_QUEUE_SPEC_VERSION 8 7982 #define VK_KHR_VIDEO_QUEUE_EXTENSION_NAME "VK_KHR_video_queue" 7983 7984 typedef enum VkQueryResultStatusKHR { 7985 VK_QUERY_RESULT_STATUS_ERROR_KHR = -1, 7986 VK_QUERY_RESULT_STATUS_NOT_READY_KHR = 0, 7987 VK_QUERY_RESULT_STATUS_COMPLETE_KHR = 1, 7988 VK_QUERY_RESULT_STATUS_INSUFFICIENT_BITSTREAM_BUFFER_RANGE_KHR = -1000299000, 7989 VK_QUERY_RESULT_STATUS_MAX_ENUM_KHR = 0x7FFFFFFF 7990 } VkQueryResultStatusKHR; 7991 7992 typedef enum VkVideoCodecOperationFlagBitsKHR { 7993 VK_VIDEO_CODEC_OPERATION_NONE_KHR = 0, 7994 VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR = 0x00010000, 7995 VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR = 0x00020000, 7996 VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR = 0x00000001, 7997 VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR = 0x00000002, 7998 VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR = 0x00000004, 7999 VK_VIDEO_CODEC_OPERATION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8000 } VkVideoCodecOperationFlagBitsKHR; 8001 typedef VkFlags VkVideoCodecOperationFlagsKHR; 8002 8003 typedef enum VkVideoChromaSubsamplingFlagBitsKHR { 8004 VK_VIDEO_CHROMA_SUBSAMPLING_INVALID_KHR = 0, 8005 VK_VIDEO_CHROMA_SUBSAMPLING_MONOCHROME_BIT_KHR = 0x00000001, 8006 VK_VIDEO_CHROMA_SUBSAMPLING_420_BIT_KHR = 0x00000002, 8007 VK_VIDEO_CHROMA_SUBSAMPLING_422_BIT_KHR = 0x00000004, 8008 VK_VIDEO_CHROMA_SUBSAMPLING_444_BIT_KHR = 0x00000008, 8009 VK_VIDEO_CHROMA_SUBSAMPLING_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8010 } VkVideoChromaSubsamplingFlagBitsKHR; 8011 typedef VkFlags VkVideoChromaSubsamplingFlagsKHR; 8012 8013 typedef enum VkVideoComponentBitDepthFlagBitsKHR { 8014 VK_VIDEO_COMPONENT_BIT_DEPTH_INVALID_KHR = 0, 8015 VK_VIDEO_COMPONENT_BIT_DEPTH_8_BIT_KHR = 0x00000001, 8016 VK_VIDEO_COMPONENT_BIT_DEPTH_10_BIT_KHR = 0x00000004, 8017 VK_VIDEO_COMPONENT_BIT_DEPTH_12_BIT_KHR = 0x00000010, 8018 VK_VIDEO_COMPONENT_BIT_DEPTH_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8019 } VkVideoComponentBitDepthFlagBitsKHR; 8020 typedef VkFlags VkVideoComponentBitDepthFlagsKHR; 8021 8022 typedef enum VkVideoCapabilityFlagBitsKHR { 8023 VK_VIDEO_CAPABILITY_PROTECTED_CONTENT_BIT_KHR = 0x00000001, 8024 VK_VIDEO_CAPABILITY_SEPARATE_REFERENCE_IMAGES_BIT_KHR = 0x00000002, 8025 VK_VIDEO_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8026 } VkVideoCapabilityFlagBitsKHR; 8027 typedef VkFlags VkVideoCapabilityFlagsKHR; 8028 8029 typedef enum VkVideoSessionCreateFlagBitsKHR { 8030 VK_VIDEO_SESSION_CREATE_PROTECTED_CONTENT_BIT_KHR = 0x00000001, 8031 VK_VIDEO_SESSION_CREATE_ALLOW_ENCODE_PARAMETER_OPTIMIZATIONS_BIT_KHR = 0x00000002, 8032 VK_VIDEO_SESSION_CREATE_INLINE_QUERIES_BIT_KHR = 0x00000004, 8033 VK_VIDEO_SESSION_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8034 } VkVideoSessionCreateFlagBitsKHR; 8035 typedef VkFlags VkVideoSessionCreateFlagsKHR; 8036 typedef VkFlags VkVideoSessionParametersCreateFlagsKHR; 8037 typedef VkFlags VkVideoBeginCodingFlagsKHR; 8038 typedef VkFlags VkVideoEndCodingFlagsKHR; 8039 8040 typedef enum VkVideoCodingControlFlagBitsKHR { 8041 VK_VIDEO_CODING_CONTROL_RESET_BIT_KHR = 0x00000001, 8042 VK_VIDEO_CODING_CONTROL_ENCODE_RATE_CONTROL_BIT_KHR = 0x00000002, 8043 VK_VIDEO_CODING_CONTROL_ENCODE_QUALITY_LEVEL_BIT_KHR = 0x00000004, 8044 VK_VIDEO_CODING_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8045 } VkVideoCodingControlFlagBitsKHR; 8046 typedef VkFlags VkVideoCodingControlFlagsKHR; 8047 typedef struct VkQueueFamilyQueryResultStatusPropertiesKHR { 8048 VkStructureType sType; 8049 void* pNext; 8050 VkBool32 queryResultStatusSupport; 8051 } VkQueueFamilyQueryResultStatusPropertiesKHR; 8052 8053 typedef struct VkQueueFamilyVideoPropertiesKHR { 8054 VkStructureType sType; 8055 void* pNext; 8056 VkVideoCodecOperationFlagsKHR videoCodecOperations; 8057 } VkQueueFamilyVideoPropertiesKHR; 8058 8059 typedef struct VkVideoProfileInfoKHR { 8060 VkStructureType sType; 8061 const void* pNext; 8062 VkVideoCodecOperationFlagBitsKHR videoCodecOperation; 8063 VkVideoChromaSubsamplingFlagsKHR chromaSubsampling; 8064 VkVideoComponentBitDepthFlagsKHR lumaBitDepth; 8065 VkVideoComponentBitDepthFlagsKHR chromaBitDepth; 8066 } VkVideoProfileInfoKHR; 8067 8068 typedef struct VkVideoProfileListInfoKHR { 8069 VkStructureType sType; 8070 const void* pNext; 8071 uint32_t profileCount; 8072 const VkVideoProfileInfoKHR* pProfiles; 8073 } VkVideoProfileListInfoKHR; 8074 8075 typedef struct VkVideoCapabilitiesKHR { 8076 VkStructureType sType; 8077 void* pNext; 8078 VkVideoCapabilityFlagsKHR flags; 8079 VkDeviceSize minBitstreamBufferOffsetAlignment; 8080 VkDeviceSize minBitstreamBufferSizeAlignment; 8081 VkExtent2D pictureAccessGranularity; 8082 VkExtent2D minCodedExtent; 8083 VkExtent2D maxCodedExtent; 8084 uint32_t maxDpbSlots; 8085 uint32_t maxActiveReferencePictures; 8086 VkExtensionProperties stdHeaderVersion; 8087 } VkVideoCapabilitiesKHR; 8088 8089 typedef struct VkPhysicalDeviceVideoFormatInfoKHR { 8090 VkStructureType sType; 8091 const void* pNext; 8092 VkImageUsageFlags imageUsage; 8093 } VkPhysicalDeviceVideoFormatInfoKHR; 8094 8095 typedef struct VkVideoFormatPropertiesKHR { 8096 VkStructureType sType; 8097 void* pNext; 8098 VkFormat format; 8099 VkComponentMapping componentMapping; 8100 VkImageCreateFlags imageCreateFlags; 8101 VkImageType imageType; 8102 VkImageTiling imageTiling; 8103 VkImageUsageFlags imageUsageFlags; 8104 } VkVideoFormatPropertiesKHR; 8105 8106 typedef struct VkVideoPictureResourceInfoKHR { 8107 VkStructureType sType; 8108 const void* pNext; 8109 VkOffset2D codedOffset; 8110 VkExtent2D codedExtent; 8111 uint32_t baseArrayLayer; 8112 VkImageView imageViewBinding; 8113 } VkVideoPictureResourceInfoKHR; 8114 8115 typedef struct VkVideoReferenceSlotInfoKHR { 8116 VkStructureType sType; 8117 const void* pNext; 8118 int32_t slotIndex; 8119 const VkVideoPictureResourceInfoKHR* pPictureResource; 8120 } VkVideoReferenceSlotInfoKHR; 8121 8122 typedef struct VkVideoSessionMemoryRequirementsKHR { 8123 VkStructureType sType; 8124 void* pNext; 8125 uint32_t memoryBindIndex; 8126 VkMemoryRequirements memoryRequirements; 8127 } VkVideoSessionMemoryRequirementsKHR; 8128 8129 typedef struct VkBindVideoSessionMemoryInfoKHR { 8130 VkStructureType sType; 8131 const void* pNext; 8132 uint32_t memoryBindIndex; 8133 VkDeviceMemory memory; 8134 VkDeviceSize memoryOffset; 8135 VkDeviceSize memorySize; 8136 } VkBindVideoSessionMemoryInfoKHR; 8137 8138 typedef struct VkVideoSessionCreateInfoKHR { 8139 VkStructureType sType; 8140 const void* pNext; 8141 uint32_t queueFamilyIndex; 8142 VkVideoSessionCreateFlagsKHR flags; 8143 const VkVideoProfileInfoKHR* pVideoProfile; 8144 VkFormat pictureFormat; 8145 VkExtent2D maxCodedExtent; 8146 VkFormat referencePictureFormat; 8147 uint32_t maxDpbSlots; 8148 uint32_t maxActiveReferencePictures; 8149 const VkExtensionProperties* pStdHeaderVersion; 8150 } VkVideoSessionCreateInfoKHR; 8151 8152 typedef struct VkVideoSessionParametersCreateInfoKHR { 8153 VkStructureType sType; 8154 const void* pNext; 8155 VkVideoSessionParametersCreateFlagsKHR flags; 8156 VkVideoSessionParametersKHR videoSessionParametersTemplate; 8157 VkVideoSessionKHR videoSession; 8158 } VkVideoSessionParametersCreateInfoKHR; 8159 8160 typedef struct VkVideoSessionParametersUpdateInfoKHR { 8161 VkStructureType sType; 8162 const void* pNext; 8163 uint32_t updateSequenceCount; 8164 } VkVideoSessionParametersUpdateInfoKHR; 8165 8166 typedef struct VkVideoBeginCodingInfoKHR { 8167 VkStructureType sType; 8168 const void* pNext; 8169 VkVideoBeginCodingFlagsKHR flags; 8170 VkVideoSessionKHR videoSession; 8171 VkVideoSessionParametersKHR videoSessionParameters; 8172 uint32_t referenceSlotCount; 8173 const VkVideoReferenceSlotInfoKHR* pReferenceSlots; 8174 } VkVideoBeginCodingInfoKHR; 8175 8176 typedef struct VkVideoEndCodingInfoKHR { 8177 VkStructureType sType; 8178 const void* pNext; 8179 VkVideoEndCodingFlagsKHR flags; 8180 } VkVideoEndCodingInfoKHR; 8181 8182 typedef struct VkVideoCodingControlInfoKHR { 8183 VkStructureType sType; 8184 const void* pNext; 8185 VkVideoCodingControlFlagsKHR flags; 8186 } VkVideoCodingControlInfoKHR; 8187 8188 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR)(VkPhysicalDevice physicalDevice, const VkVideoProfileInfoKHR* pVideoProfile, VkVideoCapabilitiesKHR* pCapabilities); 8189 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceVideoFormatInfoKHR* pVideoFormatInfo, uint32_t* pVideoFormatPropertyCount, VkVideoFormatPropertiesKHR* pVideoFormatProperties); 8190 typedef VkResult (VKAPI_PTR *PFN_vkCreateVideoSessionKHR)(VkDevice device, const VkVideoSessionCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionKHR* pVideoSession); 8191 typedef void (VKAPI_PTR *PFN_vkDestroyVideoSessionKHR)(VkDevice device, VkVideoSessionKHR videoSession, const VkAllocationCallbacks* pAllocator); 8192 typedef VkResult (VKAPI_PTR *PFN_vkGetVideoSessionMemoryRequirementsKHR)(VkDevice device, VkVideoSessionKHR videoSession, uint32_t* pMemoryRequirementsCount, VkVideoSessionMemoryRequirementsKHR* pMemoryRequirements); 8193 typedef VkResult (VKAPI_PTR *PFN_vkBindVideoSessionMemoryKHR)(VkDevice device, VkVideoSessionKHR videoSession, uint32_t bindSessionMemoryInfoCount, const VkBindVideoSessionMemoryInfoKHR* pBindSessionMemoryInfos); 8194 typedef VkResult (VKAPI_PTR *PFN_vkCreateVideoSessionParametersKHR)(VkDevice device, const VkVideoSessionParametersCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionParametersKHR* pVideoSessionParameters); 8195 typedef VkResult (VKAPI_PTR *PFN_vkUpdateVideoSessionParametersKHR)(VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo); 8196 typedef void (VKAPI_PTR *PFN_vkDestroyVideoSessionParametersKHR)(VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkAllocationCallbacks* pAllocator); 8197 typedef void (VKAPI_PTR *PFN_vkCmdBeginVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoBeginCodingInfoKHR* pBeginInfo); 8198 typedef void (VKAPI_PTR *PFN_vkCmdEndVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoEndCodingInfoKHR* pEndCodingInfo); 8199 typedef void (VKAPI_PTR *PFN_vkCmdControlVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoCodingControlInfoKHR* pCodingControlInfo); 8200 8201 #ifndef VK_NO_PROTOTYPES 8202 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceVideoCapabilitiesKHR( 8203 VkPhysicalDevice physicalDevice, 8204 const VkVideoProfileInfoKHR* pVideoProfile, 8205 VkVideoCapabilitiesKHR* pCapabilities); 8206 8207 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceVideoFormatPropertiesKHR( 8208 VkPhysicalDevice physicalDevice, 8209 const VkPhysicalDeviceVideoFormatInfoKHR* pVideoFormatInfo, 8210 uint32_t* pVideoFormatPropertyCount, 8211 VkVideoFormatPropertiesKHR* pVideoFormatProperties); 8212 8213 VKAPI_ATTR VkResult VKAPI_CALL vkCreateVideoSessionKHR( 8214 VkDevice device, 8215 const VkVideoSessionCreateInfoKHR* pCreateInfo, 8216 const VkAllocationCallbacks* pAllocator, 8217 VkVideoSessionKHR* pVideoSession); 8218 8219 VKAPI_ATTR void VKAPI_CALL vkDestroyVideoSessionKHR( 8220 VkDevice device, 8221 VkVideoSessionKHR videoSession, 8222 const VkAllocationCallbacks* pAllocator); 8223 8224 VKAPI_ATTR VkResult VKAPI_CALL vkGetVideoSessionMemoryRequirementsKHR( 8225 VkDevice device, 8226 VkVideoSessionKHR videoSession, 8227 uint32_t* pMemoryRequirementsCount, 8228 VkVideoSessionMemoryRequirementsKHR* pMemoryRequirements); 8229 8230 VKAPI_ATTR VkResult VKAPI_CALL vkBindVideoSessionMemoryKHR( 8231 VkDevice device, 8232 VkVideoSessionKHR videoSession, 8233 uint32_t bindSessionMemoryInfoCount, 8234 const VkBindVideoSessionMemoryInfoKHR* pBindSessionMemoryInfos); 8235 8236 VKAPI_ATTR VkResult VKAPI_CALL vkCreateVideoSessionParametersKHR( 8237 VkDevice device, 8238 const VkVideoSessionParametersCreateInfoKHR* pCreateInfo, 8239 const VkAllocationCallbacks* pAllocator, 8240 VkVideoSessionParametersKHR* pVideoSessionParameters); 8241 8242 VKAPI_ATTR VkResult VKAPI_CALL vkUpdateVideoSessionParametersKHR( 8243 VkDevice device, 8244 VkVideoSessionParametersKHR videoSessionParameters, 8245 const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo); 8246 8247 VKAPI_ATTR void VKAPI_CALL vkDestroyVideoSessionParametersKHR( 8248 VkDevice device, 8249 VkVideoSessionParametersKHR videoSessionParameters, 8250 const VkAllocationCallbacks* pAllocator); 8251 8252 VKAPI_ATTR void VKAPI_CALL vkCmdBeginVideoCodingKHR( 8253 VkCommandBuffer commandBuffer, 8254 const VkVideoBeginCodingInfoKHR* pBeginInfo); 8255 8256 VKAPI_ATTR void VKAPI_CALL vkCmdEndVideoCodingKHR( 8257 VkCommandBuffer commandBuffer, 8258 const VkVideoEndCodingInfoKHR* pEndCodingInfo); 8259 8260 VKAPI_ATTR void VKAPI_CALL vkCmdControlVideoCodingKHR( 8261 VkCommandBuffer commandBuffer, 8262 const VkVideoCodingControlInfoKHR* pCodingControlInfo); 8263 #endif 8264 8265 8266 // VK_KHR_video_decode_queue is a preprocessor guard. Do not pass it to API calls. 8267 #define VK_KHR_video_decode_queue 1 8268 #define VK_KHR_VIDEO_DECODE_QUEUE_SPEC_VERSION 8 8269 #define VK_KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME "VK_KHR_video_decode_queue" 8270 8271 typedef enum VkVideoDecodeCapabilityFlagBitsKHR { 8272 VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_COINCIDE_BIT_KHR = 0x00000001, 8273 VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_DISTINCT_BIT_KHR = 0x00000002, 8274 VK_VIDEO_DECODE_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8275 } VkVideoDecodeCapabilityFlagBitsKHR; 8276 typedef VkFlags VkVideoDecodeCapabilityFlagsKHR; 8277 8278 typedef enum VkVideoDecodeUsageFlagBitsKHR { 8279 VK_VIDEO_DECODE_USAGE_DEFAULT_KHR = 0, 8280 VK_VIDEO_DECODE_USAGE_TRANSCODING_BIT_KHR = 0x00000001, 8281 VK_VIDEO_DECODE_USAGE_OFFLINE_BIT_KHR = 0x00000002, 8282 VK_VIDEO_DECODE_USAGE_STREAMING_BIT_KHR = 0x00000004, 8283 VK_VIDEO_DECODE_USAGE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8284 } VkVideoDecodeUsageFlagBitsKHR; 8285 typedef VkFlags VkVideoDecodeUsageFlagsKHR; 8286 typedef VkFlags VkVideoDecodeFlagsKHR; 8287 typedef struct VkVideoDecodeCapabilitiesKHR { 8288 VkStructureType sType; 8289 void* pNext; 8290 VkVideoDecodeCapabilityFlagsKHR flags; 8291 } VkVideoDecodeCapabilitiesKHR; 8292 8293 typedef struct VkVideoDecodeUsageInfoKHR { 8294 VkStructureType sType; 8295 const void* pNext; 8296 VkVideoDecodeUsageFlagsKHR videoUsageHints; 8297 } VkVideoDecodeUsageInfoKHR; 8298 8299 typedef struct VkVideoDecodeInfoKHR { 8300 VkStructureType sType; 8301 const void* pNext; 8302 VkVideoDecodeFlagsKHR flags; 8303 VkBuffer srcBuffer; 8304 VkDeviceSize srcBufferOffset; 8305 VkDeviceSize srcBufferRange; 8306 VkVideoPictureResourceInfoKHR dstPictureResource; 8307 const VkVideoReferenceSlotInfoKHR* pSetupReferenceSlot; 8308 uint32_t referenceSlotCount; 8309 const VkVideoReferenceSlotInfoKHR* pReferenceSlots; 8310 } VkVideoDecodeInfoKHR; 8311 8312 typedef void (VKAPI_PTR *PFN_vkCmdDecodeVideoKHR)(VkCommandBuffer commandBuffer, const VkVideoDecodeInfoKHR* pDecodeInfo); 8313 8314 #ifndef VK_NO_PROTOTYPES 8315 VKAPI_ATTR void VKAPI_CALL vkCmdDecodeVideoKHR( 8316 VkCommandBuffer commandBuffer, 8317 const VkVideoDecodeInfoKHR* pDecodeInfo); 8318 #endif 8319 8320 8321 // VK_KHR_video_encode_h264 is a preprocessor guard. Do not pass it to API calls. 8322 #define VK_KHR_video_encode_h264 1 8323 #include "vk_video/vulkan_video_codec_h264std.h" 8324 #include "vk_video/vulkan_video_codec_h264std_encode.h" 8325 #define VK_KHR_VIDEO_ENCODE_H264_SPEC_VERSION 14 8326 #define VK_KHR_VIDEO_ENCODE_H264_EXTENSION_NAME "VK_KHR_video_encode_h264" 8327 8328 typedef enum VkVideoEncodeH264CapabilityFlagBitsKHR { 8329 VK_VIDEO_ENCODE_H264_CAPABILITY_HRD_COMPLIANCE_BIT_KHR = 0x00000001, 8330 VK_VIDEO_ENCODE_H264_CAPABILITY_PREDICTION_WEIGHT_TABLE_GENERATED_BIT_KHR = 0x00000002, 8331 VK_VIDEO_ENCODE_H264_CAPABILITY_ROW_UNALIGNED_SLICE_BIT_KHR = 0x00000004, 8332 VK_VIDEO_ENCODE_H264_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_KHR = 0x00000008, 8333 VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L0_LIST_BIT_KHR = 0x00000010, 8334 VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_KHR = 0x00000020, 8335 VK_VIDEO_ENCODE_H264_CAPABILITY_PER_PICTURE_TYPE_MIN_MAX_QP_BIT_KHR = 0x00000040, 8336 VK_VIDEO_ENCODE_H264_CAPABILITY_PER_SLICE_CONSTANT_QP_BIT_KHR = 0x00000080, 8337 VK_VIDEO_ENCODE_H264_CAPABILITY_GENERATE_PREFIX_NALU_BIT_KHR = 0x00000100, 8338 VK_VIDEO_ENCODE_H264_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8339 } VkVideoEncodeH264CapabilityFlagBitsKHR; 8340 typedef VkFlags VkVideoEncodeH264CapabilityFlagsKHR; 8341 8342 typedef enum VkVideoEncodeH264StdFlagBitsKHR { 8343 VK_VIDEO_ENCODE_H264_STD_SEPARATE_COLOR_PLANE_FLAG_SET_BIT_KHR = 0x00000001, 8344 VK_VIDEO_ENCODE_H264_STD_QPPRIME_Y_ZERO_TRANSFORM_BYPASS_FLAG_SET_BIT_KHR = 0x00000002, 8345 VK_VIDEO_ENCODE_H264_STD_SCALING_MATRIX_PRESENT_FLAG_SET_BIT_KHR = 0x00000004, 8346 VK_VIDEO_ENCODE_H264_STD_CHROMA_QP_INDEX_OFFSET_BIT_KHR = 0x00000008, 8347 VK_VIDEO_ENCODE_H264_STD_SECOND_CHROMA_QP_INDEX_OFFSET_BIT_KHR = 0x00000010, 8348 VK_VIDEO_ENCODE_H264_STD_PIC_INIT_QP_MINUS26_BIT_KHR = 0x00000020, 8349 VK_VIDEO_ENCODE_H264_STD_WEIGHTED_PRED_FLAG_SET_BIT_KHR = 0x00000040, 8350 VK_VIDEO_ENCODE_H264_STD_WEIGHTED_BIPRED_IDC_EXPLICIT_BIT_KHR = 0x00000080, 8351 VK_VIDEO_ENCODE_H264_STD_WEIGHTED_BIPRED_IDC_IMPLICIT_BIT_KHR = 0x00000100, 8352 VK_VIDEO_ENCODE_H264_STD_TRANSFORM_8X8_MODE_FLAG_SET_BIT_KHR = 0x00000200, 8353 VK_VIDEO_ENCODE_H264_STD_DIRECT_SPATIAL_MV_PRED_FLAG_UNSET_BIT_KHR = 0x00000400, 8354 VK_VIDEO_ENCODE_H264_STD_ENTROPY_CODING_MODE_FLAG_UNSET_BIT_KHR = 0x00000800, 8355 VK_VIDEO_ENCODE_H264_STD_ENTROPY_CODING_MODE_FLAG_SET_BIT_KHR = 0x00001000, 8356 VK_VIDEO_ENCODE_H264_STD_DIRECT_8X8_INFERENCE_FLAG_UNSET_BIT_KHR = 0x00002000, 8357 VK_VIDEO_ENCODE_H264_STD_CONSTRAINED_INTRA_PRED_FLAG_SET_BIT_KHR = 0x00004000, 8358 VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_DISABLED_BIT_KHR = 0x00008000, 8359 VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_ENABLED_BIT_KHR = 0x00010000, 8360 VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_PARTIAL_BIT_KHR = 0x00020000, 8361 VK_VIDEO_ENCODE_H264_STD_SLICE_QP_DELTA_BIT_KHR = 0x00080000, 8362 VK_VIDEO_ENCODE_H264_STD_DIFFERENT_SLICE_QP_DELTA_BIT_KHR = 0x00100000, 8363 VK_VIDEO_ENCODE_H264_STD_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8364 } VkVideoEncodeH264StdFlagBitsKHR; 8365 typedef VkFlags VkVideoEncodeH264StdFlagsKHR; 8366 8367 typedef enum VkVideoEncodeH264RateControlFlagBitsKHR { 8368 VK_VIDEO_ENCODE_H264_RATE_CONTROL_ATTEMPT_HRD_COMPLIANCE_BIT_KHR = 0x00000001, 8369 VK_VIDEO_ENCODE_H264_RATE_CONTROL_REGULAR_GOP_BIT_KHR = 0x00000002, 8370 VK_VIDEO_ENCODE_H264_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_KHR = 0x00000004, 8371 VK_VIDEO_ENCODE_H264_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_KHR = 0x00000008, 8372 VK_VIDEO_ENCODE_H264_RATE_CONTROL_TEMPORAL_LAYER_PATTERN_DYADIC_BIT_KHR = 0x00000010, 8373 VK_VIDEO_ENCODE_H264_RATE_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8374 } VkVideoEncodeH264RateControlFlagBitsKHR; 8375 typedef VkFlags VkVideoEncodeH264RateControlFlagsKHR; 8376 typedef struct VkVideoEncodeH264CapabilitiesKHR { 8377 VkStructureType sType; 8378 void* pNext; 8379 VkVideoEncodeH264CapabilityFlagsKHR flags; 8380 StdVideoH264LevelIdc maxLevelIdc; 8381 uint32_t maxSliceCount; 8382 uint32_t maxPPictureL0ReferenceCount; 8383 uint32_t maxBPictureL0ReferenceCount; 8384 uint32_t maxL1ReferenceCount; 8385 uint32_t maxTemporalLayerCount; 8386 VkBool32 expectDyadicTemporalLayerPattern; 8387 int32_t minQp; 8388 int32_t maxQp; 8389 VkBool32 prefersGopRemainingFrames; 8390 VkBool32 requiresGopRemainingFrames; 8391 VkVideoEncodeH264StdFlagsKHR stdSyntaxFlags; 8392 } VkVideoEncodeH264CapabilitiesKHR; 8393 8394 typedef struct VkVideoEncodeH264QpKHR { 8395 int32_t qpI; 8396 int32_t qpP; 8397 int32_t qpB; 8398 } VkVideoEncodeH264QpKHR; 8399 8400 typedef struct VkVideoEncodeH264QualityLevelPropertiesKHR { 8401 VkStructureType sType; 8402 void* pNext; 8403 VkVideoEncodeH264RateControlFlagsKHR preferredRateControlFlags; 8404 uint32_t preferredGopFrameCount; 8405 uint32_t preferredIdrPeriod; 8406 uint32_t preferredConsecutiveBFrameCount; 8407 uint32_t preferredTemporalLayerCount; 8408 VkVideoEncodeH264QpKHR preferredConstantQp; 8409 uint32_t preferredMaxL0ReferenceCount; 8410 uint32_t preferredMaxL1ReferenceCount; 8411 VkBool32 preferredStdEntropyCodingModeFlag; 8412 } VkVideoEncodeH264QualityLevelPropertiesKHR; 8413 8414 typedef struct VkVideoEncodeH264SessionCreateInfoKHR { 8415 VkStructureType sType; 8416 const void* pNext; 8417 VkBool32 useMaxLevelIdc; 8418 StdVideoH264LevelIdc maxLevelIdc; 8419 } VkVideoEncodeH264SessionCreateInfoKHR; 8420 8421 typedef struct VkVideoEncodeH264SessionParametersAddInfoKHR { 8422 VkStructureType sType; 8423 const void* pNext; 8424 uint32_t stdSPSCount; 8425 const StdVideoH264SequenceParameterSet* pStdSPSs; 8426 uint32_t stdPPSCount; 8427 const StdVideoH264PictureParameterSet* pStdPPSs; 8428 } VkVideoEncodeH264SessionParametersAddInfoKHR; 8429 8430 typedef struct VkVideoEncodeH264SessionParametersCreateInfoKHR { 8431 VkStructureType sType; 8432 const void* pNext; 8433 uint32_t maxStdSPSCount; 8434 uint32_t maxStdPPSCount; 8435 const VkVideoEncodeH264SessionParametersAddInfoKHR* pParametersAddInfo; 8436 } VkVideoEncodeH264SessionParametersCreateInfoKHR; 8437 8438 typedef struct VkVideoEncodeH264SessionParametersGetInfoKHR { 8439 VkStructureType sType; 8440 const void* pNext; 8441 VkBool32 writeStdSPS; 8442 VkBool32 writeStdPPS; 8443 uint32_t stdSPSId; 8444 uint32_t stdPPSId; 8445 } VkVideoEncodeH264SessionParametersGetInfoKHR; 8446 8447 typedef struct VkVideoEncodeH264SessionParametersFeedbackInfoKHR { 8448 VkStructureType sType; 8449 void* pNext; 8450 VkBool32 hasStdSPSOverrides; 8451 VkBool32 hasStdPPSOverrides; 8452 } VkVideoEncodeH264SessionParametersFeedbackInfoKHR; 8453 8454 typedef struct VkVideoEncodeH264NaluSliceInfoKHR { 8455 VkStructureType sType; 8456 const void* pNext; 8457 int32_t constantQp; 8458 const StdVideoEncodeH264SliceHeader* pStdSliceHeader; 8459 } VkVideoEncodeH264NaluSliceInfoKHR; 8460 8461 typedef struct VkVideoEncodeH264PictureInfoKHR { 8462 VkStructureType sType; 8463 const void* pNext; 8464 uint32_t naluSliceEntryCount; 8465 const VkVideoEncodeH264NaluSliceInfoKHR* pNaluSliceEntries; 8466 const StdVideoEncodeH264PictureInfo* pStdPictureInfo; 8467 VkBool32 generatePrefixNalu; 8468 } VkVideoEncodeH264PictureInfoKHR; 8469 8470 typedef struct VkVideoEncodeH264DpbSlotInfoKHR { 8471 VkStructureType sType; 8472 const void* pNext; 8473 const StdVideoEncodeH264ReferenceInfo* pStdReferenceInfo; 8474 } VkVideoEncodeH264DpbSlotInfoKHR; 8475 8476 typedef struct VkVideoEncodeH264ProfileInfoKHR { 8477 VkStructureType sType; 8478 const void* pNext; 8479 StdVideoH264ProfileIdc stdProfileIdc; 8480 } VkVideoEncodeH264ProfileInfoKHR; 8481 8482 typedef struct VkVideoEncodeH264RateControlInfoKHR { 8483 VkStructureType sType; 8484 const void* pNext; 8485 VkVideoEncodeH264RateControlFlagsKHR flags; 8486 uint32_t gopFrameCount; 8487 uint32_t idrPeriod; 8488 uint32_t consecutiveBFrameCount; 8489 uint32_t temporalLayerCount; 8490 } VkVideoEncodeH264RateControlInfoKHR; 8491 8492 typedef struct VkVideoEncodeH264FrameSizeKHR { 8493 uint32_t frameISize; 8494 uint32_t framePSize; 8495 uint32_t frameBSize; 8496 } VkVideoEncodeH264FrameSizeKHR; 8497 8498 typedef struct VkVideoEncodeH264RateControlLayerInfoKHR { 8499 VkStructureType sType; 8500 const void* pNext; 8501 VkBool32 useMinQp; 8502 VkVideoEncodeH264QpKHR minQp; 8503 VkBool32 useMaxQp; 8504 VkVideoEncodeH264QpKHR maxQp; 8505 VkBool32 useMaxFrameSize; 8506 VkVideoEncodeH264FrameSizeKHR maxFrameSize; 8507 } VkVideoEncodeH264RateControlLayerInfoKHR; 8508 8509 typedef struct VkVideoEncodeH264GopRemainingFrameInfoKHR { 8510 VkStructureType sType; 8511 const void* pNext; 8512 VkBool32 useGopRemainingFrames; 8513 uint32_t gopRemainingI; 8514 uint32_t gopRemainingP; 8515 uint32_t gopRemainingB; 8516 } VkVideoEncodeH264GopRemainingFrameInfoKHR; 8517 8518 8519 8520 // VK_KHR_video_encode_h265 is a preprocessor guard. Do not pass it to API calls. 8521 #define VK_KHR_video_encode_h265 1 8522 #include "vk_video/vulkan_video_codec_h265std.h" 8523 #include "vk_video/vulkan_video_codec_h265std_encode.h" 8524 #define VK_KHR_VIDEO_ENCODE_H265_SPEC_VERSION 14 8525 #define VK_KHR_VIDEO_ENCODE_H265_EXTENSION_NAME "VK_KHR_video_encode_h265" 8526 8527 typedef enum VkVideoEncodeH265CapabilityFlagBitsKHR { 8528 VK_VIDEO_ENCODE_H265_CAPABILITY_HRD_COMPLIANCE_BIT_KHR = 0x00000001, 8529 VK_VIDEO_ENCODE_H265_CAPABILITY_PREDICTION_WEIGHT_TABLE_GENERATED_BIT_KHR = 0x00000002, 8530 VK_VIDEO_ENCODE_H265_CAPABILITY_ROW_UNALIGNED_SLICE_SEGMENT_BIT_KHR = 0x00000004, 8531 VK_VIDEO_ENCODE_H265_CAPABILITY_DIFFERENT_SLICE_SEGMENT_TYPE_BIT_KHR = 0x00000008, 8532 VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L0_LIST_BIT_KHR = 0x00000010, 8533 VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_KHR = 0x00000020, 8534 VK_VIDEO_ENCODE_H265_CAPABILITY_PER_PICTURE_TYPE_MIN_MAX_QP_BIT_KHR = 0x00000040, 8535 VK_VIDEO_ENCODE_H265_CAPABILITY_PER_SLICE_SEGMENT_CONSTANT_QP_BIT_KHR = 0x00000080, 8536 VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILES_PER_SLICE_SEGMENT_BIT_KHR = 0x00000100, 8537 VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_SLICE_SEGMENTS_PER_TILE_BIT_KHR = 0x00000200, 8538 VK_VIDEO_ENCODE_H265_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8539 } VkVideoEncodeH265CapabilityFlagBitsKHR; 8540 typedef VkFlags VkVideoEncodeH265CapabilityFlagsKHR; 8541 8542 typedef enum VkVideoEncodeH265StdFlagBitsKHR { 8543 VK_VIDEO_ENCODE_H265_STD_SEPARATE_COLOR_PLANE_FLAG_SET_BIT_KHR = 0x00000001, 8544 VK_VIDEO_ENCODE_H265_STD_SAMPLE_ADAPTIVE_OFFSET_ENABLED_FLAG_SET_BIT_KHR = 0x00000002, 8545 VK_VIDEO_ENCODE_H265_STD_SCALING_LIST_DATA_PRESENT_FLAG_SET_BIT_KHR = 0x00000004, 8546 VK_VIDEO_ENCODE_H265_STD_PCM_ENABLED_FLAG_SET_BIT_KHR = 0x00000008, 8547 VK_VIDEO_ENCODE_H265_STD_SPS_TEMPORAL_MVP_ENABLED_FLAG_SET_BIT_KHR = 0x00000010, 8548 VK_VIDEO_ENCODE_H265_STD_INIT_QP_MINUS26_BIT_KHR = 0x00000020, 8549 VK_VIDEO_ENCODE_H265_STD_WEIGHTED_PRED_FLAG_SET_BIT_KHR = 0x00000040, 8550 VK_VIDEO_ENCODE_H265_STD_WEIGHTED_BIPRED_FLAG_SET_BIT_KHR = 0x00000080, 8551 VK_VIDEO_ENCODE_H265_STD_LOG2_PARALLEL_MERGE_LEVEL_MINUS2_BIT_KHR = 0x00000100, 8552 VK_VIDEO_ENCODE_H265_STD_SIGN_DATA_HIDING_ENABLED_FLAG_SET_BIT_KHR = 0x00000200, 8553 VK_VIDEO_ENCODE_H265_STD_TRANSFORM_SKIP_ENABLED_FLAG_SET_BIT_KHR = 0x00000400, 8554 VK_VIDEO_ENCODE_H265_STD_TRANSFORM_SKIP_ENABLED_FLAG_UNSET_BIT_KHR = 0x00000800, 8555 VK_VIDEO_ENCODE_H265_STD_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT_FLAG_SET_BIT_KHR = 0x00001000, 8556 VK_VIDEO_ENCODE_H265_STD_TRANSQUANT_BYPASS_ENABLED_FLAG_SET_BIT_KHR = 0x00002000, 8557 VK_VIDEO_ENCODE_H265_STD_CONSTRAINED_INTRA_PRED_FLAG_SET_BIT_KHR = 0x00004000, 8558 VK_VIDEO_ENCODE_H265_STD_ENTROPY_CODING_SYNC_ENABLED_FLAG_SET_BIT_KHR = 0x00008000, 8559 VK_VIDEO_ENCODE_H265_STD_DEBLOCKING_FILTER_OVERRIDE_ENABLED_FLAG_SET_BIT_KHR = 0x00010000, 8560 VK_VIDEO_ENCODE_H265_STD_DEPENDENT_SLICE_SEGMENTS_ENABLED_FLAG_SET_BIT_KHR = 0x00020000, 8561 VK_VIDEO_ENCODE_H265_STD_DEPENDENT_SLICE_SEGMENT_FLAG_SET_BIT_KHR = 0x00040000, 8562 VK_VIDEO_ENCODE_H265_STD_SLICE_QP_DELTA_BIT_KHR = 0x00080000, 8563 VK_VIDEO_ENCODE_H265_STD_DIFFERENT_SLICE_QP_DELTA_BIT_KHR = 0x00100000, 8564 VK_VIDEO_ENCODE_H265_STD_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8565 } VkVideoEncodeH265StdFlagBitsKHR; 8566 typedef VkFlags VkVideoEncodeH265StdFlagsKHR; 8567 8568 typedef enum VkVideoEncodeH265CtbSizeFlagBitsKHR { 8569 VK_VIDEO_ENCODE_H265_CTB_SIZE_16_BIT_KHR = 0x00000001, 8570 VK_VIDEO_ENCODE_H265_CTB_SIZE_32_BIT_KHR = 0x00000002, 8571 VK_VIDEO_ENCODE_H265_CTB_SIZE_64_BIT_KHR = 0x00000004, 8572 VK_VIDEO_ENCODE_H265_CTB_SIZE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8573 } VkVideoEncodeH265CtbSizeFlagBitsKHR; 8574 typedef VkFlags VkVideoEncodeH265CtbSizeFlagsKHR; 8575 8576 typedef enum VkVideoEncodeH265TransformBlockSizeFlagBitsKHR { 8577 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_4_BIT_KHR = 0x00000001, 8578 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_8_BIT_KHR = 0x00000002, 8579 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_16_BIT_KHR = 0x00000004, 8580 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_32_BIT_KHR = 0x00000008, 8581 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8582 } VkVideoEncodeH265TransformBlockSizeFlagBitsKHR; 8583 typedef VkFlags VkVideoEncodeH265TransformBlockSizeFlagsKHR; 8584 8585 typedef enum VkVideoEncodeH265RateControlFlagBitsKHR { 8586 VK_VIDEO_ENCODE_H265_RATE_CONTROL_ATTEMPT_HRD_COMPLIANCE_BIT_KHR = 0x00000001, 8587 VK_VIDEO_ENCODE_H265_RATE_CONTROL_REGULAR_GOP_BIT_KHR = 0x00000002, 8588 VK_VIDEO_ENCODE_H265_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_KHR = 0x00000004, 8589 VK_VIDEO_ENCODE_H265_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_KHR = 0x00000008, 8590 VK_VIDEO_ENCODE_H265_RATE_CONTROL_TEMPORAL_SUB_LAYER_PATTERN_DYADIC_BIT_KHR = 0x00000010, 8591 VK_VIDEO_ENCODE_H265_RATE_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8592 } VkVideoEncodeH265RateControlFlagBitsKHR; 8593 typedef VkFlags VkVideoEncodeH265RateControlFlagsKHR; 8594 typedef struct VkVideoEncodeH265CapabilitiesKHR { 8595 VkStructureType sType; 8596 void* pNext; 8597 VkVideoEncodeH265CapabilityFlagsKHR flags; 8598 StdVideoH265LevelIdc maxLevelIdc; 8599 uint32_t maxSliceSegmentCount; 8600 VkExtent2D maxTiles; 8601 VkVideoEncodeH265CtbSizeFlagsKHR ctbSizes; 8602 VkVideoEncodeH265TransformBlockSizeFlagsKHR transformBlockSizes; 8603 uint32_t maxPPictureL0ReferenceCount; 8604 uint32_t maxBPictureL0ReferenceCount; 8605 uint32_t maxL1ReferenceCount; 8606 uint32_t maxSubLayerCount; 8607 VkBool32 expectDyadicTemporalSubLayerPattern; 8608 int32_t minQp; 8609 int32_t maxQp; 8610 VkBool32 prefersGopRemainingFrames; 8611 VkBool32 requiresGopRemainingFrames; 8612 VkVideoEncodeH265StdFlagsKHR stdSyntaxFlags; 8613 } VkVideoEncodeH265CapabilitiesKHR; 8614 8615 typedef struct VkVideoEncodeH265SessionCreateInfoKHR { 8616 VkStructureType sType; 8617 const void* pNext; 8618 VkBool32 useMaxLevelIdc; 8619 StdVideoH265LevelIdc maxLevelIdc; 8620 } VkVideoEncodeH265SessionCreateInfoKHR; 8621 8622 typedef struct VkVideoEncodeH265QpKHR { 8623 int32_t qpI; 8624 int32_t qpP; 8625 int32_t qpB; 8626 } VkVideoEncodeH265QpKHR; 8627 8628 typedef struct VkVideoEncodeH265QualityLevelPropertiesKHR { 8629 VkStructureType sType; 8630 void* pNext; 8631 VkVideoEncodeH265RateControlFlagsKHR preferredRateControlFlags; 8632 uint32_t preferredGopFrameCount; 8633 uint32_t preferredIdrPeriod; 8634 uint32_t preferredConsecutiveBFrameCount; 8635 uint32_t preferredSubLayerCount; 8636 VkVideoEncodeH265QpKHR preferredConstantQp; 8637 uint32_t preferredMaxL0ReferenceCount; 8638 uint32_t preferredMaxL1ReferenceCount; 8639 } VkVideoEncodeH265QualityLevelPropertiesKHR; 8640 8641 typedef struct VkVideoEncodeH265SessionParametersAddInfoKHR { 8642 VkStructureType sType; 8643 const void* pNext; 8644 uint32_t stdVPSCount; 8645 const StdVideoH265VideoParameterSet* pStdVPSs; 8646 uint32_t stdSPSCount; 8647 const StdVideoH265SequenceParameterSet* pStdSPSs; 8648 uint32_t stdPPSCount; 8649 const StdVideoH265PictureParameterSet* pStdPPSs; 8650 } VkVideoEncodeH265SessionParametersAddInfoKHR; 8651 8652 typedef struct VkVideoEncodeH265SessionParametersCreateInfoKHR { 8653 VkStructureType sType; 8654 const void* pNext; 8655 uint32_t maxStdVPSCount; 8656 uint32_t maxStdSPSCount; 8657 uint32_t maxStdPPSCount; 8658 const VkVideoEncodeH265SessionParametersAddInfoKHR* pParametersAddInfo; 8659 } VkVideoEncodeH265SessionParametersCreateInfoKHR; 8660 8661 typedef struct VkVideoEncodeH265SessionParametersGetInfoKHR { 8662 VkStructureType sType; 8663 const void* pNext; 8664 VkBool32 writeStdVPS; 8665 VkBool32 writeStdSPS; 8666 VkBool32 writeStdPPS; 8667 uint32_t stdVPSId; 8668 uint32_t stdSPSId; 8669 uint32_t stdPPSId; 8670 } VkVideoEncodeH265SessionParametersGetInfoKHR; 8671 8672 typedef struct VkVideoEncodeH265SessionParametersFeedbackInfoKHR { 8673 VkStructureType sType; 8674 void* pNext; 8675 VkBool32 hasStdVPSOverrides; 8676 VkBool32 hasStdSPSOverrides; 8677 VkBool32 hasStdPPSOverrides; 8678 } VkVideoEncodeH265SessionParametersFeedbackInfoKHR; 8679 8680 typedef struct VkVideoEncodeH265NaluSliceSegmentInfoKHR { 8681 VkStructureType sType; 8682 const void* pNext; 8683 int32_t constantQp; 8684 const StdVideoEncodeH265SliceSegmentHeader* pStdSliceSegmentHeader; 8685 } VkVideoEncodeH265NaluSliceSegmentInfoKHR; 8686 8687 typedef struct VkVideoEncodeH265PictureInfoKHR { 8688 VkStructureType sType; 8689 const void* pNext; 8690 uint32_t naluSliceSegmentEntryCount; 8691 const VkVideoEncodeH265NaluSliceSegmentInfoKHR* pNaluSliceSegmentEntries; 8692 const StdVideoEncodeH265PictureInfo* pStdPictureInfo; 8693 } VkVideoEncodeH265PictureInfoKHR; 8694 8695 typedef struct VkVideoEncodeH265DpbSlotInfoKHR { 8696 VkStructureType sType; 8697 const void* pNext; 8698 const StdVideoEncodeH265ReferenceInfo* pStdReferenceInfo; 8699 } VkVideoEncodeH265DpbSlotInfoKHR; 8700 8701 typedef struct VkVideoEncodeH265ProfileInfoKHR { 8702 VkStructureType sType; 8703 const void* pNext; 8704 StdVideoH265ProfileIdc stdProfileIdc; 8705 } VkVideoEncodeH265ProfileInfoKHR; 8706 8707 typedef struct VkVideoEncodeH265RateControlInfoKHR { 8708 VkStructureType sType; 8709 const void* pNext; 8710 VkVideoEncodeH265RateControlFlagsKHR flags; 8711 uint32_t gopFrameCount; 8712 uint32_t idrPeriod; 8713 uint32_t consecutiveBFrameCount; 8714 uint32_t subLayerCount; 8715 } VkVideoEncodeH265RateControlInfoKHR; 8716 8717 typedef struct VkVideoEncodeH265FrameSizeKHR { 8718 uint32_t frameISize; 8719 uint32_t framePSize; 8720 uint32_t frameBSize; 8721 } VkVideoEncodeH265FrameSizeKHR; 8722 8723 typedef struct VkVideoEncodeH265RateControlLayerInfoKHR { 8724 VkStructureType sType; 8725 const void* pNext; 8726 VkBool32 useMinQp; 8727 VkVideoEncodeH265QpKHR minQp; 8728 VkBool32 useMaxQp; 8729 VkVideoEncodeH265QpKHR maxQp; 8730 VkBool32 useMaxFrameSize; 8731 VkVideoEncodeH265FrameSizeKHR maxFrameSize; 8732 } VkVideoEncodeH265RateControlLayerInfoKHR; 8733 8734 typedef struct VkVideoEncodeH265GopRemainingFrameInfoKHR { 8735 VkStructureType sType; 8736 const void* pNext; 8737 VkBool32 useGopRemainingFrames; 8738 uint32_t gopRemainingI; 8739 uint32_t gopRemainingP; 8740 uint32_t gopRemainingB; 8741 } VkVideoEncodeH265GopRemainingFrameInfoKHR; 8742 8743 8744 8745 // VK_KHR_video_decode_h264 is a preprocessor guard. Do not pass it to API calls. 8746 #define VK_KHR_video_decode_h264 1 8747 #include "vk_video/vulkan_video_codec_h264std_decode.h" 8748 #define VK_KHR_VIDEO_DECODE_H264_SPEC_VERSION 9 8749 #define VK_KHR_VIDEO_DECODE_H264_EXTENSION_NAME "VK_KHR_video_decode_h264" 8750 8751 typedef enum VkVideoDecodeH264PictureLayoutFlagBitsKHR { 8752 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_PROGRESSIVE_KHR = 0, 8753 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_INTERLEAVED_LINES_BIT_KHR = 0x00000001, 8754 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_SEPARATE_PLANES_BIT_KHR = 0x00000002, 8755 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8756 } VkVideoDecodeH264PictureLayoutFlagBitsKHR; 8757 typedef VkFlags VkVideoDecodeH264PictureLayoutFlagsKHR; 8758 typedef struct VkVideoDecodeH264ProfileInfoKHR { 8759 VkStructureType sType; 8760 const void* pNext; 8761 StdVideoH264ProfileIdc stdProfileIdc; 8762 VkVideoDecodeH264PictureLayoutFlagBitsKHR pictureLayout; 8763 } VkVideoDecodeH264ProfileInfoKHR; 8764 8765 typedef struct VkVideoDecodeH264CapabilitiesKHR { 8766 VkStructureType sType; 8767 void* pNext; 8768 StdVideoH264LevelIdc maxLevelIdc; 8769 VkOffset2D fieldOffsetGranularity; 8770 } VkVideoDecodeH264CapabilitiesKHR; 8771 8772 typedef struct VkVideoDecodeH264SessionParametersAddInfoKHR { 8773 VkStructureType sType; 8774 const void* pNext; 8775 uint32_t stdSPSCount; 8776 const StdVideoH264SequenceParameterSet* pStdSPSs; 8777 uint32_t stdPPSCount; 8778 const StdVideoH264PictureParameterSet* pStdPPSs; 8779 } VkVideoDecodeH264SessionParametersAddInfoKHR; 8780 8781 typedef struct VkVideoDecodeH264SessionParametersCreateInfoKHR { 8782 VkStructureType sType; 8783 const void* pNext; 8784 uint32_t maxStdSPSCount; 8785 uint32_t maxStdPPSCount; 8786 const VkVideoDecodeH264SessionParametersAddInfoKHR* pParametersAddInfo; 8787 } VkVideoDecodeH264SessionParametersCreateInfoKHR; 8788 8789 typedef struct VkVideoDecodeH264PictureInfoKHR { 8790 VkStructureType sType; 8791 const void* pNext; 8792 const StdVideoDecodeH264PictureInfo* pStdPictureInfo; 8793 uint32_t sliceCount; 8794 const uint32_t* pSliceOffsets; 8795 } VkVideoDecodeH264PictureInfoKHR; 8796 8797 typedef struct VkVideoDecodeH264DpbSlotInfoKHR { 8798 VkStructureType sType; 8799 const void* pNext; 8800 const StdVideoDecodeH264ReferenceInfo* pStdReferenceInfo; 8801 } VkVideoDecodeH264DpbSlotInfoKHR; 8802 8803 8804 8805 // VK_KHR_dynamic_rendering is a preprocessor guard. Do not pass it to API calls. 8806 #define VK_KHR_dynamic_rendering 1 8807 #define VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION 1 8808 #define VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME "VK_KHR_dynamic_rendering" 8809 typedef VkRenderingFlags VkRenderingFlagsKHR; 8810 8811 typedef VkRenderingFlagBits VkRenderingFlagBitsKHR; 8812 8813 typedef VkRenderingInfo VkRenderingInfoKHR; 8814 8815 typedef VkRenderingAttachmentInfo VkRenderingAttachmentInfoKHR; 8816 8817 typedef VkPipelineRenderingCreateInfo VkPipelineRenderingCreateInfoKHR; 8818 8819 typedef VkPhysicalDeviceDynamicRenderingFeatures VkPhysicalDeviceDynamicRenderingFeaturesKHR; 8820 8821 typedef VkCommandBufferInheritanceRenderingInfo VkCommandBufferInheritanceRenderingInfoKHR; 8822 8823 typedef struct VkRenderingFragmentShadingRateAttachmentInfoKHR { 8824 VkStructureType sType; 8825 const void* pNext; 8826 VkImageView imageView; 8827 VkImageLayout imageLayout; 8828 VkExtent2D shadingRateAttachmentTexelSize; 8829 } VkRenderingFragmentShadingRateAttachmentInfoKHR; 8830 8831 typedef struct VkRenderingFragmentDensityMapAttachmentInfoEXT { 8832 VkStructureType sType; 8833 const void* pNext; 8834 VkImageView imageView; 8835 VkImageLayout imageLayout; 8836 } VkRenderingFragmentDensityMapAttachmentInfoEXT; 8837 8838 typedef struct VkAttachmentSampleCountInfoAMD { 8839 VkStructureType sType; 8840 const void* pNext; 8841 uint32_t colorAttachmentCount; 8842 const VkSampleCountFlagBits* pColorAttachmentSamples; 8843 VkSampleCountFlagBits depthStencilAttachmentSamples; 8844 } VkAttachmentSampleCountInfoAMD; 8845 8846 typedef VkAttachmentSampleCountInfoAMD VkAttachmentSampleCountInfoNV; 8847 8848 typedef struct VkMultiviewPerViewAttributesInfoNVX { 8849 VkStructureType sType; 8850 const void* pNext; 8851 VkBool32 perViewAttributes; 8852 VkBool32 perViewAttributesPositionXOnly; 8853 } VkMultiviewPerViewAttributesInfoNVX; 8854 8855 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderingKHR)(VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo); 8856 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderingKHR)(VkCommandBuffer commandBuffer); 8857 8858 #ifndef VK_NO_PROTOTYPES 8859 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderingKHR( 8860 VkCommandBuffer commandBuffer, 8861 const VkRenderingInfo* pRenderingInfo); 8862 8863 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderingKHR( 8864 VkCommandBuffer commandBuffer); 8865 #endif 8866 8867 8868 // VK_KHR_multiview is a preprocessor guard. Do not pass it to API calls. 8869 #define VK_KHR_multiview 1 8870 #define VK_KHR_MULTIVIEW_SPEC_VERSION 1 8871 #define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview" 8872 typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR; 8873 8874 typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR; 8875 8876 typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR; 8877 8878 8879 8880 // VK_KHR_get_physical_device_properties2 is a preprocessor guard. Do not pass it to API calls. 8881 #define VK_KHR_get_physical_device_properties2 1 8882 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 2 8883 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2" 8884 typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR; 8885 8886 typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR; 8887 8888 typedef VkFormatProperties2 VkFormatProperties2KHR; 8889 8890 typedef VkImageFormatProperties2 VkImageFormatProperties2KHR; 8891 8892 typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR; 8893 8894 typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR; 8895 8896 typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR; 8897 8898 typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR; 8899 8900 typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR; 8901 8902 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures); 8903 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties); 8904 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties); 8905 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties); 8906 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties); 8907 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 8908 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties); 8909 8910 #ifndef VK_NO_PROTOTYPES 8911 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR( 8912 VkPhysicalDevice physicalDevice, 8913 VkPhysicalDeviceFeatures2* pFeatures); 8914 8915 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR( 8916 VkPhysicalDevice physicalDevice, 8917 VkPhysicalDeviceProperties2* pProperties); 8918 8919 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR( 8920 VkPhysicalDevice physicalDevice, 8921 VkFormat format, 8922 VkFormatProperties2* pFormatProperties); 8923 8924 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR( 8925 VkPhysicalDevice physicalDevice, 8926 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, 8927 VkImageFormatProperties2* pImageFormatProperties); 8928 8929 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR( 8930 VkPhysicalDevice physicalDevice, 8931 uint32_t* pQueueFamilyPropertyCount, 8932 VkQueueFamilyProperties2* pQueueFamilyProperties); 8933 8934 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR( 8935 VkPhysicalDevice physicalDevice, 8936 VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 8937 8938 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR( 8939 VkPhysicalDevice physicalDevice, 8940 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, 8941 uint32_t* pPropertyCount, 8942 VkSparseImageFormatProperties2* pProperties); 8943 #endif 8944 8945 8946 // VK_KHR_device_group is a preprocessor guard. Do not pass it to API calls. 8947 #define VK_KHR_device_group 1 8948 #define VK_KHR_DEVICE_GROUP_SPEC_VERSION 4 8949 #define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group" 8950 typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR; 8951 8952 typedef VkPeerMemoryFeatureFlagBits VkPeerMemoryFeatureFlagBitsKHR; 8953 8954 typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR; 8955 8956 typedef VkMemoryAllocateFlagBits VkMemoryAllocateFlagBitsKHR; 8957 8958 typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR; 8959 8960 typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR; 8961 8962 typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR; 8963 8964 typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR; 8965 8966 typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR; 8967 8968 typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR; 8969 8970 typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR; 8971 8972 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 8973 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer commandBuffer, uint32_t deviceMask); 8974 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); 8975 8976 #ifndef VK_NO_PROTOTYPES 8977 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHR( 8978 VkDevice device, 8979 uint32_t heapIndex, 8980 uint32_t localDeviceIndex, 8981 uint32_t remoteDeviceIndex, 8982 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 8983 8984 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMaskKHR( 8985 VkCommandBuffer commandBuffer, 8986 uint32_t deviceMask); 8987 8988 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHR( 8989 VkCommandBuffer commandBuffer, 8990 uint32_t baseGroupX, 8991 uint32_t baseGroupY, 8992 uint32_t baseGroupZ, 8993 uint32_t groupCountX, 8994 uint32_t groupCountY, 8995 uint32_t groupCountZ); 8996 #endif 8997 8998 8999 // VK_KHR_shader_draw_parameters is a preprocessor guard. Do not pass it to API calls. 9000 #define VK_KHR_shader_draw_parameters 1 9001 #define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1 9002 #define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters" 9003 9004 9005 // VK_KHR_maintenance1 is a preprocessor guard. Do not pass it to API calls. 9006 #define VK_KHR_maintenance1 1 9007 #define VK_KHR_MAINTENANCE_1_SPEC_VERSION 2 9008 #define VK_KHR_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_maintenance1" 9009 #define VK_KHR_MAINTENANCE1_SPEC_VERSION VK_KHR_MAINTENANCE_1_SPEC_VERSION 9010 #define VK_KHR_MAINTENANCE1_EXTENSION_NAME VK_KHR_MAINTENANCE_1_EXTENSION_NAME 9011 typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR; 9012 9013 typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags); 9014 9015 #ifndef VK_NO_PROTOTYPES 9016 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR( 9017 VkDevice device, 9018 VkCommandPool commandPool, 9019 VkCommandPoolTrimFlags flags); 9020 #endif 9021 9022 9023 // VK_KHR_device_group_creation is a preprocessor guard. Do not pass it to API calls. 9024 #define VK_KHR_device_group_creation 1 9025 #define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1 9026 #define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation" 9027 #define VK_MAX_DEVICE_GROUP_SIZE_KHR VK_MAX_DEVICE_GROUP_SIZE 9028 typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR; 9029 9030 typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR; 9031 9032 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 9033 9034 #ifndef VK_NO_PROTOTYPES 9035 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHR( 9036 VkInstance instance, 9037 uint32_t* pPhysicalDeviceGroupCount, 9038 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 9039 #endif 9040 9041 9042 // VK_KHR_external_memory_capabilities is a preprocessor guard. Do not pass it to API calls. 9043 #define VK_KHR_external_memory_capabilities 1 9044 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1 9045 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities" 9046 #define VK_LUID_SIZE_KHR VK_LUID_SIZE 9047 typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR; 9048 9049 typedef VkExternalMemoryHandleTypeFlagBits VkExternalMemoryHandleTypeFlagBitsKHR; 9050 9051 typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR; 9052 9053 typedef VkExternalMemoryFeatureFlagBits VkExternalMemoryFeatureFlagBitsKHR; 9054 9055 typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR; 9056 9057 typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR; 9058 9059 typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR; 9060 9061 typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR; 9062 9063 typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR; 9064 9065 typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR; 9066 9067 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties); 9068 9069 #ifndef VK_NO_PROTOTYPES 9070 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR( 9071 VkPhysicalDevice physicalDevice, 9072 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, 9073 VkExternalBufferProperties* pExternalBufferProperties); 9074 #endif 9075 9076 9077 // VK_KHR_external_memory is a preprocessor guard. Do not pass it to API calls. 9078 #define VK_KHR_external_memory 1 9079 #define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1 9080 #define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory" 9081 #define VK_QUEUE_FAMILY_EXTERNAL_KHR VK_QUEUE_FAMILY_EXTERNAL 9082 typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR; 9083 9084 typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR; 9085 9086 typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR; 9087 9088 9089 9090 // VK_KHR_external_memory_fd is a preprocessor guard. Do not pass it to API calls. 9091 #define VK_KHR_external_memory_fd 1 9092 #define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1 9093 #define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd" 9094 typedef struct VkImportMemoryFdInfoKHR { 9095 VkStructureType sType; 9096 const void* pNext; 9097 VkExternalMemoryHandleTypeFlagBits handleType; 9098 int fd; 9099 } VkImportMemoryFdInfoKHR; 9100 9101 typedef struct VkMemoryFdPropertiesKHR { 9102 VkStructureType sType; 9103 void* pNext; 9104 uint32_t memoryTypeBits; 9105 } VkMemoryFdPropertiesKHR; 9106 9107 typedef struct VkMemoryGetFdInfoKHR { 9108 VkStructureType sType; 9109 const void* pNext; 9110 VkDeviceMemory memory; 9111 VkExternalMemoryHandleTypeFlagBits handleType; 9112 } VkMemoryGetFdInfoKHR; 9113 9114 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd); 9115 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdPropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties); 9116 9117 #ifndef VK_NO_PROTOTYPES 9118 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR( 9119 VkDevice device, 9120 const VkMemoryGetFdInfoKHR* pGetFdInfo, 9121 int* pFd); 9122 9123 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR( 9124 VkDevice device, 9125 VkExternalMemoryHandleTypeFlagBits handleType, 9126 int fd, 9127 VkMemoryFdPropertiesKHR* pMemoryFdProperties); 9128 #endif 9129 9130 9131 // VK_KHR_external_semaphore_capabilities is a preprocessor guard. Do not pass it to API calls. 9132 #define VK_KHR_external_semaphore_capabilities 1 9133 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1 9134 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities" 9135 typedef VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreHandleTypeFlagsKHR; 9136 9137 typedef VkExternalSemaphoreHandleTypeFlagBits VkExternalSemaphoreHandleTypeFlagBitsKHR; 9138 9139 typedef VkExternalSemaphoreFeatureFlags VkExternalSemaphoreFeatureFlagsKHR; 9140 9141 typedef VkExternalSemaphoreFeatureFlagBits VkExternalSemaphoreFeatureFlagBitsKHR; 9142 9143 typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR; 9144 9145 typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR; 9146 9147 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 9148 9149 #ifndef VK_NO_PROTOTYPES 9150 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( 9151 VkPhysicalDevice physicalDevice, 9152 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, 9153 VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 9154 #endif 9155 9156 9157 // VK_KHR_external_semaphore is a preprocessor guard. Do not pass it to API calls. 9158 #define VK_KHR_external_semaphore 1 9159 #define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1 9160 #define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore" 9161 typedef VkSemaphoreImportFlags VkSemaphoreImportFlagsKHR; 9162 9163 typedef VkSemaphoreImportFlagBits VkSemaphoreImportFlagBitsKHR; 9164 9165 typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR; 9166 9167 9168 9169 // VK_KHR_external_semaphore_fd is a preprocessor guard. Do not pass it to API calls. 9170 #define VK_KHR_external_semaphore_fd 1 9171 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1 9172 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd" 9173 typedef struct VkImportSemaphoreFdInfoKHR { 9174 VkStructureType sType; 9175 const void* pNext; 9176 VkSemaphore semaphore; 9177 VkSemaphoreImportFlags flags; 9178 VkExternalSemaphoreHandleTypeFlagBits handleType; 9179 int fd; 9180 } VkImportSemaphoreFdInfoKHR; 9181 9182 typedef struct VkSemaphoreGetFdInfoKHR { 9183 VkStructureType sType; 9184 const void* pNext; 9185 VkSemaphore semaphore; 9186 VkExternalSemaphoreHandleTypeFlagBits handleType; 9187 } VkSemaphoreGetFdInfoKHR; 9188 9189 typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo); 9190 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd); 9191 9192 #ifndef VK_NO_PROTOTYPES 9193 VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR( 9194 VkDevice device, 9195 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo); 9196 9197 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR( 9198 VkDevice device, 9199 const VkSemaphoreGetFdInfoKHR* pGetFdInfo, 9200 int* pFd); 9201 #endif 9202 9203 9204 // VK_KHR_push_descriptor is a preprocessor guard. Do not pass it to API calls. 9205 #define VK_KHR_push_descriptor 1 9206 #define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2 9207 #define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor" 9208 typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR { 9209 VkStructureType sType; 9210 void* pNext; 9211 uint32_t maxPushDescriptors; 9212 } VkPhysicalDevicePushDescriptorPropertiesKHR; 9213 9214 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites); 9215 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData); 9216 9217 #ifndef VK_NO_PROTOTYPES 9218 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR( 9219 VkCommandBuffer commandBuffer, 9220 VkPipelineBindPoint pipelineBindPoint, 9221 VkPipelineLayout layout, 9222 uint32_t set, 9223 uint32_t descriptorWriteCount, 9224 const VkWriteDescriptorSet* pDescriptorWrites); 9225 9226 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR( 9227 VkCommandBuffer commandBuffer, 9228 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 9229 VkPipelineLayout layout, 9230 uint32_t set, 9231 const void* pData); 9232 #endif 9233 9234 9235 // VK_KHR_shader_float16_int8 is a preprocessor guard. Do not pass it to API calls. 9236 #define VK_KHR_shader_float16_int8 1 9237 #define VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION 1 9238 #define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8" 9239 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceShaderFloat16Int8FeaturesKHR; 9240 9241 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceFloat16Int8FeaturesKHR; 9242 9243 9244 9245 // VK_KHR_16bit_storage is a preprocessor guard. Do not pass it to API calls. 9246 #define VK_KHR_16bit_storage 1 9247 #define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1 9248 #define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage" 9249 typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR; 9250 9251 9252 9253 // VK_KHR_incremental_present is a preprocessor guard. Do not pass it to API calls. 9254 #define VK_KHR_incremental_present 1 9255 #define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 2 9256 #define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present" 9257 typedef struct VkRectLayerKHR { 9258 VkOffset2D offset; 9259 VkExtent2D extent; 9260 uint32_t layer; 9261 } VkRectLayerKHR; 9262 9263 typedef struct VkPresentRegionKHR { 9264 uint32_t rectangleCount; 9265 const VkRectLayerKHR* pRectangles; 9266 } VkPresentRegionKHR; 9267 9268 typedef struct VkPresentRegionsKHR { 9269 VkStructureType sType; 9270 const void* pNext; 9271 uint32_t swapchainCount; 9272 const VkPresentRegionKHR* pRegions; 9273 } VkPresentRegionsKHR; 9274 9275 9276 9277 // VK_KHR_descriptor_update_template is a preprocessor guard. Do not pass it to API calls. 9278 #define VK_KHR_descriptor_update_template 1 9279 typedef VkDescriptorUpdateTemplate VkDescriptorUpdateTemplateKHR; 9280 9281 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1 9282 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template" 9283 typedef VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateTypeKHR; 9284 9285 typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR; 9286 9287 typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR; 9288 9289 typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR; 9290 9291 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 9292 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator); 9293 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData); 9294 9295 #ifndef VK_NO_PROTOTYPES 9296 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR( 9297 VkDevice device, 9298 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, 9299 const VkAllocationCallbacks* pAllocator, 9300 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 9301 9302 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR( 9303 VkDevice device, 9304 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 9305 const VkAllocationCallbacks* pAllocator); 9306 9307 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR( 9308 VkDevice device, 9309 VkDescriptorSet descriptorSet, 9310 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 9311 const void* pData); 9312 #endif 9313 9314 9315 // VK_KHR_imageless_framebuffer is a preprocessor guard. Do not pass it to API calls. 9316 #define VK_KHR_imageless_framebuffer 1 9317 #define VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION 1 9318 #define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer" 9319 typedef VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeaturesKHR; 9320 9321 typedef VkFramebufferAttachmentsCreateInfo VkFramebufferAttachmentsCreateInfoKHR; 9322 9323 typedef VkFramebufferAttachmentImageInfo VkFramebufferAttachmentImageInfoKHR; 9324 9325 typedef VkRenderPassAttachmentBeginInfo VkRenderPassAttachmentBeginInfoKHR; 9326 9327 9328 9329 // VK_KHR_create_renderpass2 is a preprocessor guard. Do not pass it to API calls. 9330 #define VK_KHR_create_renderpass2 1 9331 #define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1 9332 #define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2" 9333 typedef VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR; 9334 9335 typedef VkAttachmentDescription2 VkAttachmentDescription2KHR; 9336 9337 typedef VkAttachmentReference2 VkAttachmentReference2KHR; 9338 9339 typedef VkSubpassDescription2 VkSubpassDescription2KHR; 9340 9341 typedef VkSubpassDependency2 VkSubpassDependency2KHR; 9342 9343 typedef VkSubpassBeginInfo VkSubpassBeginInfoKHR; 9344 9345 typedef VkSubpassEndInfo VkSubpassEndInfoKHR; 9346 9347 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2KHR)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); 9348 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo); 9349 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo); 9350 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo); 9351 9352 #ifndef VK_NO_PROTOTYPES 9353 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2KHR( 9354 VkDevice device, 9355 const VkRenderPassCreateInfo2* pCreateInfo, 9356 const VkAllocationCallbacks* pAllocator, 9357 VkRenderPass* pRenderPass); 9358 9359 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2KHR( 9360 VkCommandBuffer commandBuffer, 9361 const VkRenderPassBeginInfo* pRenderPassBegin, 9362 const VkSubpassBeginInfo* pSubpassBeginInfo); 9363 9364 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2KHR( 9365 VkCommandBuffer commandBuffer, 9366 const VkSubpassBeginInfo* pSubpassBeginInfo, 9367 const VkSubpassEndInfo* pSubpassEndInfo); 9368 9369 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2KHR( 9370 VkCommandBuffer commandBuffer, 9371 const VkSubpassEndInfo* pSubpassEndInfo); 9372 #endif 9373 9374 9375 // VK_KHR_shared_presentable_image is a preprocessor guard. Do not pass it to API calls. 9376 #define VK_KHR_shared_presentable_image 1 9377 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1 9378 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image" 9379 typedef struct VkSharedPresentSurfaceCapabilitiesKHR { 9380 VkStructureType sType; 9381 void* pNext; 9382 VkImageUsageFlags sharedPresentSupportedUsageFlags; 9383 } VkSharedPresentSurfaceCapabilitiesKHR; 9384 9385 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain); 9386 9387 #ifndef VK_NO_PROTOTYPES 9388 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR( 9389 VkDevice device, 9390 VkSwapchainKHR swapchain); 9391 #endif 9392 9393 9394 // VK_KHR_external_fence_capabilities is a preprocessor guard. Do not pass it to API calls. 9395 #define VK_KHR_external_fence_capabilities 1 9396 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1 9397 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities" 9398 typedef VkExternalFenceHandleTypeFlags VkExternalFenceHandleTypeFlagsKHR; 9399 9400 typedef VkExternalFenceHandleTypeFlagBits VkExternalFenceHandleTypeFlagBitsKHR; 9401 9402 typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR; 9403 9404 typedef VkExternalFenceFeatureFlagBits VkExternalFenceFeatureFlagBitsKHR; 9405 9406 typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR; 9407 9408 typedef VkExternalFenceProperties VkExternalFencePropertiesKHR; 9409 9410 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties); 9411 9412 #ifndef VK_NO_PROTOTYPES 9413 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFencePropertiesKHR( 9414 VkPhysicalDevice physicalDevice, 9415 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, 9416 VkExternalFenceProperties* pExternalFenceProperties); 9417 #endif 9418 9419 9420 // VK_KHR_external_fence is a preprocessor guard. Do not pass it to API calls. 9421 #define VK_KHR_external_fence 1 9422 #define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1 9423 #define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence" 9424 typedef VkFenceImportFlags VkFenceImportFlagsKHR; 9425 9426 typedef VkFenceImportFlagBits VkFenceImportFlagBitsKHR; 9427 9428 typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR; 9429 9430 9431 9432 // VK_KHR_external_fence_fd is a preprocessor guard. Do not pass it to API calls. 9433 #define VK_KHR_external_fence_fd 1 9434 #define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1 9435 #define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd" 9436 typedef struct VkImportFenceFdInfoKHR { 9437 VkStructureType sType; 9438 const void* pNext; 9439 VkFence fence; 9440 VkFenceImportFlags flags; 9441 VkExternalFenceHandleTypeFlagBits handleType; 9442 int fd; 9443 } VkImportFenceFdInfoKHR; 9444 9445 typedef struct VkFenceGetFdInfoKHR { 9446 VkStructureType sType; 9447 const void* pNext; 9448 VkFence fence; 9449 VkExternalFenceHandleTypeFlagBits handleType; 9450 } VkFenceGetFdInfoKHR; 9451 9452 typedef VkResult (VKAPI_PTR *PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo); 9453 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd); 9454 9455 #ifndef VK_NO_PROTOTYPES 9456 VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceFdKHR( 9457 VkDevice device, 9458 const VkImportFenceFdInfoKHR* pImportFenceFdInfo); 9459 9460 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceFdKHR( 9461 VkDevice device, 9462 const VkFenceGetFdInfoKHR* pGetFdInfo, 9463 int* pFd); 9464 #endif 9465 9466 9467 // VK_KHR_performance_query is a preprocessor guard. Do not pass it to API calls. 9468 #define VK_KHR_performance_query 1 9469 #define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1 9470 #define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query" 9471 9472 typedef enum VkPerformanceCounterUnitKHR { 9473 VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0, 9474 VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1, 9475 VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR = 2, 9476 VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR = 3, 9477 VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR = 4, 9478 VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR = 5, 9479 VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR = 6, 9480 VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR = 7, 9481 VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8, 9482 VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9, 9483 VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10, 9484 VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR = 0x7FFFFFFF 9485 } VkPerformanceCounterUnitKHR; 9486 9487 typedef enum VkPerformanceCounterScopeKHR { 9488 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR = 0, 9489 VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR = 1, 9490 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR = 2, 9491 VK_QUERY_SCOPE_COMMAND_BUFFER_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR, 9492 VK_QUERY_SCOPE_RENDER_PASS_KHR = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR, 9493 VK_QUERY_SCOPE_COMMAND_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR, 9494 VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF 9495 } VkPerformanceCounterScopeKHR; 9496 9497 typedef enum VkPerformanceCounterStorageKHR { 9498 VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR = 0, 9499 VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR = 1, 9500 VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR = 2, 9501 VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3, 9502 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4, 9503 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5, 9504 VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = 0x7FFFFFFF 9505 } VkPerformanceCounterStorageKHR; 9506 9507 typedef enum VkPerformanceCounterDescriptionFlagBitsKHR { 9508 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR = 0x00000001, 9509 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR = 0x00000002, 9510 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR, 9511 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR, 9512 VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9513 } VkPerformanceCounterDescriptionFlagBitsKHR; 9514 typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR; 9515 9516 typedef enum VkAcquireProfilingLockFlagBitsKHR { 9517 VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9518 } VkAcquireProfilingLockFlagBitsKHR; 9519 typedef VkFlags VkAcquireProfilingLockFlagsKHR; 9520 typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR { 9521 VkStructureType sType; 9522 void* pNext; 9523 VkBool32 performanceCounterQueryPools; 9524 VkBool32 performanceCounterMultipleQueryPools; 9525 } VkPhysicalDevicePerformanceQueryFeaturesKHR; 9526 9527 typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR { 9528 VkStructureType sType; 9529 void* pNext; 9530 VkBool32 allowCommandBufferQueryCopies; 9531 } VkPhysicalDevicePerformanceQueryPropertiesKHR; 9532 9533 typedef struct VkPerformanceCounterKHR { 9534 VkStructureType sType; 9535 void* pNext; 9536 VkPerformanceCounterUnitKHR unit; 9537 VkPerformanceCounterScopeKHR scope; 9538 VkPerformanceCounterStorageKHR storage; 9539 uint8_t uuid[VK_UUID_SIZE]; 9540 } VkPerformanceCounterKHR; 9541 9542 typedef struct VkPerformanceCounterDescriptionKHR { 9543 VkStructureType sType; 9544 void* pNext; 9545 VkPerformanceCounterDescriptionFlagsKHR flags; 9546 char name[VK_MAX_DESCRIPTION_SIZE]; 9547 char category[VK_MAX_DESCRIPTION_SIZE]; 9548 char description[VK_MAX_DESCRIPTION_SIZE]; 9549 } VkPerformanceCounterDescriptionKHR; 9550 9551 typedef struct VkQueryPoolPerformanceCreateInfoKHR { 9552 VkStructureType sType; 9553 const void* pNext; 9554 uint32_t queueFamilyIndex; 9555 uint32_t counterIndexCount; 9556 const uint32_t* pCounterIndices; 9557 } VkQueryPoolPerformanceCreateInfoKHR; 9558 9559 typedef union VkPerformanceCounterResultKHR { 9560 int32_t int32; 9561 int64_t int64; 9562 uint32_t uint32; 9563 uint64_t uint64; 9564 float float32; 9565 double float64; 9566 } VkPerformanceCounterResultKHR; 9567 9568 typedef struct VkAcquireProfilingLockInfoKHR { 9569 VkStructureType sType; 9570 const void* pNext; 9571 VkAcquireProfilingLockFlagsKHR flags; 9572 uint64_t timeout; 9573 } VkAcquireProfilingLockInfoKHR; 9574 9575 typedef struct VkPerformanceQuerySubmitInfoKHR { 9576 VkStructureType sType; 9577 const void* pNext; 9578 uint32_t counterPassIndex; 9579 } VkPerformanceQuerySubmitInfoKHR; 9580 9581 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, uint32_t* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions); 9582 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)(VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, uint32_t* pNumPasses); 9583 typedef VkResult (VKAPI_PTR *PFN_vkAcquireProfilingLockKHR)(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo); 9584 typedef void (VKAPI_PTR *PFN_vkReleaseProfilingLockKHR)(VkDevice device); 9585 9586 #ifndef VK_NO_PROTOTYPES 9587 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( 9588 VkPhysicalDevice physicalDevice, 9589 uint32_t queueFamilyIndex, 9590 uint32_t* pCounterCount, 9591 VkPerformanceCounterKHR* pCounters, 9592 VkPerformanceCounterDescriptionKHR* pCounterDescriptions); 9593 9594 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR( 9595 VkPhysicalDevice physicalDevice, 9596 const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, 9597 uint32_t* pNumPasses); 9598 9599 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireProfilingLockKHR( 9600 VkDevice device, 9601 const VkAcquireProfilingLockInfoKHR* pInfo); 9602 9603 VKAPI_ATTR void VKAPI_CALL vkReleaseProfilingLockKHR( 9604 VkDevice device); 9605 #endif 9606 9607 9608 // VK_KHR_maintenance2 is a preprocessor guard. Do not pass it to API calls. 9609 #define VK_KHR_maintenance2 1 9610 #define VK_KHR_MAINTENANCE_2_SPEC_VERSION 1 9611 #define VK_KHR_MAINTENANCE_2_EXTENSION_NAME "VK_KHR_maintenance2" 9612 #define VK_KHR_MAINTENANCE2_SPEC_VERSION VK_KHR_MAINTENANCE_2_SPEC_VERSION 9613 #define VK_KHR_MAINTENANCE2_EXTENSION_NAME VK_KHR_MAINTENANCE_2_EXTENSION_NAME 9614 typedef VkPointClippingBehavior VkPointClippingBehaviorKHR; 9615 9616 typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR; 9617 9618 typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR; 9619 9620 typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR; 9621 9622 typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR; 9623 9624 typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR; 9625 9626 typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR; 9627 9628 9629 9630 // VK_KHR_get_surface_capabilities2 is a preprocessor guard. Do not pass it to API calls. 9631 #define VK_KHR_get_surface_capabilities2 1 9632 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1 9633 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2" 9634 typedef struct VkPhysicalDeviceSurfaceInfo2KHR { 9635 VkStructureType sType; 9636 const void* pNext; 9637 VkSurfaceKHR surface; 9638 } VkPhysicalDeviceSurfaceInfo2KHR; 9639 9640 typedef struct VkSurfaceCapabilities2KHR { 9641 VkStructureType sType; 9642 void* pNext; 9643 VkSurfaceCapabilitiesKHR surfaceCapabilities; 9644 } VkSurfaceCapabilities2KHR; 9645 9646 typedef struct VkSurfaceFormat2KHR { 9647 VkStructureType sType; 9648 void* pNext; 9649 VkSurfaceFormatKHR surfaceFormat; 9650 } VkSurfaceFormat2KHR; 9651 9652 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities); 9653 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats); 9654 9655 #ifndef VK_NO_PROTOTYPES 9656 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR( 9657 VkPhysicalDevice physicalDevice, 9658 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, 9659 VkSurfaceCapabilities2KHR* pSurfaceCapabilities); 9660 9661 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR( 9662 VkPhysicalDevice physicalDevice, 9663 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, 9664 uint32_t* pSurfaceFormatCount, 9665 VkSurfaceFormat2KHR* pSurfaceFormats); 9666 #endif 9667 9668 9669 // VK_KHR_variable_pointers is a preprocessor guard. Do not pass it to API calls. 9670 #define VK_KHR_variable_pointers 1 9671 #define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1 9672 #define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers" 9673 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeaturesKHR; 9674 9675 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointersFeaturesKHR; 9676 9677 9678 9679 // VK_KHR_get_display_properties2 is a preprocessor guard. Do not pass it to API calls. 9680 #define VK_KHR_get_display_properties2 1 9681 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1 9682 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2" 9683 typedef struct VkDisplayProperties2KHR { 9684 VkStructureType sType; 9685 void* pNext; 9686 VkDisplayPropertiesKHR displayProperties; 9687 } VkDisplayProperties2KHR; 9688 9689 typedef struct VkDisplayPlaneProperties2KHR { 9690 VkStructureType sType; 9691 void* pNext; 9692 VkDisplayPlanePropertiesKHR displayPlaneProperties; 9693 } VkDisplayPlaneProperties2KHR; 9694 9695 typedef struct VkDisplayModeProperties2KHR { 9696 VkStructureType sType; 9697 void* pNext; 9698 VkDisplayModePropertiesKHR displayModeProperties; 9699 } VkDisplayModeProperties2KHR; 9700 9701 typedef struct VkDisplayPlaneInfo2KHR { 9702 VkStructureType sType; 9703 const void* pNext; 9704 VkDisplayModeKHR mode; 9705 uint32_t planeIndex; 9706 } VkDisplayPlaneInfo2KHR; 9707 9708 typedef struct VkDisplayPlaneCapabilities2KHR { 9709 VkStructureType sType; 9710 void* pNext; 9711 VkDisplayPlaneCapabilitiesKHR capabilities; 9712 } VkDisplayPlaneCapabilities2KHR; 9713 9714 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayProperties2KHR* pProperties); 9715 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties); 9716 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModeProperties2KHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModeProperties2KHR* pProperties); 9717 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities); 9718 9719 #ifndef VK_NO_PROTOTYPES 9720 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayProperties2KHR( 9721 VkPhysicalDevice physicalDevice, 9722 uint32_t* pPropertyCount, 9723 VkDisplayProperties2KHR* pProperties); 9724 9725 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlaneProperties2KHR( 9726 VkPhysicalDevice physicalDevice, 9727 uint32_t* pPropertyCount, 9728 VkDisplayPlaneProperties2KHR* pProperties); 9729 9730 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModeProperties2KHR( 9731 VkPhysicalDevice physicalDevice, 9732 VkDisplayKHR display, 9733 uint32_t* pPropertyCount, 9734 VkDisplayModeProperties2KHR* pProperties); 9735 9736 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilities2KHR( 9737 VkPhysicalDevice physicalDevice, 9738 const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, 9739 VkDisplayPlaneCapabilities2KHR* pCapabilities); 9740 #endif 9741 9742 9743 // VK_KHR_dedicated_allocation is a preprocessor guard. Do not pass it to API calls. 9744 #define VK_KHR_dedicated_allocation 1 9745 #define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3 9746 #define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation" 9747 typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR; 9748 9749 typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR; 9750 9751 9752 9753 // VK_KHR_storage_buffer_storage_class is a preprocessor guard. Do not pass it to API calls. 9754 #define VK_KHR_storage_buffer_storage_class 1 9755 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1 9756 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class" 9757 9758 9759 // VK_KHR_relaxed_block_layout is a preprocessor guard. Do not pass it to API calls. 9760 #define VK_KHR_relaxed_block_layout 1 9761 #define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1 9762 #define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout" 9763 9764 9765 // VK_KHR_get_memory_requirements2 is a preprocessor guard. Do not pass it to API calls. 9766 #define VK_KHR_get_memory_requirements2 1 9767 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1 9768 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2" 9769 typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR; 9770 9771 typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR; 9772 9773 typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR; 9774 9775 typedef VkMemoryRequirements2 VkMemoryRequirements2KHR; 9776 9777 typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR; 9778 9779 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); 9780 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); 9781 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 9782 9783 #ifndef VK_NO_PROTOTYPES 9784 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2KHR( 9785 VkDevice device, 9786 const VkImageMemoryRequirementsInfo2* pInfo, 9787 VkMemoryRequirements2* pMemoryRequirements); 9788 9789 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2KHR( 9790 VkDevice device, 9791 const VkBufferMemoryRequirementsInfo2* pInfo, 9792 VkMemoryRequirements2* pMemoryRequirements); 9793 9794 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR( 9795 VkDevice device, 9796 const VkImageSparseMemoryRequirementsInfo2* pInfo, 9797 uint32_t* pSparseMemoryRequirementCount, 9798 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 9799 #endif 9800 9801 9802 // VK_KHR_image_format_list is a preprocessor guard. Do not pass it to API calls. 9803 #define VK_KHR_image_format_list 1 9804 #define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1 9805 #define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list" 9806 typedef VkImageFormatListCreateInfo VkImageFormatListCreateInfoKHR; 9807 9808 9809 9810 // VK_KHR_sampler_ycbcr_conversion is a preprocessor guard. Do not pass it to API calls. 9811 #define VK_KHR_sampler_ycbcr_conversion 1 9812 typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR; 9813 9814 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 14 9815 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion" 9816 typedef VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR; 9817 9818 typedef VkSamplerYcbcrRange VkSamplerYcbcrRangeKHR; 9819 9820 typedef VkChromaLocation VkChromaLocationKHR; 9821 9822 typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR; 9823 9824 typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR; 9825 9826 typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR; 9827 9828 typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR; 9829 9830 typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR; 9831 9832 typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR; 9833 9834 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion); 9835 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator); 9836 9837 #ifndef VK_NO_PROTOTYPES 9838 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversionKHR( 9839 VkDevice device, 9840 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, 9841 const VkAllocationCallbacks* pAllocator, 9842 VkSamplerYcbcrConversion* pYcbcrConversion); 9843 9844 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversionKHR( 9845 VkDevice device, 9846 VkSamplerYcbcrConversion ycbcrConversion, 9847 const VkAllocationCallbacks* pAllocator); 9848 #endif 9849 9850 9851 // VK_KHR_bind_memory2 is a preprocessor guard. Do not pass it to API calls. 9852 #define VK_KHR_bind_memory2 1 9853 #define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1 9854 #define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2" 9855 typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR; 9856 9857 typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR; 9858 9859 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos); 9860 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos); 9861 9862 #ifndef VK_NO_PROTOTYPES 9863 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2KHR( 9864 VkDevice device, 9865 uint32_t bindInfoCount, 9866 const VkBindBufferMemoryInfo* pBindInfos); 9867 9868 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR( 9869 VkDevice device, 9870 uint32_t bindInfoCount, 9871 const VkBindImageMemoryInfo* pBindInfos); 9872 #endif 9873 9874 9875 // VK_KHR_maintenance3 is a preprocessor guard. Do not pass it to API calls. 9876 #define VK_KHR_maintenance3 1 9877 #define VK_KHR_MAINTENANCE_3_SPEC_VERSION 1 9878 #define VK_KHR_MAINTENANCE_3_EXTENSION_NAME "VK_KHR_maintenance3" 9879 #define VK_KHR_MAINTENANCE3_SPEC_VERSION VK_KHR_MAINTENANCE_3_SPEC_VERSION 9880 #define VK_KHR_MAINTENANCE3_EXTENSION_NAME VK_KHR_MAINTENANCE_3_EXTENSION_NAME 9881 typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR; 9882 9883 typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR; 9884 9885 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport); 9886 9887 #ifndef VK_NO_PROTOTYPES 9888 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR( 9889 VkDevice device, 9890 const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 9891 VkDescriptorSetLayoutSupport* pSupport); 9892 #endif 9893 9894 9895 // VK_KHR_draw_indirect_count is a preprocessor guard. Do not pass it to API calls. 9896 #define VK_KHR_draw_indirect_count 1 9897 #define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1 9898 #define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count" 9899 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 9900 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 9901 9902 #ifndef VK_NO_PROTOTYPES 9903 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountKHR( 9904 VkCommandBuffer commandBuffer, 9905 VkBuffer buffer, 9906 VkDeviceSize offset, 9907 VkBuffer countBuffer, 9908 VkDeviceSize countBufferOffset, 9909 uint32_t maxDrawCount, 9910 uint32_t stride); 9911 9912 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountKHR( 9913 VkCommandBuffer commandBuffer, 9914 VkBuffer buffer, 9915 VkDeviceSize offset, 9916 VkBuffer countBuffer, 9917 VkDeviceSize countBufferOffset, 9918 uint32_t maxDrawCount, 9919 uint32_t stride); 9920 #endif 9921 9922 9923 // VK_KHR_shader_subgroup_extended_types is a preprocessor guard. Do not pass it to API calls. 9924 #define VK_KHR_shader_subgroup_extended_types 1 9925 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION 1 9926 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME "VK_KHR_shader_subgroup_extended_types" 9927 typedef VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR; 9928 9929 9930 9931 // VK_KHR_8bit_storage is a preprocessor guard. Do not pass it to API calls. 9932 #define VK_KHR_8bit_storage 1 9933 #define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1 9934 #define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage" 9935 typedef VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeaturesKHR; 9936 9937 9938 9939 // VK_KHR_shader_atomic_int64 is a preprocessor guard. Do not pass it to API calls. 9940 #define VK_KHR_shader_atomic_int64 1 9941 #define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1 9942 #define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64" 9943 typedef VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64FeaturesKHR; 9944 9945 9946 9947 // VK_KHR_shader_clock is a preprocessor guard. Do not pass it to API calls. 9948 #define VK_KHR_shader_clock 1 9949 #define VK_KHR_SHADER_CLOCK_SPEC_VERSION 1 9950 #define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock" 9951 typedef struct VkPhysicalDeviceShaderClockFeaturesKHR { 9952 VkStructureType sType; 9953 void* pNext; 9954 VkBool32 shaderSubgroupClock; 9955 VkBool32 shaderDeviceClock; 9956 } VkPhysicalDeviceShaderClockFeaturesKHR; 9957 9958 9959 9960 // VK_KHR_video_decode_h265 is a preprocessor guard. Do not pass it to API calls. 9961 #define VK_KHR_video_decode_h265 1 9962 #include "vk_video/vulkan_video_codec_h265std_decode.h" 9963 #define VK_KHR_VIDEO_DECODE_H265_SPEC_VERSION 8 9964 #define VK_KHR_VIDEO_DECODE_H265_EXTENSION_NAME "VK_KHR_video_decode_h265" 9965 typedef struct VkVideoDecodeH265ProfileInfoKHR { 9966 VkStructureType sType; 9967 const void* pNext; 9968 StdVideoH265ProfileIdc stdProfileIdc; 9969 } VkVideoDecodeH265ProfileInfoKHR; 9970 9971 typedef struct VkVideoDecodeH265CapabilitiesKHR { 9972 VkStructureType sType; 9973 void* pNext; 9974 StdVideoH265LevelIdc maxLevelIdc; 9975 } VkVideoDecodeH265CapabilitiesKHR; 9976 9977 typedef struct VkVideoDecodeH265SessionParametersAddInfoKHR { 9978 VkStructureType sType; 9979 const void* pNext; 9980 uint32_t stdVPSCount; 9981 const StdVideoH265VideoParameterSet* pStdVPSs; 9982 uint32_t stdSPSCount; 9983 const StdVideoH265SequenceParameterSet* pStdSPSs; 9984 uint32_t stdPPSCount; 9985 const StdVideoH265PictureParameterSet* pStdPPSs; 9986 } VkVideoDecodeH265SessionParametersAddInfoKHR; 9987 9988 typedef struct VkVideoDecodeH265SessionParametersCreateInfoKHR { 9989 VkStructureType sType; 9990 const void* pNext; 9991 uint32_t maxStdVPSCount; 9992 uint32_t maxStdSPSCount; 9993 uint32_t maxStdPPSCount; 9994 const VkVideoDecodeH265SessionParametersAddInfoKHR* pParametersAddInfo; 9995 } VkVideoDecodeH265SessionParametersCreateInfoKHR; 9996 9997 typedef struct VkVideoDecodeH265PictureInfoKHR { 9998 VkStructureType sType; 9999 const void* pNext; 10000 const StdVideoDecodeH265PictureInfo* pStdPictureInfo; 10001 uint32_t sliceSegmentCount; 10002 const uint32_t* pSliceSegmentOffsets; 10003 } VkVideoDecodeH265PictureInfoKHR; 10004 10005 typedef struct VkVideoDecodeH265DpbSlotInfoKHR { 10006 VkStructureType sType; 10007 const void* pNext; 10008 const StdVideoDecodeH265ReferenceInfo* pStdReferenceInfo; 10009 } VkVideoDecodeH265DpbSlotInfoKHR; 10010 10011 10012 10013 // VK_KHR_global_priority is a preprocessor guard. Do not pass it to API calls. 10014 #define VK_KHR_global_priority 1 10015 #define VK_MAX_GLOBAL_PRIORITY_SIZE_KHR 16U 10016 #define VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION 1 10017 #define VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME "VK_KHR_global_priority" 10018 10019 typedef enum VkQueueGlobalPriorityKHR { 10020 VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR = 128, 10021 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR = 256, 10022 VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR = 512, 10023 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR = 1024, 10024 VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR, 10025 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR, 10026 VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR, 10027 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR, 10028 VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_KHR = 0x7FFFFFFF 10029 } VkQueueGlobalPriorityKHR; 10030 typedef struct VkDeviceQueueGlobalPriorityCreateInfoKHR { 10031 VkStructureType sType; 10032 const void* pNext; 10033 VkQueueGlobalPriorityKHR globalPriority; 10034 } VkDeviceQueueGlobalPriorityCreateInfoKHR; 10035 10036 typedef struct VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR { 10037 VkStructureType sType; 10038 void* pNext; 10039 VkBool32 globalPriorityQuery; 10040 } VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR; 10041 10042 typedef struct VkQueueFamilyGlobalPriorityPropertiesKHR { 10043 VkStructureType sType; 10044 void* pNext; 10045 uint32_t priorityCount; 10046 VkQueueGlobalPriorityKHR priorities[VK_MAX_GLOBAL_PRIORITY_SIZE_KHR]; 10047 } VkQueueFamilyGlobalPriorityPropertiesKHR; 10048 10049 10050 10051 // VK_KHR_driver_properties is a preprocessor guard. Do not pass it to API calls. 10052 #define VK_KHR_driver_properties 1 10053 #define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1 10054 #define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties" 10055 #define VK_MAX_DRIVER_NAME_SIZE_KHR VK_MAX_DRIVER_NAME_SIZE 10056 #define VK_MAX_DRIVER_INFO_SIZE_KHR VK_MAX_DRIVER_INFO_SIZE 10057 typedef VkDriverId VkDriverIdKHR; 10058 10059 typedef VkConformanceVersion VkConformanceVersionKHR; 10060 10061 typedef VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverPropertiesKHR; 10062 10063 10064 10065 // VK_KHR_shader_float_controls is a preprocessor guard. Do not pass it to API calls. 10066 #define VK_KHR_shader_float_controls 1 10067 #define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 4 10068 #define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls" 10069 typedef VkShaderFloatControlsIndependence VkShaderFloatControlsIndependenceKHR; 10070 10071 typedef VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsPropertiesKHR; 10072 10073 10074 10075 // VK_KHR_depth_stencil_resolve is a preprocessor guard. Do not pass it to API calls. 10076 #define VK_KHR_depth_stencil_resolve 1 10077 #define VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION 1 10078 #define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME "VK_KHR_depth_stencil_resolve" 10079 typedef VkResolveModeFlagBits VkResolveModeFlagBitsKHR; 10080 10081 typedef VkResolveModeFlags VkResolveModeFlagsKHR; 10082 10083 typedef VkSubpassDescriptionDepthStencilResolve VkSubpassDescriptionDepthStencilResolveKHR; 10084 10085 typedef VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolvePropertiesKHR; 10086 10087 10088 10089 // VK_KHR_swapchain_mutable_format is a preprocessor guard. Do not pass it to API calls. 10090 #define VK_KHR_swapchain_mutable_format 1 10091 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1 10092 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME "VK_KHR_swapchain_mutable_format" 10093 10094 10095 // VK_KHR_timeline_semaphore is a preprocessor guard. Do not pass it to API calls. 10096 #define VK_KHR_timeline_semaphore 1 10097 #define VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION 2 10098 #define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore" 10099 typedef VkSemaphoreType VkSemaphoreTypeKHR; 10100 10101 typedef VkSemaphoreWaitFlagBits VkSemaphoreWaitFlagBitsKHR; 10102 10103 typedef VkSemaphoreWaitFlags VkSemaphoreWaitFlagsKHR; 10104 10105 typedef VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeaturesKHR; 10106 10107 typedef VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphorePropertiesKHR; 10108 10109 typedef VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR; 10110 10111 typedef VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR; 10112 10113 typedef VkSemaphoreWaitInfo VkSemaphoreWaitInfoKHR; 10114 10115 typedef VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR; 10116 10117 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValueKHR)(VkDevice device, VkSemaphore semaphore, uint64_t* pValue); 10118 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphoresKHR)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout); 10119 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphoreKHR)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo); 10120 10121 #ifndef VK_NO_PROTOTYPES 10122 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValueKHR( 10123 VkDevice device, 10124 VkSemaphore semaphore, 10125 uint64_t* pValue); 10126 10127 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphoresKHR( 10128 VkDevice device, 10129 const VkSemaphoreWaitInfo* pWaitInfo, 10130 uint64_t timeout); 10131 10132 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphoreKHR( 10133 VkDevice device, 10134 const VkSemaphoreSignalInfo* pSignalInfo); 10135 #endif 10136 10137 10138 // VK_KHR_vulkan_memory_model is a preprocessor guard. Do not pass it to API calls. 10139 #define VK_KHR_vulkan_memory_model 1 10140 #define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3 10141 #define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model" 10142 typedef VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeaturesKHR; 10143 10144 10145 10146 // VK_KHR_shader_terminate_invocation is a preprocessor guard. Do not pass it to API calls. 10147 #define VK_KHR_shader_terminate_invocation 1 10148 #define VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION 1 10149 #define VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME "VK_KHR_shader_terminate_invocation" 10150 typedef VkPhysicalDeviceShaderTerminateInvocationFeatures VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR; 10151 10152 10153 10154 // VK_KHR_fragment_shading_rate is a preprocessor guard. Do not pass it to API calls. 10155 #define VK_KHR_fragment_shading_rate 1 10156 #define VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION 2 10157 #define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate" 10158 10159 typedef enum VkFragmentShadingRateCombinerOpKHR { 10160 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0, 10161 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR = 1, 10162 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR = 2, 10163 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR = 3, 10164 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR = 4, 10165 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_ENUM_KHR = 0x7FFFFFFF 10166 } VkFragmentShadingRateCombinerOpKHR; 10167 typedef struct VkFragmentShadingRateAttachmentInfoKHR { 10168 VkStructureType sType; 10169 const void* pNext; 10170 const VkAttachmentReference2* pFragmentShadingRateAttachment; 10171 VkExtent2D shadingRateAttachmentTexelSize; 10172 } VkFragmentShadingRateAttachmentInfoKHR; 10173 10174 typedef struct VkPipelineFragmentShadingRateStateCreateInfoKHR { 10175 VkStructureType sType; 10176 const void* pNext; 10177 VkExtent2D fragmentSize; 10178 VkFragmentShadingRateCombinerOpKHR combinerOps[2]; 10179 } VkPipelineFragmentShadingRateStateCreateInfoKHR; 10180 10181 typedef struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR { 10182 VkStructureType sType; 10183 void* pNext; 10184 VkBool32 pipelineFragmentShadingRate; 10185 VkBool32 primitiveFragmentShadingRate; 10186 VkBool32 attachmentFragmentShadingRate; 10187 } VkPhysicalDeviceFragmentShadingRateFeaturesKHR; 10188 10189 typedef struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR { 10190 VkStructureType sType; 10191 void* pNext; 10192 VkExtent2D minFragmentShadingRateAttachmentTexelSize; 10193 VkExtent2D maxFragmentShadingRateAttachmentTexelSize; 10194 uint32_t maxFragmentShadingRateAttachmentTexelSizeAspectRatio; 10195 VkBool32 primitiveFragmentShadingRateWithMultipleViewports; 10196 VkBool32 layeredShadingRateAttachments; 10197 VkBool32 fragmentShadingRateNonTrivialCombinerOps; 10198 VkExtent2D maxFragmentSize; 10199 uint32_t maxFragmentSizeAspectRatio; 10200 uint32_t maxFragmentShadingRateCoverageSamples; 10201 VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples; 10202 VkBool32 fragmentShadingRateWithShaderDepthStencilWrites; 10203 VkBool32 fragmentShadingRateWithSampleMask; 10204 VkBool32 fragmentShadingRateWithShaderSampleMask; 10205 VkBool32 fragmentShadingRateWithConservativeRasterization; 10206 VkBool32 fragmentShadingRateWithFragmentShaderInterlock; 10207 VkBool32 fragmentShadingRateWithCustomSampleLocations; 10208 VkBool32 fragmentShadingRateStrictMultiplyCombiner; 10209 } VkPhysicalDeviceFragmentShadingRatePropertiesKHR; 10210 10211 typedef struct VkPhysicalDeviceFragmentShadingRateKHR { 10212 VkStructureType sType; 10213 void* pNext; 10214 VkSampleCountFlags sampleCounts; 10215 VkExtent2D fragmentSize; 10216 } VkPhysicalDeviceFragmentShadingRateKHR; 10217 10218 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates); 10219 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateKHR)(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); 10220 10221 #ifndef VK_NO_PROTOTYPES 10222 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceFragmentShadingRatesKHR( 10223 VkPhysicalDevice physicalDevice, 10224 uint32_t* pFragmentShadingRateCount, 10225 VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates); 10226 10227 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateKHR( 10228 VkCommandBuffer commandBuffer, 10229 const VkExtent2D* pFragmentSize, 10230 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); 10231 #endif 10232 10233 10234 // VK_KHR_dynamic_rendering_local_read is a preprocessor guard. Do not pass it to API calls. 10235 #define VK_KHR_dynamic_rendering_local_read 1 10236 #define VK_KHR_DYNAMIC_RENDERING_LOCAL_READ_SPEC_VERSION 1 10237 #define VK_KHR_DYNAMIC_RENDERING_LOCAL_READ_EXTENSION_NAME "VK_KHR_dynamic_rendering_local_read" 10238 typedef struct VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR { 10239 VkStructureType sType; 10240 void* pNext; 10241 VkBool32 dynamicRenderingLocalRead; 10242 } VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR; 10243 10244 typedef struct VkRenderingAttachmentLocationInfoKHR { 10245 VkStructureType sType; 10246 const void* pNext; 10247 uint32_t colorAttachmentCount; 10248 const uint32_t* pColorAttachmentLocations; 10249 } VkRenderingAttachmentLocationInfoKHR; 10250 10251 typedef struct VkRenderingInputAttachmentIndexInfoKHR { 10252 VkStructureType sType; 10253 const void* pNext; 10254 uint32_t colorAttachmentCount; 10255 const uint32_t* pColorAttachmentInputIndices; 10256 const uint32_t* pDepthInputAttachmentIndex; 10257 const uint32_t* pStencilInputAttachmentIndex; 10258 } VkRenderingInputAttachmentIndexInfoKHR; 10259 10260 typedef void (VKAPI_PTR *PFN_vkCmdSetRenderingAttachmentLocationsKHR)(VkCommandBuffer commandBuffer, const VkRenderingAttachmentLocationInfoKHR* pLocationInfo); 10261 typedef void (VKAPI_PTR *PFN_vkCmdSetRenderingInputAttachmentIndicesKHR)(VkCommandBuffer commandBuffer, const VkRenderingInputAttachmentIndexInfoKHR* pLocationInfo); 10262 10263 #ifndef VK_NO_PROTOTYPES 10264 VKAPI_ATTR void VKAPI_CALL vkCmdSetRenderingAttachmentLocationsKHR( 10265 VkCommandBuffer commandBuffer, 10266 const VkRenderingAttachmentLocationInfoKHR* pLocationInfo); 10267 10268 VKAPI_ATTR void VKAPI_CALL vkCmdSetRenderingInputAttachmentIndicesKHR( 10269 VkCommandBuffer commandBuffer, 10270 const VkRenderingInputAttachmentIndexInfoKHR* pLocationInfo); 10271 #endif 10272 10273 10274 // VK_KHR_shader_quad_control is a preprocessor guard. Do not pass it to API calls. 10275 #define VK_KHR_shader_quad_control 1 10276 #define VK_KHR_SHADER_QUAD_CONTROL_SPEC_VERSION 1 10277 #define VK_KHR_SHADER_QUAD_CONTROL_EXTENSION_NAME "VK_KHR_shader_quad_control" 10278 typedef struct VkPhysicalDeviceShaderQuadControlFeaturesKHR { 10279 VkStructureType sType; 10280 void* pNext; 10281 VkBool32 shaderQuadControl; 10282 } VkPhysicalDeviceShaderQuadControlFeaturesKHR; 10283 10284 10285 10286 // VK_KHR_spirv_1_4 is a preprocessor guard. Do not pass it to API calls. 10287 #define VK_KHR_spirv_1_4 1 10288 #define VK_KHR_SPIRV_1_4_SPEC_VERSION 1 10289 #define VK_KHR_SPIRV_1_4_EXTENSION_NAME "VK_KHR_spirv_1_4" 10290 10291 10292 // VK_KHR_surface_protected_capabilities is a preprocessor guard. Do not pass it to API calls. 10293 #define VK_KHR_surface_protected_capabilities 1 10294 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION 1 10295 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME "VK_KHR_surface_protected_capabilities" 10296 typedef struct VkSurfaceProtectedCapabilitiesKHR { 10297 VkStructureType sType; 10298 const void* pNext; 10299 VkBool32 supportsProtected; 10300 } VkSurfaceProtectedCapabilitiesKHR; 10301 10302 10303 10304 // VK_KHR_separate_depth_stencil_layouts is a preprocessor guard. Do not pass it to API calls. 10305 #define VK_KHR_separate_depth_stencil_layouts 1 10306 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION 1 10307 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME "VK_KHR_separate_depth_stencil_layouts" 10308 typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR; 10309 10310 typedef VkAttachmentReferenceStencilLayout VkAttachmentReferenceStencilLayoutKHR; 10311 10312 typedef VkAttachmentDescriptionStencilLayout VkAttachmentDescriptionStencilLayoutKHR; 10313 10314 10315 10316 // VK_KHR_present_wait is a preprocessor guard. Do not pass it to API calls. 10317 #define VK_KHR_present_wait 1 10318 #define VK_KHR_PRESENT_WAIT_SPEC_VERSION 1 10319 #define VK_KHR_PRESENT_WAIT_EXTENSION_NAME "VK_KHR_present_wait" 10320 typedef struct VkPhysicalDevicePresentWaitFeaturesKHR { 10321 VkStructureType sType; 10322 void* pNext; 10323 VkBool32 presentWait; 10324 } VkPhysicalDevicePresentWaitFeaturesKHR; 10325 10326 typedef VkResult (VKAPI_PTR *PFN_vkWaitForPresentKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout); 10327 10328 #ifndef VK_NO_PROTOTYPES 10329 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForPresentKHR( 10330 VkDevice device, 10331 VkSwapchainKHR swapchain, 10332 uint64_t presentId, 10333 uint64_t timeout); 10334 #endif 10335 10336 10337 // VK_KHR_uniform_buffer_standard_layout is a preprocessor guard. Do not pass it to API calls. 10338 #define VK_KHR_uniform_buffer_standard_layout 1 10339 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION 1 10340 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout" 10341 typedef VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR; 10342 10343 10344 10345 // VK_KHR_buffer_device_address is a preprocessor guard. Do not pass it to API calls. 10346 #define VK_KHR_buffer_device_address 1 10347 #define VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 1 10348 #define VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_KHR_buffer_device_address" 10349 typedef VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR; 10350 10351 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoKHR; 10352 10353 typedef VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfoKHR; 10354 10355 typedef VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR; 10356 10357 typedef VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR; 10358 10359 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 10360 typedef uint64_t (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 10361 typedef uint64_t (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); 10362 10363 #ifndef VK_NO_PROTOTYPES 10364 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressKHR( 10365 VkDevice device, 10366 const VkBufferDeviceAddressInfo* pInfo); 10367 10368 VKAPI_ATTR uint64_t VKAPI_CALL vkGetBufferOpaqueCaptureAddressKHR( 10369 VkDevice device, 10370 const VkBufferDeviceAddressInfo* pInfo); 10371 10372 VKAPI_ATTR uint64_t VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddressKHR( 10373 VkDevice device, 10374 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); 10375 #endif 10376 10377 10378 // VK_KHR_deferred_host_operations is a preprocessor guard. Do not pass it to API calls. 10379 #define VK_KHR_deferred_host_operations 1 10380 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR) 10381 #define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 4 10382 #define VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME "VK_KHR_deferred_host_operations" 10383 typedef VkResult (VKAPI_PTR *PFN_vkCreateDeferredOperationKHR)(VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation); 10384 typedef void (VKAPI_PTR *PFN_vkDestroyDeferredOperationKHR)(VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator); 10385 typedef uint32_t (VKAPI_PTR *PFN_vkGetDeferredOperationMaxConcurrencyKHR)(VkDevice device, VkDeferredOperationKHR operation); 10386 typedef VkResult (VKAPI_PTR *PFN_vkGetDeferredOperationResultKHR)(VkDevice device, VkDeferredOperationKHR operation); 10387 typedef VkResult (VKAPI_PTR *PFN_vkDeferredOperationJoinKHR)(VkDevice device, VkDeferredOperationKHR operation); 10388 10389 #ifndef VK_NO_PROTOTYPES 10390 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDeferredOperationKHR( 10391 VkDevice device, 10392 const VkAllocationCallbacks* pAllocator, 10393 VkDeferredOperationKHR* pDeferredOperation); 10394 10395 VKAPI_ATTR void VKAPI_CALL vkDestroyDeferredOperationKHR( 10396 VkDevice device, 10397 VkDeferredOperationKHR operation, 10398 const VkAllocationCallbacks* pAllocator); 10399 10400 VKAPI_ATTR uint32_t VKAPI_CALL vkGetDeferredOperationMaxConcurrencyKHR( 10401 VkDevice device, 10402 VkDeferredOperationKHR operation); 10403 10404 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeferredOperationResultKHR( 10405 VkDevice device, 10406 VkDeferredOperationKHR operation); 10407 10408 VKAPI_ATTR VkResult VKAPI_CALL vkDeferredOperationJoinKHR( 10409 VkDevice device, 10410 VkDeferredOperationKHR operation); 10411 #endif 10412 10413 10414 // VK_KHR_pipeline_executable_properties is a preprocessor guard. Do not pass it to API calls. 10415 #define VK_KHR_pipeline_executable_properties 1 10416 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION 1 10417 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties" 10418 10419 typedef enum VkPipelineExecutableStatisticFormatKHR { 10420 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR = 0, 10421 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR = 1, 10422 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR = 2, 10423 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR = 3, 10424 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR = 0x7FFFFFFF 10425 } VkPipelineExecutableStatisticFormatKHR; 10426 typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR { 10427 VkStructureType sType; 10428 void* pNext; 10429 VkBool32 pipelineExecutableInfo; 10430 } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR; 10431 10432 typedef struct VkPipelineInfoKHR { 10433 VkStructureType sType; 10434 const void* pNext; 10435 VkPipeline pipeline; 10436 } VkPipelineInfoKHR; 10437 10438 typedef struct VkPipelineExecutablePropertiesKHR { 10439 VkStructureType sType; 10440 void* pNext; 10441 VkShaderStageFlags stages; 10442 char name[VK_MAX_DESCRIPTION_SIZE]; 10443 char description[VK_MAX_DESCRIPTION_SIZE]; 10444 uint32_t subgroupSize; 10445 } VkPipelineExecutablePropertiesKHR; 10446 10447 typedef struct VkPipelineExecutableInfoKHR { 10448 VkStructureType sType; 10449 const void* pNext; 10450 VkPipeline pipeline; 10451 uint32_t executableIndex; 10452 } VkPipelineExecutableInfoKHR; 10453 10454 typedef union VkPipelineExecutableStatisticValueKHR { 10455 VkBool32 b32; 10456 int64_t i64; 10457 uint64_t u64; 10458 double f64; 10459 } VkPipelineExecutableStatisticValueKHR; 10460 10461 typedef struct VkPipelineExecutableStatisticKHR { 10462 VkStructureType sType; 10463 void* pNext; 10464 char name[VK_MAX_DESCRIPTION_SIZE]; 10465 char description[VK_MAX_DESCRIPTION_SIZE]; 10466 VkPipelineExecutableStatisticFormatKHR format; 10467 VkPipelineExecutableStatisticValueKHR value; 10468 } VkPipelineExecutableStatisticKHR; 10469 10470 typedef struct VkPipelineExecutableInternalRepresentationKHR { 10471 VkStructureType sType; 10472 void* pNext; 10473 char name[VK_MAX_DESCRIPTION_SIZE]; 10474 char description[VK_MAX_DESCRIPTION_SIZE]; 10475 VkBool32 isText; 10476 size_t dataSize; 10477 void* pData; 10478 } VkPipelineExecutableInternalRepresentationKHR; 10479 10480 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutablePropertiesKHR)(VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties); 10481 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableStatisticsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics); 10482 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableInternalRepresentationsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations); 10483 10484 #ifndef VK_NO_PROTOTYPES 10485 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutablePropertiesKHR( 10486 VkDevice device, 10487 const VkPipelineInfoKHR* pPipelineInfo, 10488 uint32_t* pExecutableCount, 10489 VkPipelineExecutablePropertiesKHR* pProperties); 10490 10491 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableStatisticsKHR( 10492 VkDevice device, 10493 const VkPipelineExecutableInfoKHR* pExecutableInfo, 10494 uint32_t* pStatisticCount, 10495 VkPipelineExecutableStatisticKHR* pStatistics); 10496 10497 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableInternalRepresentationsKHR( 10498 VkDevice device, 10499 const VkPipelineExecutableInfoKHR* pExecutableInfo, 10500 uint32_t* pInternalRepresentationCount, 10501 VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations); 10502 #endif 10503 10504 10505 // VK_KHR_map_memory2 is a preprocessor guard. Do not pass it to API calls. 10506 #define VK_KHR_map_memory2 1 10507 #define VK_KHR_MAP_MEMORY_2_SPEC_VERSION 1 10508 #define VK_KHR_MAP_MEMORY_2_EXTENSION_NAME "VK_KHR_map_memory2" 10509 10510 typedef enum VkMemoryUnmapFlagBitsKHR { 10511 VK_MEMORY_UNMAP_RESERVE_BIT_EXT = 0x00000001, 10512 VK_MEMORY_UNMAP_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 10513 } VkMemoryUnmapFlagBitsKHR; 10514 typedef VkFlags VkMemoryUnmapFlagsKHR; 10515 typedef struct VkMemoryMapInfoKHR { 10516 VkStructureType sType; 10517 const void* pNext; 10518 VkMemoryMapFlags flags; 10519 VkDeviceMemory memory; 10520 VkDeviceSize offset; 10521 VkDeviceSize size; 10522 } VkMemoryMapInfoKHR; 10523 10524 typedef struct VkMemoryUnmapInfoKHR { 10525 VkStructureType sType; 10526 const void* pNext; 10527 VkMemoryUnmapFlagsKHR flags; 10528 VkDeviceMemory memory; 10529 } VkMemoryUnmapInfoKHR; 10530 10531 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory2KHR)(VkDevice device, const VkMemoryMapInfoKHR* pMemoryMapInfo, void** ppData); 10532 typedef VkResult (VKAPI_PTR *PFN_vkUnmapMemory2KHR)(VkDevice device, const VkMemoryUnmapInfoKHR* pMemoryUnmapInfo); 10533 10534 #ifndef VK_NO_PROTOTYPES 10535 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory2KHR( 10536 VkDevice device, 10537 const VkMemoryMapInfoKHR* pMemoryMapInfo, 10538 void** ppData); 10539 10540 VKAPI_ATTR VkResult VKAPI_CALL vkUnmapMemory2KHR( 10541 VkDevice device, 10542 const VkMemoryUnmapInfoKHR* pMemoryUnmapInfo); 10543 #endif 10544 10545 10546 // VK_KHR_shader_integer_dot_product is a preprocessor guard. Do not pass it to API calls. 10547 #define VK_KHR_shader_integer_dot_product 1 10548 #define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION 1 10549 #define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME "VK_KHR_shader_integer_dot_product" 10550 typedef VkPhysicalDeviceShaderIntegerDotProductFeatures VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR; 10551 10552 typedef VkPhysicalDeviceShaderIntegerDotProductProperties VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR; 10553 10554 10555 10556 // VK_KHR_pipeline_library is a preprocessor guard. Do not pass it to API calls. 10557 #define VK_KHR_pipeline_library 1 10558 #define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1 10559 #define VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME "VK_KHR_pipeline_library" 10560 typedef struct VkPipelineLibraryCreateInfoKHR { 10561 VkStructureType sType; 10562 const void* pNext; 10563 uint32_t libraryCount; 10564 const VkPipeline* pLibraries; 10565 } VkPipelineLibraryCreateInfoKHR; 10566 10567 10568 10569 // VK_KHR_shader_non_semantic_info is a preprocessor guard. Do not pass it to API calls. 10570 #define VK_KHR_shader_non_semantic_info 1 10571 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION 1 10572 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME "VK_KHR_shader_non_semantic_info" 10573 10574 10575 // VK_KHR_present_id is a preprocessor guard. Do not pass it to API calls. 10576 #define VK_KHR_present_id 1 10577 #define VK_KHR_PRESENT_ID_SPEC_VERSION 1 10578 #define VK_KHR_PRESENT_ID_EXTENSION_NAME "VK_KHR_present_id" 10579 typedef struct VkPresentIdKHR { 10580 VkStructureType sType; 10581 const void* pNext; 10582 uint32_t swapchainCount; 10583 const uint64_t* pPresentIds; 10584 } VkPresentIdKHR; 10585 10586 typedef struct VkPhysicalDevicePresentIdFeaturesKHR { 10587 VkStructureType sType; 10588 void* pNext; 10589 VkBool32 presentId; 10590 } VkPhysicalDevicePresentIdFeaturesKHR; 10591 10592 10593 10594 // VK_KHR_video_encode_queue is a preprocessor guard. Do not pass it to API calls. 10595 #define VK_KHR_video_encode_queue 1 10596 #define VK_KHR_VIDEO_ENCODE_QUEUE_SPEC_VERSION 12 10597 #define VK_KHR_VIDEO_ENCODE_QUEUE_EXTENSION_NAME "VK_KHR_video_encode_queue" 10598 10599 typedef enum VkVideoEncodeTuningModeKHR { 10600 VK_VIDEO_ENCODE_TUNING_MODE_DEFAULT_KHR = 0, 10601 VK_VIDEO_ENCODE_TUNING_MODE_HIGH_QUALITY_KHR = 1, 10602 VK_VIDEO_ENCODE_TUNING_MODE_LOW_LATENCY_KHR = 2, 10603 VK_VIDEO_ENCODE_TUNING_MODE_ULTRA_LOW_LATENCY_KHR = 3, 10604 VK_VIDEO_ENCODE_TUNING_MODE_LOSSLESS_KHR = 4, 10605 VK_VIDEO_ENCODE_TUNING_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 10606 } VkVideoEncodeTuningModeKHR; 10607 10608 typedef enum VkVideoEncodeFlagBitsKHR { 10609 VK_VIDEO_ENCODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 10610 } VkVideoEncodeFlagBitsKHR; 10611 typedef VkFlags VkVideoEncodeFlagsKHR; 10612 10613 typedef enum VkVideoEncodeCapabilityFlagBitsKHR { 10614 VK_VIDEO_ENCODE_CAPABILITY_PRECEDING_EXTERNALLY_ENCODED_BYTES_BIT_KHR = 0x00000001, 10615 VK_VIDEO_ENCODE_CAPABILITY_INSUFFICIENT_BITSTREAM_BUFFER_RANGE_DETECTION_BIT_KHR = 0x00000002, 10616 VK_VIDEO_ENCODE_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 10617 } VkVideoEncodeCapabilityFlagBitsKHR; 10618 typedef VkFlags VkVideoEncodeCapabilityFlagsKHR; 10619 10620 typedef enum VkVideoEncodeRateControlModeFlagBitsKHR { 10621 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DEFAULT_KHR = 0, 10622 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DISABLED_BIT_KHR = 0x00000001, 10623 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_CBR_BIT_KHR = 0x00000002, 10624 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_VBR_BIT_KHR = 0x00000004, 10625 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 10626 } VkVideoEncodeRateControlModeFlagBitsKHR; 10627 typedef VkFlags VkVideoEncodeRateControlModeFlagsKHR; 10628 10629 typedef enum VkVideoEncodeFeedbackFlagBitsKHR { 10630 VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BUFFER_OFFSET_BIT_KHR = 0x00000001, 10631 VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BYTES_WRITTEN_BIT_KHR = 0x00000002, 10632 VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_HAS_OVERRIDES_BIT_KHR = 0x00000004, 10633 VK_VIDEO_ENCODE_FEEDBACK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 10634 } VkVideoEncodeFeedbackFlagBitsKHR; 10635 typedef VkFlags VkVideoEncodeFeedbackFlagsKHR; 10636 10637 typedef enum VkVideoEncodeUsageFlagBitsKHR { 10638 VK_VIDEO_ENCODE_USAGE_DEFAULT_KHR = 0, 10639 VK_VIDEO_ENCODE_USAGE_TRANSCODING_BIT_KHR = 0x00000001, 10640 VK_VIDEO_ENCODE_USAGE_STREAMING_BIT_KHR = 0x00000002, 10641 VK_VIDEO_ENCODE_USAGE_RECORDING_BIT_KHR = 0x00000004, 10642 VK_VIDEO_ENCODE_USAGE_CONFERENCING_BIT_KHR = 0x00000008, 10643 VK_VIDEO_ENCODE_USAGE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 10644 } VkVideoEncodeUsageFlagBitsKHR; 10645 typedef VkFlags VkVideoEncodeUsageFlagsKHR; 10646 10647 typedef enum VkVideoEncodeContentFlagBitsKHR { 10648 VK_VIDEO_ENCODE_CONTENT_DEFAULT_KHR = 0, 10649 VK_VIDEO_ENCODE_CONTENT_CAMERA_BIT_KHR = 0x00000001, 10650 VK_VIDEO_ENCODE_CONTENT_DESKTOP_BIT_KHR = 0x00000002, 10651 VK_VIDEO_ENCODE_CONTENT_RENDERED_BIT_KHR = 0x00000004, 10652 VK_VIDEO_ENCODE_CONTENT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 10653 } VkVideoEncodeContentFlagBitsKHR; 10654 typedef VkFlags VkVideoEncodeContentFlagsKHR; 10655 typedef VkFlags VkVideoEncodeRateControlFlagsKHR; 10656 typedef struct VkVideoEncodeInfoKHR { 10657 VkStructureType sType; 10658 const void* pNext; 10659 VkVideoEncodeFlagsKHR flags; 10660 VkBuffer dstBuffer; 10661 VkDeviceSize dstBufferOffset; 10662 VkDeviceSize dstBufferRange; 10663 VkVideoPictureResourceInfoKHR srcPictureResource; 10664 const VkVideoReferenceSlotInfoKHR* pSetupReferenceSlot; 10665 uint32_t referenceSlotCount; 10666 const VkVideoReferenceSlotInfoKHR* pReferenceSlots; 10667 uint32_t precedingExternallyEncodedBytes; 10668 } VkVideoEncodeInfoKHR; 10669 10670 typedef struct VkVideoEncodeCapabilitiesKHR { 10671 VkStructureType sType; 10672 void* pNext; 10673 VkVideoEncodeCapabilityFlagsKHR flags; 10674 VkVideoEncodeRateControlModeFlagsKHR rateControlModes; 10675 uint32_t maxRateControlLayers; 10676 uint64_t maxBitrate; 10677 uint32_t maxQualityLevels; 10678 VkExtent2D encodeInputPictureGranularity; 10679 VkVideoEncodeFeedbackFlagsKHR supportedEncodeFeedbackFlags; 10680 } VkVideoEncodeCapabilitiesKHR; 10681 10682 typedef struct VkQueryPoolVideoEncodeFeedbackCreateInfoKHR { 10683 VkStructureType sType; 10684 const void* pNext; 10685 VkVideoEncodeFeedbackFlagsKHR encodeFeedbackFlags; 10686 } VkQueryPoolVideoEncodeFeedbackCreateInfoKHR; 10687 10688 typedef struct VkVideoEncodeUsageInfoKHR { 10689 VkStructureType sType; 10690 const void* pNext; 10691 VkVideoEncodeUsageFlagsKHR videoUsageHints; 10692 VkVideoEncodeContentFlagsKHR videoContentHints; 10693 VkVideoEncodeTuningModeKHR tuningMode; 10694 } VkVideoEncodeUsageInfoKHR; 10695 10696 typedef struct VkVideoEncodeRateControlLayerInfoKHR { 10697 VkStructureType sType; 10698 const void* pNext; 10699 uint64_t averageBitrate; 10700 uint64_t maxBitrate; 10701 uint32_t frameRateNumerator; 10702 uint32_t frameRateDenominator; 10703 } VkVideoEncodeRateControlLayerInfoKHR; 10704 10705 typedef struct VkVideoEncodeRateControlInfoKHR { 10706 VkStructureType sType; 10707 const void* pNext; 10708 VkVideoEncodeRateControlFlagsKHR flags; 10709 VkVideoEncodeRateControlModeFlagBitsKHR rateControlMode; 10710 uint32_t layerCount; 10711 const VkVideoEncodeRateControlLayerInfoKHR* pLayers; 10712 uint32_t virtualBufferSizeInMs; 10713 uint32_t initialVirtualBufferSizeInMs; 10714 } VkVideoEncodeRateControlInfoKHR; 10715 10716 typedef struct VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR { 10717 VkStructureType sType; 10718 const void* pNext; 10719 const VkVideoProfileInfoKHR* pVideoProfile; 10720 uint32_t qualityLevel; 10721 } VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR; 10722 10723 typedef struct VkVideoEncodeQualityLevelPropertiesKHR { 10724 VkStructureType sType; 10725 void* pNext; 10726 VkVideoEncodeRateControlModeFlagBitsKHR preferredRateControlMode; 10727 uint32_t preferredRateControlLayerCount; 10728 } VkVideoEncodeQualityLevelPropertiesKHR; 10729 10730 typedef struct VkVideoEncodeQualityLevelInfoKHR { 10731 VkStructureType sType; 10732 const void* pNext; 10733 uint32_t qualityLevel; 10734 } VkVideoEncodeQualityLevelInfoKHR; 10735 10736 typedef struct VkVideoEncodeSessionParametersGetInfoKHR { 10737 VkStructureType sType; 10738 const void* pNext; 10739 VkVideoSessionParametersKHR videoSessionParameters; 10740 } VkVideoEncodeSessionParametersGetInfoKHR; 10741 10742 typedef struct VkVideoEncodeSessionParametersFeedbackInfoKHR { 10743 VkStructureType sType; 10744 void* pNext; 10745 VkBool32 hasOverrides; 10746 } VkVideoEncodeSessionParametersFeedbackInfoKHR; 10747 10748 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR* pQualityLevelInfo, VkVideoEncodeQualityLevelPropertiesKHR* pQualityLevelProperties); 10749 typedef VkResult (VKAPI_PTR *PFN_vkGetEncodedVideoSessionParametersKHR)(VkDevice device, const VkVideoEncodeSessionParametersGetInfoKHR* pVideoSessionParametersInfo, VkVideoEncodeSessionParametersFeedbackInfoKHR* pFeedbackInfo, size_t* pDataSize, void* pData); 10750 typedef void (VKAPI_PTR *PFN_vkCmdEncodeVideoKHR)(VkCommandBuffer commandBuffer, const VkVideoEncodeInfoKHR* pEncodeInfo); 10751 10752 #ifndef VK_NO_PROTOTYPES 10753 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR( 10754 VkPhysicalDevice physicalDevice, 10755 const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR* pQualityLevelInfo, 10756 VkVideoEncodeQualityLevelPropertiesKHR* pQualityLevelProperties); 10757 10758 VKAPI_ATTR VkResult VKAPI_CALL vkGetEncodedVideoSessionParametersKHR( 10759 VkDevice device, 10760 const VkVideoEncodeSessionParametersGetInfoKHR* pVideoSessionParametersInfo, 10761 VkVideoEncodeSessionParametersFeedbackInfoKHR* pFeedbackInfo, 10762 size_t* pDataSize, 10763 void* pData); 10764 10765 VKAPI_ATTR void VKAPI_CALL vkCmdEncodeVideoKHR( 10766 VkCommandBuffer commandBuffer, 10767 const VkVideoEncodeInfoKHR* pEncodeInfo); 10768 #endif 10769 10770 10771 // VK_KHR_synchronization2 is a preprocessor guard. Do not pass it to API calls. 10772 #define VK_KHR_synchronization2 1 10773 #define VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION 1 10774 #define VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME "VK_KHR_synchronization2" 10775 typedef VkPipelineStageFlags2 VkPipelineStageFlags2KHR; 10776 10777 typedef VkPipelineStageFlagBits2 VkPipelineStageFlagBits2KHR; 10778 10779 typedef VkAccessFlags2 VkAccessFlags2KHR; 10780 10781 typedef VkAccessFlagBits2 VkAccessFlagBits2KHR; 10782 10783 typedef VkSubmitFlagBits VkSubmitFlagBitsKHR; 10784 10785 typedef VkSubmitFlags VkSubmitFlagsKHR; 10786 10787 typedef VkMemoryBarrier2 VkMemoryBarrier2KHR; 10788 10789 typedef VkBufferMemoryBarrier2 VkBufferMemoryBarrier2KHR; 10790 10791 typedef VkImageMemoryBarrier2 VkImageMemoryBarrier2KHR; 10792 10793 typedef VkDependencyInfo VkDependencyInfoKHR; 10794 10795 typedef VkSubmitInfo2 VkSubmitInfo2KHR; 10796 10797 typedef VkSemaphoreSubmitInfo VkSemaphoreSubmitInfoKHR; 10798 10799 typedef VkCommandBufferSubmitInfo VkCommandBufferSubmitInfoKHR; 10800 10801 typedef VkPhysicalDeviceSynchronization2Features VkPhysicalDeviceSynchronization2FeaturesKHR; 10802 10803 typedef struct VkQueueFamilyCheckpointProperties2NV { 10804 VkStructureType sType; 10805 void* pNext; 10806 VkPipelineStageFlags2 checkpointExecutionStageMask; 10807 } VkQueueFamilyCheckpointProperties2NV; 10808 10809 typedef struct VkCheckpointData2NV { 10810 VkStructureType sType; 10811 void* pNext; 10812 VkPipelineStageFlags2 stage; 10813 void* pCheckpointMarker; 10814 } VkCheckpointData2NV; 10815 10816 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo); 10817 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask); 10818 typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2KHR)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos); 10819 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2KHR)(VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo); 10820 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2KHR)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query); 10821 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2KHR)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence); 10822 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarker2AMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker); 10823 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointData2NV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData); 10824 10825 #ifndef VK_NO_PROTOTYPES 10826 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2KHR( 10827 VkCommandBuffer commandBuffer, 10828 VkEvent event, 10829 const VkDependencyInfo* pDependencyInfo); 10830 10831 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2KHR( 10832 VkCommandBuffer commandBuffer, 10833 VkEvent event, 10834 VkPipelineStageFlags2 stageMask); 10835 10836 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2KHR( 10837 VkCommandBuffer commandBuffer, 10838 uint32_t eventCount, 10839 const VkEvent* pEvents, 10840 const VkDependencyInfo* pDependencyInfos); 10841 10842 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2KHR( 10843 VkCommandBuffer commandBuffer, 10844 const VkDependencyInfo* pDependencyInfo); 10845 10846 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2KHR( 10847 VkCommandBuffer commandBuffer, 10848 VkPipelineStageFlags2 stage, 10849 VkQueryPool queryPool, 10850 uint32_t query); 10851 10852 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2KHR( 10853 VkQueue queue, 10854 uint32_t submitCount, 10855 const VkSubmitInfo2* pSubmits, 10856 VkFence fence); 10857 10858 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarker2AMD( 10859 VkCommandBuffer commandBuffer, 10860 VkPipelineStageFlags2 stage, 10861 VkBuffer dstBuffer, 10862 VkDeviceSize dstOffset, 10863 uint32_t marker); 10864 10865 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointData2NV( 10866 VkQueue queue, 10867 uint32_t* pCheckpointDataCount, 10868 VkCheckpointData2NV* pCheckpointData); 10869 #endif 10870 10871 10872 // VK_KHR_fragment_shader_barycentric is a preprocessor guard. Do not pass it to API calls. 10873 #define VK_KHR_fragment_shader_barycentric 1 10874 #define VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1 10875 #define VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_KHR_fragment_shader_barycentric" 10876 typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR { 10877 VkStructureType sType; 10878 void* pNext; 10879 VkBool32 fragmentShaderBarycentric; 10880 } VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR; 10881 10882 typedef struct VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR { 10883 VkStructureType sType; 10884 void* pNext; 10885 VkBool32 triStripVertexOrderIndependentOfProvokingVertex; 10886 } VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR; 10887 10888 10889 10890 // VK_KHR_shader_subgroup_uniform_control_flow is a preprocessor guard. Do not pass it to API calls. 10891 #define VK_KHR_shader_subgroup_uniform_control_flow 1 10892 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION 1 10893 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME "VK_KHR_shader_subgroup_uniform_control_flow" 10894 typedef struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR { 10895 VkStructureType sType; 10896 void* pNext; 10897 VkBool32 shaderSubgroupUniformControlFlow; 10898 } VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR; 10899 10900 10901 10902 // VK_KHR_zero_initialize_workgroup_memory is a preprocessor guard. Do not pass it to API calls. 10903 #define VK_KHR_zero_initialize_workgroup_memory 1 10904 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION 1 10905 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME "VK_KHR_zero_initialize_workgroup_memory" 10906 typedef VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR; 10907 10908 10909 10910 // VK_KHR_workgroup_memory_explicit_layout is a preprocessor guard. Do not pass it to API calls. 10911 #define VK_KHR_workgroup_memory_explicit_layout 1 10912 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION 1 10913 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME "VK_KHR_workgroup_memory_explicit_layout" 10914 typedef struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR { 10915 VkStructureType sType; 10916 void* pNext; 10917 VkBool32 workgroupMemoryExplicitLayout; 10918 VkBool32 workgroupMemoryExplicitLayoutScalarBlockLayout; 10919 VkBool32 workgroupMemoryExplicitLayout8BitAccess; 10920 VkBool32 workgroupMemoryExplicitLayout16BitAccess; 10921 } VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR; 10922 10923 10924 10925 // VK_KHR_copy_commands2 is a preprocessor guard. Do not pass it to API calls. 10926 #define VK_KHR_copy_commands2 1 10927 #define VK_KHR_COPY_COMMANDS_2_SPEC_VERSION 1 10928 #define VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME "VK_KHR_copy_commands2" 10929 typedef VkCopyBufferInfo2 VkCopyBufferInfo2KHR; 10930 10931 typedef VkCopyImageInfo2 VkCopyImageInfo2KHR; 10932 10933 typedef VkCopyBufferToImageInfo2 VkCopyBufferToImageInfo2KHR; 10934 10935 typedef VkCopyImageToBufferInfo2 VkCopyImageToBufferInfo2KHR; 10936 10937 typedef VkBlitImageInfo2 VkBlitImageInfo2KHR; 10938 10939 typedef VkResolveImageInfo2 VkResolveImageInfo2KHR; 10940 10941 typedef VkBufferCopy2 VkBufferCopy2KHR; 10942 10943 typedef VkImageCopy2 VkImageCopy2KHR; 10944 10945 typedef VkImageBlit2 VkImageBlit2KHR; 10946 10947 typedef VkBufferImageCopy2 VkBufferImageCopy2KHR; 10948 10949 typedef VkImageResolve2 VkImageResolve2KHR; 10950 10951 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo); 10952 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo); 10953 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo); 10954 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo); 10955 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2KHR)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo); 10956 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2KHR)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo); 10957 10958 #ifndef VK_NO_PROTOTYPES 10959 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2KHR( 10960 VkCommandBuffer commandBuffer, 10961 const VkCopyBufferInfo2* pCopyBufferInfo); 10962 10963 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2KHR( 10964 VkCommandBuffer commandBuffer, 10965 const VkCopyImageInfo2* pCopyImageInfo); 10966 10967 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2KHR( 10968 VkCommandBuffer commandBuffer, 10969 const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo); 10970 10971 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2KHR( 10972 VkCommandBuffer commandBuffer, 10973 const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo); 10974 10975 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2KHR( 10976 VkCommandBuffer commandBuffer, 10977 const VkBlitImageInfo2* pBlitImageInfo); 10978 10979 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2KHR( 10980 VkCommandBuffer commandBuffer, 10981 const VkResolveImageInfo2* pResolveImageInfo); 10982 #endif 10983 10984 10985 // VK_KHR_format_feature_flags2 is a preprocessor guard. Do not pass it to API calls. 10986 #define VK_KHR_format_feature_flags2 1 10987 #define VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION 2 10988 #define VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME "VK_KHR_format_feature_flags2" 10989 typedef VkFormatFeatureFlags2 VkFormatFeatureFlags2KHR; 10990 10991 typedef VkFormatFeatureFlagBits2 VkFormatFeatureFlagBits2KHR; 10992 10993 typedef VkFormatProperties3 VkFormatProperties3KHR; 10994 10995 10996 10997 // VK_KHR_ray_tracing_maintenance1 is a preprocessor guard. Do not pass it to API calls. 10998 #define VK_KHR_ray_tracing_maintenance1 1 10999 #define VK_KHR_RAY_TRACING_MAINTENANCE_1_SPEC_VERSION 1 11000 #define VK_KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_ray_tracing_maintenance1" 11001 typedef struct VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR { 11002 VkStructureType sType; 11003 void* pNext; 11004 VkBool32 rayTracingMaintenance1; 11005 VkBool32 rayTracingPipelineTraceRaysIndirect2; 11006 } VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR; 11007 11008 typedef struct VkTraceRaysIndirectCommand2KHR { 11009 VkDeviceAddress raygenShaderRecordAddress; 11010 VkDeviceSize raygenShaderRecordSize; 11011 VkDeviceAddress missShaderBindingTableAddress; 11012 VkDeviceSize missShaderBindingTableSize; 11013 VkDeviceSize missShaderBindingTableStride; 11014 VkDeviceAddress hitShaderBindingTableAddress; 11015 VkDeviceSize hitShaderBindingTableSize; 11016 VkDeviceSize hitShaderBindingTableStride; 11017 VkDeviceAddress callableShaderBindingTableAddress; 11018 VkDeviceSize callableShaderBindingTableSize; 11019 VkDeviceSize callableShaderBindingTableStride; 11020 uint32_t width; 11021 uint32_t height; 11022 uint32_t depth; 11023 } VkTraceRaysIndirectCommand2KHR; 11024 11025 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirect2KHR)(VkCommandBuffer commandBuffer, VkDeviceAddress indirectDeviceAddress); 11026 11027 #ifndef VK_NO_PROTOTYPES 11028 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirect2KHR( 11029 VkCommandBuffer commandBuffer, 11030 VkDeviceAddress indirectDeviceAddress); 11031 #endif 11032 11033 11034 // VK_KHR_portability_enumeration is a preprocessor guard. Do not pass it to API calls. 11035 #define VK_KHR_portability_enumeration 1 11036 #define VK_KHR_PORTABILITY_ENUMERATION_SPEC_VERSION 1 11037 #define VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME "VK_KHR_portability_enumeration" 11038 11039 11040 // VK_KHR_maintenance4 is a preprocessor guard. Do not pass it to API calls. 11041 #define VK_KHR_maintenance4 1 11042 #define VK_KHR_MAINTENANCE_4_SPEC_VERSION 2 11043 #define VK_KHR_MAINTENANCE_4_EXTENSION_NAME "VK_KHR_maintenance4" 11044 typedef VkPhysicalDeviceMaintenance4Features VkPhysicalDeviceMaintenance4FeaturesKHR; 11045 11046 typedef VkPhysicalDeviceMaintenance4Properties VkPhysicalDeviceMaintenance4PropertiesKHR; 11047 11048 typedef VkDeviceBufferMemoryRequirements VkDeviceBufferMemoryRequirementsKHR; 11049 11050 typedef VkDeviceImageMemoryRequirements VkDeviceImageMemoryRequirementsKHR; 11051 11052 typedef void (VKAPI_PTR *PFN_vkGetDeviceBufferMemoryRequirementsKHR)(VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements); 11053 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageMemoryRequirementsKHR)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements); 11054 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSparseMemoryRequirementsKHR)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 11055 11056 #ifndef VK_NO_PROTOTYPES 11057 VKAPI_ATTR void VKAPI_CALL vkGetDeviceBufferMemoryRequirementsKHR( 11058 VkDevice device, 11059 const VkDeviceBufferMemoryRequirements* pInfo, 11060 VkMemoryRequirements2* pMemoryRequirements); 11061 11062 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageMemoryRequirementsKHR( 11063 VkDevice device, 11064 const VkDeviceImageMemoryRequirements* pInfo, 11065 VkMemoryRequirements2* pMemoryRequirements); 11066 11067 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSparseMemoryRequirementsKHR( 11068 VkDevice device, 11069 const VkDeviceImageMemoryRequirements* pInfo, 11070 uint32_t* pSparseMemoryRequirementCount, 11071 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 11072 #endif 11073 11074 11075 // VK_KHR_shader_subgroup_rotate is a preprocessor guard. Do not pass it to API calls. 11076 #define VK_KHR_shader_subgroup_rotate 1 11077 #define VK_KHR_SHADER_SUBGROUP_ROTATE_SPEC_VERSION 2 11078 #define VK_KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME "VK_KHR_shader_subgroup_rotate" 11079 typedef struct VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR { 11080 VkStructureType sType; 11081 void* pNext; 11082 VkBool32 shaderSubgroupRotate; 11083 VkBool32 shaderSubgroupRotateClustered; 11084 } VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR; 11085 11086 11087 11088 // VK_KHR_shader_maximal_reconvergence is a preprocessor guard. Do not pass it to API calls. 11089 #define VK_KHR_shader_maximal_reconvergence 1 11090 #define VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_SPEC_VERSION 1 11091 #define VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_EXTENSION_NAME "VK_KHR_shader_maximal_reconvergence" 11092 typedef struct VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR { 11093 VkStructureType sType; 11094 void* pNext; 11095 VkBool32 shaderMaximalReconvergence; 11096 } VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR; 11097 11098 11099 11100 // VK_KHR_maintenance5 is a preprocessor guard. Do not pass it to API calls. 11101 #define VK_KHR_maintenance5 1 11102 #define VK_KHR_MAINTENANCE_5_SPEC_VERSION 1 11103 #define VK_KHR_MAINTENANCE_5_EXTENSION_NAME "VK_KHR_maintenance5" 11104 typedef VkFlags64 VkPipelineCreateFlags2KHR; 11105 11106 // Flag bits for VkPipelineCreateFlagBits2KHR 11107 typedef VkFlags64 VkPipelineCreateFlagBits2KHR; 11108 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT_KHR = 0x00000001ULL; 11109 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT_KHR = 0x00000002ULL; 11110 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DERIVATIVE_BIT_KHR = 0x00000004ULL; 11111 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = 0x00000008ULL; 11112 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DISPATCH_BASE_BIT_KHR = 0x00000010ULL; 11113 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DEFER_COMPILE_BIT_NV = 0x00000020ULL; 11114 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_CAPTURE_STATISTICS_BIT_KHR = 0x00000040ULL; 11115 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080ULL; 11116 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_KHR = 0x00000100ULL; 11117 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_EARLY_RETURN_ON_FAILURE_BIT_KHR = 0x00000200ULL; 11118 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_LINK_TIME_OPTIMIZATION_BIT_EXT = 0x00000400ULL; 11119 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT = 0x00800000ULL; 11120 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_LIBRARY_BIT_KHR = 0x00000800ULL; 11121 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000ULL; 11122 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000ULL; 11123 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000ULL; 11124 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000ULL; 11125 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000ULL; 11126 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000ULL; 11127 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000ULL; 11128 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_NV = 0x00040000ULL; 11129 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000ULL; 11130 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00200000ULL; 11131 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00400000ULL; 11132 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT = 0x01000000ULL; 11133 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x02000000ULL; 11134 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x04000000ULL; 11135 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT_EXT = 0x08000000ULL; 11136 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT_EXT = 0x40000000ULL; 11137 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV = 0x10000000ULL; 11138 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DESCRIPTOR_BUFFER_BIT_EXT = 0x20000000ULL; 11139 11140 typedef VkFlags64 VkBufferUsageFlags2KHR; 11141 11142 // Flag bits for VkBufferUsageFlagBits2KHR 11143 typedef VkFlags64 VkBufferUsageFlagBits2KHR; 11144 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_TRANSFER_SRC_BIT_KHR = 0x00000001ULL; 11145 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_TRANSFER_DST_BIT_KHR = 0x00000002ULL; 11146 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR = 0x00000004ULL; 11147 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_STORAGE_TEXEL_BUFFER_BIT_KHR = 0x00000008ULL; 11148 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_UNIFORM_BUFFER_BIT_KHR = 0x00000010ULL; 11149 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_STORAGE_BUFFER_BIT_KHR = 0x00000020ULL; 11150 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_INDEX_BUFFER_BIT_KHR = 0x00000040ULL; 11151 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_VERTEX_BUFFER_BIT_KHR = 0x00000080ULL; 11152 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_INDIRECT_BUFFER_BIT_KHR = 0x00000100ULL; 11153 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_EXECUTION_GRAPH_SCRATCH_BIT_AMDX = 0x02000000ULL; 11154 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200ULL; 11155 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400ULL; 11156 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_RAY_TRACING_BIT_NV = 0x00000400ULL; 11157 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800ULL; 11158 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000ULL; 11159 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000ULL; 11160 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_VIDEO_DECODE_DST_BIT_KHR = 0x00004000ULL; 11161 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000ULL; 11162 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000ULL; 11163 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_SHADER_DEVICE_ADDRESS_BIT_KHR = 0x00020000ULL; 11164 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000ULL; 11165 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000ULL; 11166 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT = 0x00200000ULL; 11167 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT = 0x00400000ULL; 11168 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT = 0x04000000ULL; 11169 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT = 0x00800000ULL; 11170 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_MICROMAP_STORAGE_BIT_EXT = 0x01000000ULL; 11171 11172 typedef struct VkPhysicalDeviceMaintenance5FeaturesKHR { 11173 VkStructureType sType; 11174 void* pNext; 11175 VkBool32 maintenance5; 11176 } VkPhysicalDeviceMaintenance5FeaturesKHR; 11177 11178 typedef struct VkPhysicalDeviceMaintenance5PropertiesKHR { 11179 VkStructureType sType; 11180 void* pNext; 11181 VkBool32 earlyFragmentMultisampleCoverageAfterSampleCounting; 11182 VkBool32 earlyFragmentSampleMaskTestBeforeSampleCounting; 11183 VkBool32 depthStencilSwizzleOneSupport; 11184 VkBool32 polygonModePointSize; 11185 VkBool32 nonStrictSinglePixelWideLinesUseParallelogram; 11186 VkBool32 nonStrictWideLinesUseParallelogram; 11187 } VkPhysicalDeviceMaintenance5PropertiesKHR; 11188 11189 typedef struct VkRenderingAreaInfoKHR { 11190 VkStructureType sType; 11191 const void* pNext; 11192 uint32_t viewMask; 11193 uint32_t colorAttachmentCount; 11194 const VkFormat* pColorAttachmentFormats; 11195 VkFormat depthAttachmentFormat; 11196 VkFormat stencilAttachmentFormat; 11197 } VkRenderingAreaInfoKHR; 11198 11199 typedef struct VkImageSubresource2KHR { 11200 VkStructureType sType; 11201 void* pNext; 11202 VkImageSubresource imageSubresource; 11203 } VkImageSubresource2KHR; 11204 11205 typedef struct VkDeviceImageSubresourceInfoKHR { 11206 VkStructureType sType; 11207 const void* pNext; 11208 const VkImageCreateInfo* pCreateInfo; 11209 const VkImageSubresource2KHR* pSubresource; 11210 } VkDeviceImageSubresourceInfoKHR; 11211 11212 typedef struct VkSubresourceLayout2KHR { 11213 VkStructureType sType; 11214 void* pNext; 11215 VkSubresourceLayout subresourceLayout; 11216 } VkSubresourceLayout2KHR; 11217 11218 typedef struct VkPipelineCreateFlags2CreateInfoKHR { 11219 VkStructureType sType; 11220 const void* pNext; 11221 VkPipelineCreateFlags2KHR flags; 11222 } VkPipelineCreateFlags2CreateInfoKHR; 11223 11224 typedef struct VkBufferUsageFlags2CreateInfoKHR { 11225 VkStructureType sType; 11226 const void* pNext; 11227 VkBufferUsageFlags2KHR usage; 11228 } VkBufferUsageFlags2CreateInfoKHR; 11229 11230 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer2KHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType); 11231 typedef void (VKAPI_PTR *PFN_vkGetRenderingAreaGranularityKHR)(VkDevice device, const VkRenderingAreaInfoKHR* pRenderingAreaInfo, VkExtent2D* pGranularity); 11232 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSubresourceLayoutKHR)(VkDevice device, const VkDeviceImageSubresourceInfoKHR* pInfo, VkSubresourceLayout2KHR* pLayout); 11233 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout2KHR)(VkDevice device, VkImage image, const VkImageSubresource2KHR* pSubresource, VkSubresourceLayout2KHR* pLayout); 11234 11235 #ifndef VK_NO_PROTOTYPES 11236 VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer2KHR( 11237 VkCommandBuffer commandBuffer, 11238 VkBuffer buffer, 11239 VkDeviceSize offset, 11240 VkDeviceSize size, 11241 VkIndexType indexType); 11242 11243 VKAPI_ATTR void VKAPI_CALL vkGetRenderingAreaGranularityKHR( 11244 VkDevice device, 11245 const VkRenderingAreaInfoKHR* pRenderingAreaInfo, 11246 VkExtent2D* pGranularity); 11247 11248 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSubresourceLayoutKHR( 11249 VkDevice device, 11250 const VkDeviceImageSubresourceInfoKHR* pInfo, 11251 VkSubresourceLayout2KHR* pLayout); 11252 11253 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout2KHR( 11254 VkDevice device, 11255 VkImage image, 11256 const VkImageSubresource2KHR* pSubresource, 11257 VkSubresourceLayout2KHR* pLayout); 11258 #endif 11259 11260 11261 // VK_KHR_ray_tracing_position_fetch is a preprocessor guard. Do not pass it to API calls. 11262 #define VK_KHR_ray_tracing_position_fetch 1 11263 #define VK_KHR_RAY_TRACING_POSITION_FETCH_SPEC_VERSION 1 11264 #define VK_KHR_RAY_TRACING_POSITION_FETCH_EXTENSION_NAME "VK_KHR_ray_tracing_position_fetch" 11265 typedef struct VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR { 11266 VkStructureType sType; 11267 void* pNext; 11268 VkBool32 rayTracingPositionFetch; 11269 } VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR; 11270 11271 11272 11273 // VK_KHR_cooperative_matrix is a preprocessor guard. Do not pass it to API calls. 11274 #define VK_KHR_cooperative_matrix 1 11275 #define VK_KHR_COOPERATIVE_MATRIX_SPEC_VERSION 2 11276 #define VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_KHR_cooperative_matrix" 11277 11278 typedef enum VkComponentTypeKHR { 11279 VK_COMPONENT_TYPE_FLOAT16_KHR = 0, 11280 VK_COMPONENT_TYPE_FLOAT32_KHR = 1, 11281 VK_COMPONENT_TYPE_FLOAT64_KHR = 2, 11282 VK_COMPONENT_TYPE_SINT8_KHR = 3, 11283 VK_COMPONENT_TYPE_SINT16_KHR = 4, 11284 VK_COMPONENT_TYPE_SINT32_KHR = 5, 11285 VK_COMPONENT_TYPE_SINT64_KHR = 6, 11286 VK_COMPONENT_TYPE_UINT8_KHR = 7, 11287 VK_COMPONENT_TYPE_UINT16_KHR = 8, 11288 VK_COMPONENT_TYPE_UINT32_KHR = 9, 11289 VK_COMPONENT_TYPE_UINT64_KHR = 10, 11290 VK_COMPONENT_TYPE_FLOAT16_NV = VK_COMPONENT_TYPE_FLOAT16_KHR, 11291 VK_COMPONENT_TYPE_FLOAT32_NV = VK_COMPONENT_TYPE_FLOAT32_KHR, 11292 VK_COMPONENT_TYPE_FLOAT64_NV = VK_COMPONENT_TYPE_FLOAT64_KHR, 11293 VK_COMPONENT_TYPE_SINT8_NV = VK_COMPONENT_TYPE_SINT8_KHR, 11294 VK_COMPONENT_TYPE_SINT16_NV = VK_COMPONENT_TYPE_SINT16_KHR, 11295 VK_COMPONENT_TYPE_SINT32_NV = VK_COMPONENT_TYPE_SINT32_KHR, 11296 VK_COMPONENT_TYPE_SINT64_NV = VK_COMPONENT_TYPE_SINT64_KHR, 11297 VK_COMPONENT_TYPE_UINT8_NV = VK_COMPONENT_TYPE_UINT8_KHR, 11298 VK_COMPONENT_TYPE_UINT16_NV = VK_COMPONENT_TYPE_UINT16_KHR, 11299 VK_COMPONENT_TYPE_UINT32_NV = VK_COMPONENT_TYPE_UINT32_KHR, 11300 VK_COMPONENT_TYPE_UINT64_NV = VK_COMPONENT_TYPE_UINT64_KHR, 11301 VK_COMPONENT_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 11302 } VkComponentTypeKHR; 11303 11304 typedef enum VkScopeKHR { 11305 VK_SCOPE_DEVICE_KHR = 1, 11306 VK_SCOPE_WORKGROUP_KHR = 2, 11307 VK_SCOPE_SUBGROUP_KHR = 3, 11308 VK_SCOPE_QUEUE_FAMILY_KHR = 5, 11309 VK_SCOPE_DEVICE_NV = VK_SCOPE_DEVICE_KHR, 11310 VK_SCOPE_WORKGROUP_NV = VK_SCOPE_WORKGROUP_KHR, 11311 VK_SCOPE_SUBGROUP_NV = VK_SCOPE_SUBGROUP_KHR, 11312 VK_SCOPE_QUEUE_FAMILY_NV = VK_SCOPE_QUEUE_FAMILY_KHR, 11313 VK_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF 11314 } VkScopeKHR; 11315 typedef struct VkCooperativeMatrixPropertiesKHR { 11316 VkStructureType sType; 11317 void* pNext; 11318 uint32_t MSize; 11319 uint32_t NSize; 11320 uint32_t KSize; 11321 VkComponentTypeKHR AType; 11322 VkComponentTypeKHR BType; 11323 VkComponentTypeKHR CType; 11324 VkComponentTypeKHR ResultType; 11325 VkBool32 saturatingAccumulation; 11326 VkScopeKHR scope; 11327 } VkCooperativeMatrixPropertiesKHR; 11328 11329 typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesKHR { 11330 VkStructureType sType; 11331 void* pNext; 11332 VkBool32 cooperativeMatrix; 11333 VkBool32 cooperativeMatrixRobustBufferAccess; 11334 } VkPhysicalDeviceCooperativeMatrixFeaturesKHR; 11335 11336 typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesKHR { 11337 VkStructureType sType; 11338 void* pNext; 11339 VkShaderStageFlags cooperativeMatrixSupportedStages; 11340 } VkPhysicalDeviceCooperativeMatrixPropertiesKHR; 11341 11342 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesKHR* pProperties); 11343 11344 #ifndef VK_NO_PROTOTYPES 11345 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( 11346 VkPhysicalDevice physicalDevice, 11347 uint32_t* pPropertyCount, 11348 VkCooperativeMatrixPropertiesKHR* pProperties); 11349 #endif 11350 11351 11352 // VK_KHR_video_decode_av1 is a preprocessor guard. Do not pass it to API calls. 11353 #define VK_KHR_video_decode_av1 1 11354 #include "vk_video/vulkan_video_codec_av1std.h" 11355 #include "vk_video/vulkan_video_codec_av1std_decode.h" 11356 #define VK_MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR 7U 11357 #define VK_KHR_VIDEO_DECODE_AV1_SPEC_VERSION 1 11358 #define VK_KHR_VIDEO_DECODE_AV1_EXTENSION_NAME "VK_KHR_video_decode_av1" 11359 typedef struct VkVideoDecodeAV1ProfileInfoKHR { 11360 VkStructureType sType; 11361 const void* pNext; 11362 StdVideoAV1Profile stdProfile; 11363 VkBool32 filmGrainSupport; 11364 } VkVideoDecodeAV1ProfileInfoKHR; 11365 11366 typedef struct VkVideoDecodeAV1CapabilitiesKHR { 11367 VkStructureType sType; 11368 void* pNext; 11369 StdVideoAV1Level maxLevel; 11370 } VkVideoDecodeAV1CapabilitiesKHR; 11371 11372 typedef struct VkVideoDecodeAV1SessionParametersCreateInfoKHR { 11373 VkStructureType sType; 11374 const void* pNext; 11375 const StdVideoAV1SequenceHeader* pStdSequenceHeader; 11376 } VkVideoDecodeAV1SessionParametersCreateInfoKHR; 11377 11378 typedef struct VkVideoDecodeAV1PictureInfoKHR { 11379 VkStructureType sType; 11380 const void* pNext; 11381 const StdVideoDecodeAV1PictureInfo* pStdPictureInfo; 11382 int32_t referenceNameSlotIndices[VK_MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR]; 11383 uint32_t frameHeaderOffset; 11384 uint32_t tileCount; 11385 const uint32_t* pTileOffsets; 11386 const uint32_t* pTileSizes; 11387 } VkVideoDecodeAV1PictureInfoKHR; 11388 11389 typedef struct VkVideoDecodeAV1DpbSlotInfoKHR { 11390 VkStructureType sType; 11391 const void* pNext; 11392 const StdVideoDecodeAV1ReferenceInfo* pStdReferenceInfo; 11393 } VkVideoDecodeAV1DpbSlotInfoKHR; 11394 11395 11396 11397 // VK_KHR_video_maintenance1 is a preprocessor guard. Do not pass it to API calls. 11398 #define VK_KHR_video_maintenance1 1 11399 #define VK_KHR_VIDEO_MAINTENANCE_1_SPEC_VERSION 1 11400 #define VK_KHR_VIDEO_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_video_maintenance1" 11401 typedef struct VkPhysicalDeviceVideoMaintenance1FeaturesKHR { 11402 VkStructureType sType; 11403 void* pNext; 11404 VkBool32 videoMaintenance1; 11405 } VkPhysicalDeviceVideoMaintenance1FeaturesKHR; 11406 11407 typedef struct VkVideoInlineQueryInfoKHR { 11408 VkStructureType sType; 11409 const void* pNext; 11410 VkQueryPool queryPool; 11411 uint32_t firstQuery; 11412 uint32_t queryCount; 11413 } VkVideoInlineQueryInfoKHR; 11414 11415 11416 11417 // VK_KHR_vertex_attribute_divisor is a preprocessor guard. Do not pass it to API calls. 11418 #define VK_KHR_vertex_attribute_divisor 1 11419 #define VK_KHR_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 1 11420 #define VK_KHR_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_KHR_vertex_attribute_divisor" 11421 typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR { 11422 VkStructureType sType; 11423 void* pNext; 11424 uint32_t maxVertexAttribDivisor; 11425 VkBool32 supportsNonZeroFirstInstance; 11426 } VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR; 11427 11428 typedef struct VkVertexInputBindingDivisorDescriptionKHR { 11429 uint32_t binding; 11430 uint32_t divisor; 11431 } VkVertexInputBindingDivisorDescriptionKHR; 11432 11433 typedef struct VkPipelineVertexInputDivisorStateCreateInfoKHR { 11434 VkStructureType sType; 11435 const void* pNext; 11436 uint32_t vertexBindingDivisorCount; 11437 const VkVertexInputBindingDivisorDescriptionKHR* pVertexBindingDivisors; 11438 } VkPipelineVertexInputDivisorStateCreateInfoKHR; 11439 11440 typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR { 11441 VkStructureType sType; 11442 void* pNext; 11443 VkBool32 vertexAttributeInstanceRateDivisor; 11444 VkBool32 vertexAttributeInstanceRateZeroDivisor; 11445 } VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR; 11446 11447 11448 11449 // VK_KHR_load_store_op_none is a preprocessor guard. Do not pass it to API calls. 11450 #define VK_KHR_load_store_op_none 1 11451 #define VK_KHR_LOAD_STORE_OP_NONE_SPEC_VERSION 1 11452 #define VK_KHR_LOAD_STORE_OP_NONE_EXTENSION_NAME "VK_KHR_load_store_op_none" 11453 11454 11455 // VK_KHR_shader_float_controls2 is a preprocessor guard. Do not pass it to API calls. 11456 #define VK_KHR_shader_float_controls2 1 11457 #define VK_KHR_SHADER_FLOAT_CONTROLS_2_SPEC_VERSION 1 11458 #define VK_KHR_SHADER_FLOAT_CONTROLS_2_EXTENSION_NAME "VK_KHR_shader_float_controls2" 11459 typedef struct VkPhysicalDeviceShaderFloatControls2FeaturesKHR { 11460 VkStructureType sType; 11461 void* pNext; 11462 VkBool32 shaderFloatControls2; 11463 } VkPhysicalDeviceShaderFloatControls2FeaturesKHR; 11464 11465 11466 11467 // VK_KHR_index_type_uint8 is a preprocessor guard. Do not pass it to API calls. 11468 #define VK_KHR_index_type_uint8 1 11469 #define VK_KHR_INDEX_TYPE_UINT8_SPEC_VERSION 1 11470 #define VK_KHR_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_KHR_index_type_uint8" 11471 typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesKHR { 11472 VkStructureType sType; 11473 void* pNext; 11474 VkBool32 indexTypeUint8; 11475 } VkPhysicalDeviceIndexTypeUint8FeaturesKHR; 11476 11477 11478 11479 // VK_KHR_line_rasterization is a preprocessor guard. Do not pass it to API calls. 11480 #define VK_KHR_line_rasterization 1 11481 #define VK_KHR_LINE_RASTERIZATION_SPEC_VERSION 1 11482 #define VK_KHR_LINE_RASTERIZATION_EXTENSION_NAME "VK_KHR_line_rasterization" 11483 11484 typedef enum VkLineRasterizationModeKHR { 11485 VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR = 0, 11486 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR = 1, 11487 VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR = 2, 11488 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR = 3, 11489 VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR, 11490 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR, 11491 VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR, 11492 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR, 11493 VK_LINE_RASTERIZATION_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 11494 } VkLineRasterizationModeKHR; 11495 typedef struct VkPhysicalDeviceLineRasterizationFeaturesKHR { 11496 VkStructureType sType; 11497 void* pNext; 11498 VkBool32 rectangularLines; 11499 VkBool32 bresenhamLines; 11500 VkBool32 smoothLines; 11501 VkBool32 stippledRectangularLines; 11502 VkBool32 stippledBresenhamLines; 11503 VkBool32 stippledSmoothLines; 11504 } VkPhysicalDeviceLineRasterizationFeaturesKHR; 11505 11506 typedef struct VkPhysicalDeviceLineRasterizationPropertiesKHR { 11507 VkStructureType sType; 11508 void* pNext; 11509 uint32_t lineSubPixelPrecisionBits; 11510 } VkPhysicalDeviceLineRasterizationPropertiesKHR; 11511 11512 typedef struct VkPipelineRasterizationLineStateCreateInfoKHR { 11513 VkStructureType sType; 11514 const void* pNext; 11515 VkLineRasterizationModeKHR lineRasterizationMode; 11516 VkBool32 stippledLineEnable; 11517 uint32_t lineStippleFactor; 11518 uint16_t lineStipplePattern; 11519 } VkPipelineRasterizationLineStateCreateInfoKHR; 11520 11521 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleKHR)(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern); 11522 11523 #ifndef VK_NO_PROTOTYPES 11524 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleKHR( 11525 VkCommandBuffer commandBuffer, 11526 uint32_t lineStippleFactor, 11527 uint16_t lineStipplePattern); 11528 #endif 11529 11530 11531 // VK_KHR_calibrated_timestamps is a preprocessor guard. Do not pass it to API calls. 11532 #define VK_KHR_calibrated_timestamps 1 11533 #define VK_KHR_CALIBRATED_TIMESTAMPS_SPEC_VERSION 1 11534 #define VK_KHR_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_KHR_calibrated_timestamps" 11535 11536 typedef enum VkTimeDomainKHR { 11537 VK_TIME_DOMAIN_DEVICE_KHR = 0, 11538 VK_TIME_DOMAIN_CLOCK_MONOTONIC_KHR = 1, 11539 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_KHR = 2, 11540 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_KHR = 3, 11541 VK_TIME_DOMAIN_DEVICE_EXT = VK_TIME_DOMAIN_DEVICE_KHR, 11542 VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = VK_TIME_DOMAIN_CLOCK_MONOTONIC_KHR, 11543 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_KHR, 11544 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_KHR, 11545 VK_TIME_DOMAIN_MAX_ENUM_KHR = 0x7FFFFFFF 11546 } VkTimeDomainKHR; 11547 typedef struct VkCalibratedTimestampInfoKHR { 11548 VkStructureType sType; 11549 const void* pNext; 11550 VkTimeDomainKHR timeDomain; 11551 } VkCalibratedTimestampInfoKHR; 11552 11553 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsKHR)(VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainKHR* pTimeDomains); 11554 typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsKHR)(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoKHR* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation); 11555 11556 #ifndef VK_NO_PROTOTYPES 11557 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( 11558 VkPhysicalDevice physicalDevice, 11559 uint32_t* pTimeDomainCount, 11560 VkTimeDomainKHR* pTimeDomains); 11561 11562 VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsKHR( 11563 VkDevice device, 11564 uint32_t timestampCount, 11565 const VkCalibratedTimestampInfoKHR* pTimestampInfos, 11566 uint64_t* pTimestamps, 11567 uint64_t* pMaxDeviation); 11568 #endif 11569 11570 11571 // VK_KHR_shader_expect_assume is a preprocessor guard. Do not pass it to API calls. 11572 #define VK_KHR_shader_expect_assume 1 11573 #define VK_KHR_SHADER_EXPECT_ASSUME_SPEC_VERSION 1 11574 #define VK_KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME "VK_KHR_shader_expect_assume" 11575 typedef struct VkPhysicalDeviceShaderExpectAssumeFeaturesKHR { 11576 VkStructureType sType; 11577 void* pNext; 11578 VkBool32 shaderExpectAssume; 11579 } VkPhysicalDeviceShaderExpectAssumeFeaturesKHR; 11580 11581 11582 11583 // VK_KHR_maintenance6 is a preprocessor guard. Do not pass it to API calls. 11584 #define VK_KHR_maintenance6 1 11585 #define VK_KHR_MAINTENANCE_6_SPEC_VERSION 1 11586 #define VK_KHR_MAINTENANCE_6_EXTENSION_NAME "VK_KHR_maintenance6" 11587 typedef struct VkPhysicalDeviceMaintenance6FeaturesKHR { 11588 VkStructureType sType; 11589 void* pNext; 11590 VkBool32 maintenance6; 11591 } VkPhysicalDeviceMaintenance6FeaturesKHR; 11592 11593 typedef struct VkPhysicalDeviceMaintenance6PropertiesKHR { 11594 VkStructureType sType; 11595 void* pNext; 11596 VkBool32 blockTexelViewCompatibleMultipleLayers; 11597 uint32_t maxCombinedImageSamplerDescriptorCount; 11598 VkBool32 fragmentShadingRateClampCombinerInputs; 11599 } VkPhysicalDeviceMaintenance6PropertiesKHR; 11600 11601 typedef struct VkBindMemoryStatusKHR { 11602 VkStructureType sType; 11603 const void* pNext; 11604 VkResult* pResult; 11605 } VkBindMemoryStatusKHR; 11606 11607 typedef struct VkBindDescriptorSetsInfoKHR { 11608 VkStructureType sType; 11609 const void* pNext; 11610 VkShaderStageFlags stageFlags; 11611 VkPipelineLayout layout; 11612 uint32_t firstSet; 11613 uint32_t descriptorSetCount; 11614 const VkDescriptorSet* pDescriptorSets; 11615 uint32_t dynamicOffsetCount; 11616 const uint32_t* pDynamicOffsets; 11617 } VkBindDescriptorSetsInfoKHR; 11618 11619 typedef struct VkPushConstantsInfoKHR { 11620 VkStructureType sType; 11621 const void* pNext; 11622 VkPipelineLayout layout; 11623 VkShaderStageFlags stageFlags; 11624 uint32_t offset; 11625 uint32_t size; 11626 const void* pValues; 11627 } VkPushConstantsInfoKHR; 11628 11629 typedef struct VkPushDescriptorSetInfoKHR { 11630 VkStructureType sType; 11631 const void* pNext; 11632 VkShaderStageFlags stageFlags; 11633 VkPipelineLayout layout; 11634 uint32_t set; 11635 uint32_t descriptorWriteCount; 11636 const VkWriteDescriptorSet* pDescriptorWrites; 11637 } VkPushDescriptorSetInfoKHR; 11638 11639 typedef struct VkPushDescriptorSetWithTemplateInfoKHR { 11640 VkStructureType sType; 11641 const void* pNext; 11642 VkDescriptorUpdateTemplate descriptorUpdateTemplate; 11643 VkPipelineLayout layout; 11644 uint32_t set; 11645 const void* pData; 11646 } VkPushDescriptorSetWithTemplateInfoKHR; 11647 11648 typedef struct VkSetDescriptorBufferOffsetsInfoEXT { 11649 VkStructureType sType; 11650 const void* pNext; 11651 VkShaderStageFlags stageFlags; 11652 VkPipelineLayout layout; 11653 uint32_t firstSet; 11654 uint32_t setCount; 11655 const uint32_t* pBufferIndices; 11656 const VkDeviceSize* pOffsets; 11657 } VkSetDescriptorBufferOffsetsInfoEXT; 11658 11659 typedef struct VkBindDescriptorBufferEmbeddedSamplersInfoEXT { 11660 VkStructureType sType; 11661 const void* pNext; 11662 VkShaderStageFlags stageFlags; 11663 VkPipelineLayout layout; 11664 uint32_t set; 11665 } VkBindDescriptorBufferEmbeddedSamplersInfoEXT; 11666 11667 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets2KHR)(VkCommandBuffer commandBuffer, const VkBindDescriptorSetsInfoKHR* pBindDescriptorSetsInfo); 11668 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants2KHR)(VkCommandBuffer commandBuffer, const VkPushConstantsInfoKHR* pPushConstantsInfo); 11669 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSet2KHR)(VkCommandBuffer commandBuffer, const VkPushDescriptorSetInfoKHR* pPushDescriptorSetInfo); 11670 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplate2KHR)(VkCommandBuffer commandBuffer, const VkPushDescriptorSetWithTemplateInfoKHR* pPushDescriptorSetWithTemplateInfo); 11671 typedef void (VKAPI_PTR *PFN_vkCmdSetDescriptorBufferOffsets2EXT)(VkCommandBuffer commandBuffer, const VkSetDescriptorBufferOffsetsInfoEXT* pSetDescriptorBufferOffsetsInfo); 11672 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT)(VkCommandBuffer commandBuffer, const VkBindDescriptorBufferEmbeddedSamplersInfoEXT* pBindDescriptorBufferEmbeddedSamplersInfo); 11673 11674 #ifndef VK_NO_PROTOTYPES 11675 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets2KHR( 11676 VkCommandBuffer commandBuffer, 11677 const VkBindDescriptorSetsInfoKHR* pBindDescriptorSetsInfo); 11678 11679 VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants2KHR( 11680 VkCommandBuffer commandBuffer, 11681 const VkPushConstantsInfoKHR* pPushConstantsInfo); 11682 11683 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSet2KHR( 11684 VkCommandBuffer commandBuffer, 11685 const VkPushDescriptorSetInfoKHR* pPushDescriptorSetInfo); 11686 11687 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplate2KHR( 11688 VkCommandBuffer commandBuffer, 11689 const VkPushDescriptorSetWithTemplateInfoKHR* pPushDescriptorSetWithTemplateInfo); 11690 11691 VKAPI_ATTR void VKAPI_CALL vkCmdSetDescriptorBufferOffsets2EXT( 11692 VkCommandBuffer commandBuffer, 11693 const VkSetDescriptorBufferOffsetsInfoEXT* pSetDescriptorBufferOffsetsInfo); 11694 11695 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorBufferEmbeddedSamplers2EXT( 11696 VkCommandBuffer commandBuffer, 11697 const VkBindDescriptorBufferEmbeddedSamplersInfoEXT* pBindDescriptorBufferEmbeddedSamplersInfo); 11698 #endif 11699 11700 11701 // VK_EXT_debug_report is a preprocessor guard. Do not pass it to API calls. 11702 #define VK_EXT_debug_report 1 11703 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT) 11704 #define VK_EXT_DEBUG_REPORT_SPEC_VERSION 10 11705 #define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report" 11706 11707 typedef enum VkDebugReportObjectTypeEXT { 11708 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0, 11709 VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1, 11710 VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2, 11711 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3, 11712 VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4, 11713 VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5, 11714 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6, 11715 VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7, 11716 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8, 11717 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9, 11718 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10, 11719 VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11, 11720 VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12, 11721 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13, 11722 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14, 11723 VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15, 11724 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16, 11725 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17, 11726 VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18, 11727 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19, 11728 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20, 11729 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21, 11730 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22, 11731 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23, 11732 VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24, 11733 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25, 11734 VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26, 11735 VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27, 11736 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28, 11737 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29, 11738 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30, 11739 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33, 11740 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000, 11741 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000, 11742 VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT = 1000029000, 11743 VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT = 1000029001, 11744 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT = 1000150000, 11745 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = 1000165000, 11746 VK_DEBUG_REPORT_OBJECT_TYPE_CUDA_MODULE_NV_EXT = 1000307000, 11747 VK_DEBUG_REPORT_OBJECT_TYPE_CUDA_FUNCTION_NV_EXT = 1000307001, 11748 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT = 1000366000, 11749 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT, 11750 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT, 11751 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT, 11752 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT, 11753 VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 11754 } VkDebugReportObjectTypeEXT; 11755 11756 typedef enum VkDebugReportFlagBitsEXT { 11757 VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001, 11758 VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002, 11759 VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004, 11760 VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008, 11761 VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010, 11762 VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 11763 } VkDebugReportFlagBitsEXT; 11764 typedef VkFlags VkDebugReportFlagsEXT; 11765 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)( 11766 VkDebugReportFlagsEXT flags, 11767 VkDebugReportObjectTypeEXT objectType, 11768 uint64_t object, 11769 size_t location, 11770 int32_t messageCode, 11771 const char* pLayerPrefix, 11772 const char* pMessage, 11773 void* pUserData); 11774 11775 typedef struct VkDebugReportCallbackCreateInfoEXT { 11776 VkStructureType sType; 11777 const void* pNext; 11778 VkDebugReportFlagsEXT flags; 11779 PFN_vkDebugReportCallbackEXT pfnCallback; 11780 void* pUserData; 11781 } VkDebugReportCallbackCreateInfoEXT; 11782 11783 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback); 11784 typedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator); 11785 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); 11786 11787 #ifndef VK_NO_PROTOTYPES 11788 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT( 11789 VkInstance instance, 11790 const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, 11791 const VkAllocationCallbacks* pAllocator, 11792 VkDebugReportCallbackEXT* pCallback); 11793 11794 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT( 11795 VkInstance instance, 11796 VkDebugReportCallbackEXT callback, 11797 const VkAllocationCallbacks* pAllocator); 11798 11799 VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT( 11800 VkInstance instance, 11801 VkDebugReportFlagsEXT flags, 11802 VkDebugReportObjectTypeEXT objectType, 11803 uint64_t object, 11804 size_t location, 11805 int32_t messageCode, 11806 const char* pLayerPrefix, 11807 const char* pMessage); 11808 #endif 11809 11810 11811 // VK_NV_glsl_shader is a preprocessor guard. Do not pass it to API calls. 11812 #define VK_NV_glsl_shader 1 11813 #define VK_NV_GLSL_SHADER_SPEC_VERSION 1 11814 #define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader" 11815 11816 11817 // VK_EXT_depth_range_unrestricted is a preprocessor guard. Do not pass it to API calls. 11818 #define VK_EXT_depth_range_unrestricted 1 11819 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1 11820 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted" 11821 11822 11823 // VK_IMG_filter_cubic is a preprocessor guard. Do not pass it to API calls. 11824 #define VK_IMG_filter_cubic 1 11825 #define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1 11826 #define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic" 11827 11828 11829 // VK_AMD_rasterization_order is a preprocessor guard. Do not pass it to API calls. 11830 #define VK_AMD_rasterization_order 1 11831 #define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1 11832 #define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order" 11833 11834 typedef enum VkRasterizationOrderAMD { 11835 VK_RASTERIZATION_ORDER_STRICT_AMD = 0, 11836 VK_RASTERIZATION_ORDER_RELAXED_AMD = 1, 11837 VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF 11838 } VkRasterizationOrderAMD; 11839 typedef struct VkPipelineRasterizationStateRasterizationOrderAMD { 11840 VkStructureType sType; 11841 const void* pNext; 11842 VkRasterizationOrderAMD rasterizationOrder; 11843 } VkPipelineRasterizationStateRasterizationOrderAMD; 11844 11845 11846 11847 // VK_AMD_shader_trinary_minmax is a preprocessor guard. Do not pass it to API calls. 11848 #define VK_AMD_shader_trinary_minmax 1 11849 #define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1 11850 #define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax" 11851 11852 11853 // VK_AMD_shader_explicit_vertex_parameter is a preprocessor guard. Do not pass it to API calls. 11854 #define VK_AMD_shader_explicit_vertex_parameter 1 11855 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1 11856 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter" 11857 11858 11859 // VK_EXT_debug_marker is a preprocessor guard. Do not pass it to API calls. 11860 #define VK_EXT_debug_marker 1 11861 #define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4 11862 #define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker" 11863 typedef struct VkDebugMarkerObjectNameInfoEXT { 11864 VkStructureType sType; 11865 const void* pNext; 11866 VkDebugReportObjectTypeEXT objectType; 11867 uint64_t object; 11868 const char* pObjectName; 11869 } VkDebugMarkerObjectNameInfoEXT; 11870 11871 typedef struct VkDebugMarkerObjectTagInfoEXT { 11872 VkStructureType sType; 11873 const void* pNext; 11874 VkDebugReportObjectTypeEXT objectType; 11875 uint64_t object; 11876 uint64_t tagName; 11877 size_t tagSize; 11878 const void* pTag; 11879 } VkDebugMarkerObjectTagInfoEXT; 11880 11881 typedef struct VkDebugMarkerMarkerInfoEXT { 11882 VkStructureType sType; 11883 const void* pNext; 11884 const char* pMarkerName; 11885 float color[4]; 11886 } VkDebugMarkerMarkerInfoEXT; 11887 11888 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo); 11889 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo); 11890 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 11891 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer); 11892 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 11893 11894 #ifndef VK_NO_PROTOTYPES 11895 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT( 11896 VkDevice device, 11897 const VkDebugMarkerObjectTagInfoEXT* pTagInfo); 11898 11899 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT( 11900 VkDevice device, 11901 const VkDebugMarkerObjectNameInfoEXT* pNameInfo); 11902 11903 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT( 11904 VkCommandBuffer commandBuffer, 11905 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 11906 11907 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT( 11908 VkCommandBuffer commandBuffer); 11909 11910 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT( 11911 VkCommandBuffer commandBuffer, 11912 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 11913 #endif 11914 11915 11916 // VK_AMD_gcn_shader is a preprocessor guard. Do not pass it to API calls. 11917 #define VK_AMD_gcn_shader 1 11918 #define VK_AMD_GCN_SHADER_SPEC_VERSION 1 11919 #define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader" 11920 11921 11922 // VK_NV_dedicated_allocation is a preprocessor guard. Do not pass it to API calls. 11923 #define VK_NV_dedicated_allocation 1 11924 #define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1 11925 #define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation" 11926 typedef struct VkDedicatedAllocationImageCreateInfoNV { 11927 VkStructureType sType; 11928 const void* pNext; 11929 VkBool32 dedicatedAllocation; 11930 } VkDedicatedAllocationImageCreateInfoNV; 11931 11932 typedef struct VkDedicatedAllocationBufferCreateInfoNV { 11933 VkStructureType sType; 11934 const void* pNext; 11935 VkBool32 dedicatedAllocation; 11936 } VkDedicatedAllocationBufferCreateInfoNV; 11937 11938 typedef struct VkDedicatedAllocationMemoryAllocateInfoNV { 11939 VkStructureType sType; 11940 const void* pNext; 11941 VkImage image; 11942 VkBuffer buffer; 11943 } VkDedicatedAllocationMemoryAllocateInfoNV; 11944 11945 11946 11947 // VK_EXT_transform_feedback is a preprocessor guard. Do not pass it to API calls. 11948 #define VK_EXT_transform_feedback 1 11949 #define VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION 1 11950 #define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback" 11951 typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT; 11952 typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT { 11953 VkStructureType sType; 11954 void* pNext; 11955 VkBool32 transformFeedback; 11956 VkBool32 geometryStreams; 11957 } VkPhysicalDeviceTransformFeedbackFeaturesEXT; 11958 11959 typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT { 11960 VkStructureType sType; 11961 void* pNext; 11962 uint32_t maxTransformFeedbackStreams; 11963 uint32_t maxTransformFeedbackBuffers; 11964 VkDeviceSize maxTransformFeedbackBufferSize; 11965 uint32_t maxTransformFeedbackStreamDataSize; 11966 uint32_t maxTransformFeedbackBufferDataSize; 11967 uint32_t maxTransformFeedbackBufferDataStride; 11968 VkBool32 transformFeedbackQueries; 11969 VkBool32 transformFeedbackStreamsLinesTriangles; 11970 VkBool32 transformFeedbackRasterizationStreamSelect; 11971 VkBool32 transformFeedbackDraw; 11972 } VkPhysicalDeviceTransformFeedbackPropertiesEXT; 11973 11974 typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT { 11975 VkStructureType sType; 11976 const void* pNext; 11977 VkPipelineRasterizationStateStreamCreateFlagsEXT flags; 11978 uint32_t rasterizationStream; 11979 } VkPipelineRasterizationStateStreamCreateInfoEXT; 11980 11981 typedef void (VKAPI_PTR *PFN_vkCmdBindTransformFeedbackBuffersEXT)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes); 11982 typedef void (VKAPI_PTR *PFN_vkCmdBeginTransformFeedbackEXT)(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets); 11983 typedef void (VKAPI_PTR *PFN_vkCmdEndTransformFeedbackEXT)(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets); 11984 typedef void (VKAPI_PTR *PFN_vkCmdBeginQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index); 11985 typedef void (VKAPI_PTR *PFN_vkCmdEndQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index); 11986 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectByteCountEXT)(VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride); 11987 11988 #ifndef VK_NO_PROTOTYPES 11989 VKAPI_ATTR void VKAPI_CALL vkCmdBindTransformFeedbackBuffersEXT( 11990 VkCommandBuffer commandBuffer, 11991 uint32_t firstBinding, 11992 uint32_t bindingCount, 11993 const VkBuffer* pBuffers, 11994 const VkDeviceSize* pOffsets, 11995 const VkDeviceSize* pSizes); 11996 11997 VKAPI_ATTR void VKAPI_CALL vkCmdBeginTransformFeedbackEXT( 11998 VkCommandBuffer commandBuffer, 11999 uint32_t firstCounterBuffer, 12000 uint32_t counterBufferCount, 12001 const VkBuffer* pCounterBuffers, 12002 const VkDeviceSize* pCounterBufferOffsets); 12003 12004 VKAPI_ATTR void VKAPI_CALL vkCmdEndTransformFeedbackEXT( 12005 VkCommandBuffer commandBuffer, 12006 uint32_t firstCounterBuffer, 12007 uint32_t counterBufferCount, 12008 const VkBuffer* pCounterBuffers, 12009 const VkDeviceSize* pCounterBufferOffsets); 12010 12011 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQueryIndexedEXT( 12012 VkCommandBuffer commandBuffer, 12013 VkQueryPool queryPool, 12014 uint32_t query, 12015 VkQueryControlFlags flags, 12016 uint32_t index); 12017 12018 VKAPI_ATTR void VKAPI_CALL vkCmdEndQueryIndexedEXT( 12019 VkCommandBuffer commandBuffer, 12020 VkQueryPool queryPool, 12021 uint32_t query, 12022 uint32_t index); 12023 12024 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectByteCountEXT( 12025 VkCommandBuffer commandBuffer, 12026 uint32_t instanceCount, 12027 uint32_t firstInstance, 12028 VkBuffer counterBuffer, 12029 VkDeviceSize counterBufferOffset, 12030 uint32_t counterOffset, 12031 uint32_t vertexStride); 12032 #endif 12033 12034 12035 // VK_NVX_binary_import is a preprocessor guard. Do not pass it to API calls. 12036 #define VK_NVX_binary_import 1 12037 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuModuleNVX) 12038 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuFunctionNVX) 12039 #define VK_NVX_BINARY_IMPORT_SPEC_VERSION 1 12040 #define VK_NVX_BINARY_IMPORT_EXTENSION_NAME "VK_NVX_binary_import" 12041 typedef struct VkCuModuleCreateInfoNVX { 12042 VkStructureType sType; 12043 const void* pNext; 12044 size_t dataSize; 12045 const void* pData; 12046 } VkCuModuleCreateInfoNVX; 12047 12048 typedef struct VkCuFunctionCreateInfoNVX { 12049 VkStructureType sType; 12050 const void* pNext; 12051 VkCuModuleNVX module; 12052 const char* pName; 12053 } VkCuFunctionCreateInfoNVX; 12054 12055 typedef struct VkCuLaunchInfoNVX { 12056 VkStructureType sType; 12057 const void* pNext; 12058 VkCuFunctionNVX function; 12059 uint32_t gridDimX; 12060 uint32_t gridDimY; 12061 uint32_t gridDimZ; 12062 uint32_t blockDimX; 12063 uint32_t blockDimY; 12064 uint32_t blockDimZ; 12065 uint32_t sharedMemBytes; 12066 size_t paramCount; 12067 const void* const * pParams; 12068 size_t extraCount; 12069 const void* const * pExtras; 12070 } VkCuLaunchInfoNVX; 12071 12072 typedef VkResult (VKAPI_PTR *PFN_vkCreateCuModuleNVX)(VkDevice device, const VkCuModuleCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuModuleNVX* pModule); 12073 typedef VkResult (VKAPI_PTR *PFN_vkCreateCuFunctionNVX)(VkDevice device, const VkCuFunctionCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuFunctionNVX* pFunction); 12074 typedef void (VKAPI_PTR *PFN_vkDestroyCuModuleNVX)(VkDevice device, VkCuModuleNVX module, const VkAllocationCallbacks* pAllocator); 12075 typedef void (VKAPI_PTR *PFN_vkDestroyCuFunctionNVX)(VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks* pAllocator); 12076 typedef void (VKAPI_PTR *PFN_vkCmdCuLaunchKernelNVX)(VkCommandBuffer commandBuffer, const VkCuLaunchInfoNVX* pLaunchInfo); 12077 12078 #ifndef VK_NO_PROTOTYPES 12079 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuModuleNVX( 12080 VkDevice device, 12081 const VkCuModuleCreateInfoNVX* pCreateInfo, 12082 const VkAllocationCallbacks* pAllocator, 12083 VkCuModuleNVX* pModule); 12084 12085 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuFunctionNVX( 12086 VkDevice device, 12087 const VkCuFunctionCreateInfoNVX* pCreateInfo, 12088 const VkAllocationCallbacks* pAllocator, 12089 VkCuFunctionNVX* pFunction); 12090 12091 VKAPI_ATTR void VKAPI_CALL vkDestroyCuModuleNVX( 12092 VkDevice device, 12093 VkCuModuleNVX module, 12094 const VkAllocationCallbacks* pAllocator); 12095 12096 VKAPI_ATTR void VKAPI_CALL vkDestroyCuFunctionNVX( 12097 VkDevice device, 12098 VkCuFunctionNVX function, 12099 const VkAllocationCallbacks* pAllocator); 12100 12101 VKAPI_ATTR void VKAPI_CALL vkCmdCuLaunchKernelNVX( 12102 VkCommandBuffer commandBuffer, 12103 const VkCuLaunchInfoNVX* pLaunchInfo); 12104 #endif 12105 12106 12107 // VK_NVX_image_view_handle is a preprocessor guard. Do not pass it to API calls. 12108 #define VK_NVX_image_view_handle 1 12109 #define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 2 12110 #define VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME "VK_NVX_image_view_handle" 12111 typedef struct VkImageViewHandleInfoNVX { 12112 VkStructureType sType; 12113 const void* pNext; 12114 VkImageView imageView; 12115 VkDescriptorType descriptorType; 12116 VkSampler sampler; 12117 } VkImageViewHandleInfoNVX; 12118 12119 typedef struct VkImageViewAddressPropertiesNVX { 12120 VkStructureType sType; 12121 void* pNext; 12122 VkDeviceAddress deviceAddress; 12123 VkDeviceSize size; 12124 } VkImageViewAddressPropertiesNVX; 12125 12126 typedef uint32_t (VKAPI_PTR *PFN_vkGetImageViewHandleNVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo); 12127 typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewAddressNVX)(VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties); 12128 12129 #ifndef VK_NO_PROTOTYPES 12130 VKAPI_ATTR uint32_t VKAPI_CALL vkGetImageViewHandleNVX( 12131 VkDevice device, 12132 const VkImageViewHandleInfoNVX* pInfo); 12133 12134 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewAddressNVX( 12135 VkDevice device, 12136 VkImageView imageView, 12137 VkImageViewAddressPropertiesNVX* pProperties); 12138 #endif 12139 12140 12141 // VK_AMD_draw_indirect_count is a preprocessor guard. Do not pass it to API calls. 12142 #define VK_AMD_draw_indirect_count 1 12143 #define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 2 12144 #define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count" 12145 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 12146 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 12147 12148 #ifndef VK_NO_PROTOTYPES 12149 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD( 12150 VkCommandBuffer commandBuffer, 12151 VkBuffer buffer, 12152 VkDeviceSize offset, 12153 VkBuffer countBuffer, 12154 VkDeviceSize countBufferOffset, 12155 uint32_t maxDrawCount, 12156 uint32_t stride); 12157 12158 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD( 12159 VkCommandBuffer commandBuffer, 12160 VkBuffer buffer, 12161 VkDeviceSize offset, 12162 VkBuffer countBuffer, 12163 VkDeviceSize countBufferOffset, 12164 uint32_t maxDrawCount, 12165 uint32_t stride); 12166 #endif 12167 12168 12169 // VK_AMD_negative_viewport_height is a preprocessor guard. Do not pass it to API calls. 12170 #define VK_AMD_negative_viewport_height 1 12171 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1 12172 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height" 12173 12174 12175 // VK_AMD_gpu_shader_half_float is a preprocessor guard. Do not pass it to API calls. 12176 #define VK_AMD_gpu_shader_half_float 1 12177 #define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 2 12178 #define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float" 12179 12180 12181 // VK_AMD_shader_ballot is a preprocessor guard. Do not pass it to API calls. 12182 #define VK_AMD_shader_ballot 1 12183 #define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1 12184 #define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot" 12185 12186 12187 // VK_AMD_texture_gather_bias_lod is a preprocessor guard. Do not pass it to API calls. 12188 #define VK_AMD_texture_gather_bias_lod 1 12189 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1 12190 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod" 12191 typedef struct VkTextureLODGatherFormatPropertiesAMD { 12192 VkStructureType sType; 12193 void* pNext; 12194 VkBool32 supportsTextureGatherLODBiasAMD; 12195 } VkTextureLODGatherFormatPropertiesAMD; 12196 12197 12198 12199 // VK_AMD_shader_info is a preprocessor guard. Do not pass it to API calls. 12200 #define VK_AMD_shader_info 1 12201 #define VK_AMD_SHADER_INFO_SPEC_VERSION 1 12202 #define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info" 12203 12204 typedef enum VkShaderInfoTypeAMD { 12205 VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0, 12206 VK_SHADER_INFO_TYPE_BINARY_AMD = 1, 12207 VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2, 12208 VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF 12209 } VkShaderInfoTypeAMD; 12210 typedef struct VkShaderResourceUsageAMD { 12211 uint32_t numUsedVgprs; 12212 uint32_t numUsedSgprs; 12213 uint32_t ldsSizePerLocalWorkGroup; 12214 size_t ldsUsageSizeInBytes; 12215 size_t scratchMemUsageInBytes; 12216 } VkShaderResourceUsageAMD; 12217 12218 typedef struct VkShaderStatisticsInfoAMD { 12219 VkShaderStageFlags shaderStageMask; 12220 VkShaderResourceUsageAMD resourceUsage; 12221 uint32_t numPhysicalVgprs; 12222 uint32_t numPhysicalSgprs; 12223 uint32_t numAvailableVgprs; 12224 uint32_t numAvailableSgprs; 12225 uint32_t computeWorkGroupSize[3]; 12226 } VkShaderStatisticsInfoAMD; 12227 12228 typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t* pInfoSize, void* pInfo); 12229 12230 #ifndef VK_NO_PROTOTYPES 12231 VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderInfoAMD( 12232 VkDevice device, 12233 VkPipeline pipeline, 12234 VkShaderStageFlagBits shaderStage, 12235 VkShaderInfoTypeAMD infoType, 12236 size_t* pInfoSize, 12237 void* pInfo); 12238 #endif 12239 12240 12241 // VK_AMD_shader_image_load_store_lod is a preprocessor guard. Do not pass it to API calls. 12242 #define VK_AMD_shader_image_load_store_lod 1 12243 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1 12244 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod" 12245 12246 12247 // VK_NV_corner_sampled_image is a preprocessor guard. Do not pass it to API calls. 12248 #define VK_NV_corner_sampled_image 1 12249 #define VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION 2 12250 #define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image" 12251 typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV { 12252 VkStructureType sType; 12253 void* pNext; 12254 VkBool32 cornerSampledImage; 12255 } VkPhysicalDeviceCornerSampledImageFeaturesNV; 12256 12257 12258 12259 // VK_IMG_format_pvrtc is a preprocessor guard. Do not pass it to API calls. 12260 #define VK_IMG_format_pvrtc 1 12261 #define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1 12262 #define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc" 12263 12264 12265 // VK_NV_external_memory_capabilities is a preprocessor guard. Do not pass it to API calls. 12266 #define VK_NV_external_memory_capabilities 1 12267 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1 12268 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities" 12269 12270 typedef enum VkExternalMemoryHandleTypeFlagBitsNV { 12271 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001, 12272 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002, 12273 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004, 12274 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008, 12275 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 12276 } VkExternalMemoryHandleTypeFlagBitsNV; 12277 typedef VkFlags VkExternalMemoryHandleTypeFlagsNV; 12278 12279 typedef enum VkExternalMemoryFeatureFlagBitsNV { 12280 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001, 12281 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002, 12282 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004, 12283 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 12284 } VkExternalMemoryFeatureFlagBitsNV; 12285 typedef VkFlags VkExternalMemoryFeatureFlagsNV; 12286 typedef struct VkExternalImageFormatPropertiesNV { 12287 VkImageFormatProperties imageFormatProperties; 12288 VkExternalMemoryFeatureFlagsNV externalMemoryFeatures; 12289 VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes; 12290 VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes; 12291 } VkExternalImageFormatPropertiesNV; 12292 12293 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties); 12294 12295 #ifndef VK_NO_PROTOTYPES 12296 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV( 12297 VkPhysicalDevice physicalDevice, 12298 VkFormat format, 12299 VkImageType type, 12300 VkImageTiling tiling, 12301 VkImageUsageFlags usage, 12302 VkImageCreateFlags flags, 12303 VkExternalMemoryHandleTypeFlagsNV externalHandleType, 12304 VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties); 12305 #endif 12306 12307 12308 // VK_NV_external_memory is a preprocessor guard. Do not pass it to API calls. 12309 #define VK_NV_external_memory 1 12310 #define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1 12311 #define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory" 12312 typedef struct VkExternalMemoryImageCreateInfoNV { 12313 VkStructureType sType; 12314 const void* pNext; 12315 VkExternalMemoryHandleTypeFlagsNV handleTypes; 12316 } VkExternalMemoryImageCreateInfoNV; 12317 12318 typedef struct VkExportMemoryAllocateInfoNV { 12319 VkStructureType sType; 12320 const void* pNext; 12321 VkExternalMemoryHandleTypeFlagsNV handleTypes; 12322 } VkExportMemoryAllocateInfoNV; 12323 12324 12325 12326 // VK_EXT_validation_flags is a preprocessor guard. Do not pass it to API calls. 12327 #define VK_EXT_validation_flags 1 12328 #define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 3 12329 #define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags" 12330 12331 typedef enum VkValidationCheckEXT { 12332 VK_VALIDATION_CHECK_ALL_EXT = 0, 12333 VK_VALIDATION_CHECK_SHADERS_EXT = 1, 12334 VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF 12335 } VkValidationCheckEXT; 12336 typedef struct VkValidationFlagsEXT { 12337 VkStructureType sType; 12338 const void* pNext; 12339 uint32_t disabledValidationCheckCount; 12340 const VkValidationCheckEXT* pDisabledValidationChecks; 12341 } VkValidationFlagsEXT; 12342 12343 12344 12345 // VK_EXT_shader_subgroup_ballot is a preprocessor guard. Do not pass it to API calls. 12346 #define VK_EXT_shader_subgroup_ballot 1 12347 #define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1 12348 #define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot" 12349 12350 12351 // VK_EXT_shader_subgroup_vote is a preprocessor guard. Do not pass it to API calls. 12352 #define VK_EXT_shader_subgroup_vote 1 12353 #define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1 12354 #define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote" 12355 12356 12357 // VK_EXT_texture_compression_astc_hdr is a preprocessor guard. Do not pass it to API calls. 12358 #define VK_EXT_texture_compression_astc_hdr 1 12359 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1 12360 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr" 12361 typedef VkPhysicalDeviceTextureCompressionASTCHDRFeatures VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT; 12362 12363 12364 12365 // VK_EXT_astc_decode_mode is a preprocessor guard. Do not pass it to API calls. 12366 #define VK_EXT_astc_decode_mode 1 12367 #define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1 12368 #define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode" 12369 typedef struct VkImageViewASTCDecodeModeEXT { 12370 VkStructureType sType; 12371 const void* pNext; 12372 VkFormat decodeMode; 12373 } VkImageViewASTCDecodeModeEXT; 12374 12375 typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT { 12376 VkStructureType sType; 12377 void* pNext; 12378 VkBool32 decodeModeSharedExponent; 12379 } VkPhysicalDeviceASTCDecodeFeaturesEXT; 12380 12381 12382 12383 // VK_EXT_pipeline_robustness is a preprocessor guard. Do not pass it to API calls. 12384 #define VK_EXT_pipeline_robustness 1 12385 #define VK_EXT_PIPELINE_ROBUSTNESS_SPEC_VERSION 1 12386 #define VK_EXT_PIPELINE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_pipeline_robustness" 12387 12388 typedef enum VkPipelineRobustnessBufferBehaviorEXT { 12389 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT_EXT = 0, 12390 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED_EXT = 1, 12391 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT = 2, 12392 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT = 3, 12393 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_MAX_ENUM_EXT = 0x7FFFFFFF 12394 } VkPipelineRobustnessBufferBehaviorEXT; 12395 12396 typedef enum VkPipelineRobustnessImageBehaviorEXT { 12397 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DEVICE_DEFAULT_EXT = 0, 12398 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DISABLED_EXT = 1, 12399 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_EXT = 2, 12400 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_2_EXT = 3, 12401 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_MAX_ENUM_EXT = 0x7FFFFFFF 12402 } VkPipelineRobustnessImageBehaviorEXT; 12403 typedef struct VkPhysicalDevicePipelineRobustnessFeaturesEXT { 12404 VkStructureType sType; 12405 void* pNext; 12406 VkBool32 pipelineRobustness; 12407 } VkPhysicalDevicePipelineRobustnessFeaturesEXT; 12408 12409 typedef struct VkPhysicalDevicePipelineRobustnessPropertiesEXT { 12410 VkStructureType sType; 12411 void* pNext; 12412 VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessStorageBuffers; 12413 VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessUniformBuffers; 12414 VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessVertexInputs; 12415 VkPipelineRobustnessImageBehaviorEXT defaultRobustnessImages; 12416 } VkPhysicalDevicePipelineRobustnessPropertiesEXT; 12417 12418 typedef struct VkPipelineRobustnessCreateInfoEXT { 12419 VkStructureType sType; 12420 const void* pNext; 12421 VkPipelineRobustnessBufferBehaviorEXT storageBuffers; 12422 VkPipelineRobustnessBufferBehaviorEXT uniformBuffers; 12423 VkPipelineRobustnessBufferBehaviorEXT vertexInputs; 12424 VkPipelineRobustnessImageBehaviorEXT images; 12425 } VkPipelineRobustnessCreateInfoEXT; 12426 12427 12428 12429 // VK_EXT_conditional_rendering is a preprocessor guard. Do not pass it to API calls. 12430 #define VK_EXT_conditional_rendering 1 12431 #define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 2 12432 #define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering" 12433 12434 typedef enum VkConditionalRenderingFlagBitsEXT { 12435 VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 0x00000001, 12436 VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 12437 } VkConditionalRenderingFlagBitsEXT; 12438 typedef VkFlags VkConditionalRenderingFlagsEXT; 12439 typedef struct VkConditionalRenderingBeginInfoEXT { 12440 VkStructureType sType; 12441 const void* pNext; 12442 VkBuffer buffer; 12443 VkDeviceSize offset; 12444 VkConditionalRenderingFlagsEXT flags; 12445 } VkConditionalRenderingBeginInfoEXT; 12446 12447 typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT { 12448 VkStructureType sType; 12449 void* pNext; 12450 VkBool32 conditionalRendering; 12451 VkBool32 inheritedConditionalRendering; 12452 } VkPhysicalDeviceConditionalRenderingFeaturesEXT; 12453 12454 typedef struct VkCommandBufferInheritanceConditionalRenderingInfoEXT { 12455 VkStructureType sType; 12456 const void* pNext; 12457 VkBool32 conditionalRenderingEnable; 12458 } VkCommandBufferInheritanceConditionalRenderingInfoEXT; 12459 12460 typedef void (VKAPI_PTR *PFN_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin); 12461 typedef void (VKAPI_PTR *PFN_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer commandBuffer); 12462 12463 #ifndef VK_NO_PROTOTYPES 12464 VKAPI_ATTR void VKAPI_CALL vkCmdBeginConditionalRenderingEXT( 12465 VkCommandBuffer commandBuffer, 12466 const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin); 12467 12468 VKAPI_ATTR void VKAPI_CALL vkCmdEndConditionalRenderingEXT( 12469 VkCommandBuffer commandBuffer); 12470 #endif 12471 12472 12473 // VK_NV_clip_space_w_scaling is a preprocessor guard. Do not pass it to API calls. 12474 #define VK_NV_clip_space_w_scaling 1 12475 #define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1 12476 #define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling" 12477 typedef struct VkViewportWScalingNV { 12478 float xcoeff; 12479 float ycoeff; 12480 } VkViewportWScalingNV; 12481 12482 typedef struct VkPipelineViewportWScalingStateCreateInfoNV { 12483 VkStructureType sType; 12484 const void* pNext; 12485 VkBool32 viewportWScalingEnable; 12486 uint32_t viewportCount; 12487 const VkViewportWScalingNV* pViewportWScalings; 12488 } VkPipelineViewportWScalingStateCreateInfoNV; 12489 12490 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportWScalingNV* pViewportWScalings); 12491 12492 #ifndef VK_NO_PROTOTYPES 12493 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingNV( 12494 VkCommandBuffer commandBuffer, 12495 uint32_t firstViewport, 12496 uint32_t viewportCount, 12497 const VkViewportWScalingNV* pViewportWScalings); 12498 #endif 12499 12500 12501 // VK_EXT_direct_mode_display is a preprocessor guard. Do not pass it to API calls. 12502 #define VK_EXT_direct_mode_display 1 12503 #define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1 12504 #define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display" 12505 typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display); 12506 12507 #ifndef VK_NO_PROTOTYPES 12508 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT( 12509 VkPhysicalDevice physicalDevice, 12510 VkDisplayKHR display); 12511 #endif 12512 12513 12514 // VK_EXT_display_surface_counter is a preprocessor guard. Do not pass it to API calls. 12515 #define VK_EXT_display_surface_counter 1 12516 #define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1 12517 #define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter" 12518 12519 typedef enum VkSurfaceCounterFlagBitsEXT { 12520 VK_SURFACE_COUNTER_VBLANK_BIT_EXT = 0x00000001, 12521 VK_SURFACE_COUNTER_VBLANK_EXT = VK_SURFACE_COUNTER_VBLANK_BIT_EXT, 12522 VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 12523 } VkSurfaceCounterFlagBitsEXT; 12524 typedef VkFlags VkSurfaceCounterFlagsEXT; 12525 typedef struct VkSurfaceCapabilities2EXT { 12526 VkStructureType sType; 12527 void* pNext; 12528 uint32_t minImageCount; 12529 uint32_t maxImageCount; 12530 VkExtent2D currentExtent; 12531 VkExtent2D minImageExtent; 12532 VkExtent2D maxImageExtent; 12533 uint32_t maxImageArrayLayers; 12534 VkSurfaceTransformFlagsKHR supportedTransforms; 12535 VkSurfaceTransformFlagBitsKHR currentTransform; 12536 VkCompositeAlphaFlagsKHR supportedCompositeAlpha; 12537 VkImageUsageFlags supportedUsageFlags; 12538 VkSurfaceCounterFlagsEXT supportedSurfaceCounters; 12539 } VkSurfaceCapabilities2EXT; 12540 12541 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities); 12542 12543 #ifndef VK_NO_PROTOTYPES 12544 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT( 12545 VkPhysicalDevice physicalDevice, 12546 VkSurfaceKHR surface, 12547 VkSurfaceCapabilities2EXT* pSurfaceCapabilities); 12548 #endif 12549 12550 12551 // VK_EXT_display_control is a preprocessor guard. Do not pass it to API calls. 12552 #define VK_EXT_display_control 1 12553 #define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1 12554 #define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control" 12555 12556 typedef enum VkDisplayPowerStateEXT { 12557 VK_DISPLAY_POWER_STATE_OFF_EXT = 0, 12558 VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1, 12559 VK_DISPLAY_POWER_STATE_ON_EXT = 2, 12560 VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF 12561 } VkDisplayPowerStateEXT; 12562 12563 typedef enum VkDeviceEventTypeEXT { 12564 VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0, 12565 VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 12566 } VkDeviceEventTypeEXT; 12567 12568 typedef enum VkDisplayEventTypeEXT { 12569 VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0, 12570 VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 12571 } VkDisplayEventTypeEXT; 12572 typedef struct VkDisplayPowerInfoEXT { 12573 VkStructureType sType; 12574 const void* pNext; 12575 VkDisplayPowerStateEXT powerState; 12576 } VkDisplayPowerInfoEXT; 12577 12578 typedef struct VkDeviceEventInfoEXT { 12579 VkStructureType sType; 12580 const void* pNext; 12581 VkDeviceEventTypeEXT deviceEvent; 12582 } VkDeviceEventInfoEXT; 12583 12584 typedef struct VkDisplayEventInfoEXT { 12585 VkStructureType sType; 12586 const void* pNext; 12587 VkDisplayEventTypeEXT displayEvent; 12588 } VkDisplayEventInfoEXT; 12589 12590 typedef struct VkSwapchainCounterCreateInfoEXT { 12591 VkStructureType sType; 12592 const void* pNext; 12593 VkSurfaceCounterFlagsEXT surfaceCounters; 12594 } VkSwapchainCounterCreateInfoEXT; 12595 12596 typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo); 12597 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); 12598 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); 12599 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue); 12600 12601 #ifndef VK_NO_PROTOTYPES 12602 VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT( 12603 VkDevice device, 12604 VkDisplayKHR display, 12605 const VkDisplayPowerInfoEXT* pDisplayPowerInfo); 12606 12607 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT( 12608 VkDevice device, 12609 const VkDeviceEventInfoEXT* pDeviceEventInfo, 12610 const VkAllocationCallbacks* pAllocator, 12611 VkFence* pFence); 12612 12613 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT( 12614 VkDevice device, 12615 VkDisplayKHR display, 12616 const VkDisplayEventInfoEXT* pDisplayEventInfo, 12617 const VkAllocationCallbacks* pAllocator, 12618 VkFence* pFence); 12619 12620 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT( 12621 VkDevice device, 12622 VkSwapchainKHR swapchain, 12623 VkSurfaceCounterFlagBitsEXT counter, 12624 uint64_t* pCounterValue); 12625 #endif 12626 12627 12628 // VK_GOOGLE_display_timing is a preprocessor guard. Do not pass it to API calls. 12629 #define VK_GOOGLE_display_timing 1 12630 #define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1 12631 #define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing" 12632 typedef struct VkRefreshCycleDurationGOOGLE { 12633 uint64_t refreshDuration; 12634 } VkRefreshCycleDurationGOOGLE; 12635 12636 typedef struct VkPastPresentationTimingGOOGLE { 12637 uint32_t presentID; 12638 uint64_t desiredPresentTime; 12639 uint64_t actualPresentTime; 12640 uint64_t earliestPresentTime; 12641 uint64_t presentMargin; 12642 } VkPastPresentationTimingGOOGLE; 12643 12644 typedef struct VkPresentTimeGOOGLE { 12645 uint32_t presentID; 12646 uint64_t desiredPresentTime; 12647 } VkPresentTimeGOOGLE; 12648 12649 typedef struct VkPresentTimesInfoGOOGLE { 12650 VkStructureType sType; 12651 const void* pNext; 12652 uint32_t swapchainCount; 12653 const VkPresentTimeGOOGLE* pTimes; 12654 } VkPresentTimesInfoGOOGLE; 12655 12656 typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties); 12657 typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings); 12658 12659 #ifndef VK_NO_PROTOTYPES 12660 VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE( 12661 VkDevice device, 12662 VkSwapchainKHR swapchain, 12663 VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties); 12664 12665 VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE( 12666 VkDevice device, 12667 VkSwapchainKHR swapchain, 12668 uint32_t* pPresentationTimingCount, 12669 VkPastPresentationTimingGOOGLE* pPresentationTimings); 12670 #endif 12671 12672 12673 // VK_NV_sample_mask_override_coverage is a preprocessor guard. Do not pass it to API calls. 12674 #define VK_NV_sample_mask_override_coverage 1 12675 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1 12676 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage" 12677 12678 12679 // VK_NV_geometry_shader_passthrough is a preprocessor guard. Do not pass it to API calls. 12680 #define VK_NV_geometry_shader_passthrough 1 12681 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1 12682 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough" 12683 12684 12685 // VK_NV_viewport_array2 is a preprocessor guard. Do not pass it to API calls. 12686 #define VK_NV_viewport_array2 1 12687 #define VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION 1 12688 #define VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME "VK_NV_viewport_array2" 12689 #define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION 12690 #define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME 12691 12692 12693 // VK_NVX_multiview_per_view_attributes is a preprocessor guard. Do not pass it to API calls. 12694 #define VK_NVX_multiview_per_view_attributes 1 12695 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1 12696 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes" 12697 typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX { 12698 VkStructureType sType; 12699 void* pNext; 12700 VkBool32 perViewPositionAllComponents; 12701 } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX; 12702 12703 12704 12705 // VK_NV_viewport_swizzle is a preprocessor guard. Do not pass it to API calls. 12706 #define VK_NV_viewport_swizzle 1 12707 #define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1 12708 #define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle" 12709 12710 typedef enum VkViewportCoordinateSwizzleNV { 12711 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0, 12712 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1, 12713 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2, 12714 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3, 12715 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4, 12716 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5, 12717 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6, 12718 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7, 12719 VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF 12720 } VkViewportCoordinateSwizzleNV; 12721 typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV; 12722 typedef struct VkViewportSwizzleNV { 12723 VkViewportCoordinateSwizzleNV x; 12724 VkViewportCoordinateSwizzleNV y; 12725 VkViewportCoordinateSwizzleNV z; 12726 VkViewportCoordinateSwizzleNV w; 12727 } VkViewportSwizzleNV; 12728 12729 typedef struct VkPipelineViewportSwizzleStateCreateInfoNV { 12730 VkStructureType sType; 12731 const void* pNext; 12732 VkPipelineViewportSwizzleStateCreateFlagsNV flags; 12733 uint32_t viewportCount; 12734 const VkViewportSwizzleNV* pViewportSwizzles; 12735 } VkPipelineViewportSwizzleStateCreateInfoNV; 12736 12737 12738 12739 // VK_EXT_discard_rectangles is a preprocessor guard. Do not pass it to API calls. 12740 #define VK_EXT_discard_rectangles 1 12741 #define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 2 12742 #define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles" 12743 12744 typedef enum VkDiscardRectangleModeEXT { 12745 VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0, 12746 VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1, 12747 VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 12748 } VkDiscardRectangleModeEXT; 12749 typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT; 12750 typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT { 12751 VkStructureType sType; 12752 void* pNext; 12753 uint32_t maxDiscardRectangles; 12754 } VkPhysicalDeviceDiscardRectanglePropertiesEXT; 12755 12756 typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT { 12757 VkStructureType sType; 12758 const void* pNext; 12759 VkPipelineDiscardRectangleStateCreateFlagsEXT flags; 12760 VkDiscardRectangleModeEXT discardRectangleMode; 12761 uint32_t discardRectangleCount; 12762 const VkRect2D* pDiscardRectangles; 12763 } VkPipelineDiscardRectangleStateCreateInfoEXT; 12764 12765 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D* pDiscardRectangles); 12766 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 discardRectangleEnable); 12767 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleModeEXT)(VkCommandBuffer commandBuffer, VkDiscardRectangleModeEXT discardRectangleMode); 12768 12769 #ifndef VK_NO_PROTOTYPES 12770 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT( 12771 VkCommandBuffer commandBuffer, 12772 uint32_t firstDiscardRectangle, 12773 uint32_t discardRectangleCount, 12774 const VkRect2D* pDiscardRectangles); 12775 12776 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEnableEXT( 12777 VkCommandBuffer commandBuffer, 12778 VkBool32 discardRectangleEnable); 12779 12780 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleModeEXT( 12781 VkCommandBuffer commandBuffer, 12782 VkDiscardRectangleModeEXT discardRectangleMode); 12783 #endif 12784 12785 12786 // VK_EXT_conservative_rasterization is a preprocessor guard. Do not pass it to API calls. 12787 #define VK_EXT_conservative_rasterization 1 12788 #define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1 12789 #define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization" 12790 12791 typedef enum VkConservativeRasterizationModeEXT { 12792 VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0, 12793 VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1, 12794 VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2, 12795 VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 12796 } VkConservativeRasterizationModeEXT; 12797 typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT; 12798 typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT { 12799 VkStructureType sType; 12800 void* pNext; 12801 float primitiveOverestimationSize; 12802 float maxExtraPrimitiveOverestimationSize; 12803 float extraPrimitiveOverestimationSizeGranularity; 12804 VkBool32 primitiveUnderestimation; 12805 VkBool32 conservativePointAndLineRasterization; 12806 VkBool32 degenerateTrianglesRasterized; 12807 VkBool32 degenerateLinesRasterized; 12808 VkBool32 fullyCoveredFragmentShaderInputVariable; 12809 VkBool32 conservativeRasterizationPostDepthCoverage; 12810 } VkPhysicalDeviceConservativeRasterizationPropertiesEXT; 12811 12812 typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT { 12813 VkStructureType sType; 12814 const void* pNext; 12815 VkPipelineRasterizationConservativeStateCreateFlagsEXT flags; 12816 VkConservativeRasterizationModeEXT conservativeRasterizationMode; 12817 float extraPrimitiveOverestimationSize; 12818 } VkPipelineRasterizationConservativeStateCreateInfoEXT; 12819 12820 12821 12822 // VK_EXT_depth_clip_enable is a preprocessor guard. Do not pass it to API calls. 12823 #define VK_EXT_depth_clip_enable 1 12824 #define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1 12825 #define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable" 12826 typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT; 12827 typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT { 12828 VkStructureType sType; 12829 void* pNext; 12830 VkBool32 depthClipEnable; 12831 } VkPhysicalDeviceDepthClipEnableFeaturesEXT; 12832 12833 typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT { 12834 VkStructureType sType; 12835 const void* pNext; 12836 VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags; 12837 VkBool32 depthClipEnable; 12838 } VkPipelineRasterizationDepthClipStateCreateInfoEXT; 12839 12840 12841 12842 // VK_EXT_swapchain_colorspace is a preprocessor guard. Do not pass it to API calls. 12843 #define VK_EXT_swapchain_colorspace 1 12844 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 4 12845 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace" 12846 12847 12848 // VK_EXT_hdr_metadata is a preprocessor guard. Do not pass it to API calls. 12849 #define VK_EXT_hdr_metadata 1 12850 #define VK_EXT_HDR_METADATA_SPEC_VERSION 2 12851 #define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata" 12852 typedef struct VkXYColorEXT { 12853 float x; 12854 float y; 12855 } VkXYColorEXT; 12856 12857 typedef struct VkHdrMetadataEXT { 12858 VkStructureType sType; 12859 const void* pNext; 12860 VkXYColorEXT displayPrimaryRed; 12861 VkXYColorEXT displayPrimaryGreen; 12862 VkXYColorEXT displayPrimaryBlue; 12863 VkXYColorEXT whitePoint; 12864 float maxLuminance; 12865 float minLuminance; 12866 float maxContentLightLevel; 12867 float maxFrameAverageLightLevel; 12868 } VkHdrMetadataEXT; 12869 12870 typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, uint32_t swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata); 12871 12872 #ifndef VK_NO_PROTOTYPES 12873 VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT( 12874 VkDevice device, 12875 uint32_t swapchainCount, 12876 const VkSwapchainKHR* pSwapchains, 12877 const VkHdrMetadataEXT* pMetadata); 12878 #endif 12879 12880 12881 // VK_IMG_relaxed_line_rasterization is a preprocessor guard. Do not pass it to API calls. 12882 #define VK_IMG_relaxed_line_rasterization 1 12883 #define VK_IMG_RELAXED_LINE_RASTERIZATION_SPEC_VERSION 1 12884 #define VK_IMG_RELAXED_LINE_RASTERIZATION_EXTENSION_NAME "VK_IMG_relaxed_line_rasterization" 12885 typedef struct VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG { 12886 VkStructureType sType; 12887 void* pNext; 12888 VkBool32 relaxedLineRasterization; 12889 } VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG; 12890 12891 12892 12893 // VK_EXT_external_memory_dma_buf is a preprocessor guard. Do not pass it to API calls. 12894 #define VK_EXT_external_memory_dma_buf 1 12895 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1 12896 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf" 12897 12898 12899 // VK_EXT_queue_family_foreign is a preprocessor guard. Do not pass it to API calls. 12900 #define VK_EXT_queue_family_foreign 1 12901 #define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1 12902 #define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign" 12903 #define VK_QUEUE_FAMILY_FOREIGN_EXT (~2U) 12904 12905 12906 // VK_EXT_debug_utils is a preprocessor guard. Do not pass it to API calls. 12907 #define VK_EXT_debug_utils 1 12908 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT) 12909 #define VK_EXT_DEBUG_UTILS_SPEC_VERSION 2 12910 #define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils" 12911 typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT; 12912 12913 typedef enum VkDebugUtilsMessageSeverityFlagBitsEXT { 12914 VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001, 12915 VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010, 12916 VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100, 12917 VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000, 12918 VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 12919 } VkDebugUtilsMessageSeverityFlagBitsEXT; 12920 12921 typedef enum VkDebugUtilsMessageTypeFlagBitsEXT { 12922 VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001, 12923 VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002, 12924 VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004, 12925 VK_DEBUG_UTILS_MESSAGE_TYPE_DEVICE_ADDRESS_BINDING_BIT_EXT = 0x00000008, 12926 VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 12927 } VkDebugUtilsMessageTypeFlagBitsEXT; 12928 typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT; 12929 typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT; 12930 typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT; 12931 typedef struct VkDebugUtilsLabelEXT { 12932 VkStructureType sType; 12933 const void* pNext; 12934 const char* pLabelName; 12935 float color[4]; 12936 } VkDebugUtilsLabelEXT; 12937 12938 typedef struct VkDebugUtilsObjectNameInfoEXT { 12939 VkStructureType sType; 12940 const void* pNext; 12941 VkObjectType objectType; 12942 uint64_t objectHandle; 12943 const char* pObjectName; 12944 } VkDebugUtilsObjectNameInfoEXT; 12945 12946 typedef struct VkDebugUtilsMessengerCallbackDataEXT { 12947 VkStructureType sType; 12948 const void* pNext; 12949 VkDebugUtilsMessengerCallbackDataFlagsEXT flags; 12950 const char* pMessageIdName; 12951 int32_t messageIdNumber; 12952 const char* pMessage; 12953 uint32_t queueLabelCount; 12954 const VkDebugUtilsLabelEXT* pQueueLabels; 12955 uint32_t cmdBufLabelCount; 12956 const VkDebugUtilsLabelEXT* pCmdBufLabels; 12957 uint32_t objectCount; 12958 const VkDebugUtilsObjectNameInfoEXT* pObjects; 12959 } VkDebugUtilsMessengerCallbackDataEXT; 12960 12961 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)( 12962 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, 12963 VkDebugUtilsMessageTypeFlagsEXT messageTypes, 12964 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData, 12965 void* pUserData); 12966 12967 typedef struct VkDebugUtilsMessengerCreateInfoEXT { 12968 VkStructureType sType; 12969 const void* pNext; 12970 VkDebugUtilsMessengerCreateFlagsEXT flags; 12971 VkDebugUtilsMessageSeverityFlagsEXT messageSeverity; 12972 VkDebugUtilsMessageTypeFlagsEXT messageType; 12973 PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback; 12974 void* pUserData; 12975 } VkDebugUtilsMessengerCreateInfoEXT; 12976 12977 typedef struct VkDebugUtilsObjectTagInfoEXT { 12978 VkStructureType sType; 12979 const void* pNext; 12980 VkObjectType objectType; 12981 uint64_t objectHandle; 12982 uint64_t tagName; 12983 size_t tagSize; 12984 const void* pTag; 12985 } VkDebugUtilsObjectTagInfoEXT; 12986 12987 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo); 12988 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo); 12989 typedef void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo); 12990 typedef void (VKAPI_PTR *PFN_vkQueueEndDebugUtilsLabelEXT)(VkQueue queue); 12991 typedef void (VKAPI_PTR *PFN_vkQueueInsertDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo); 12992 typedef void (VKAPI_PTR *PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo); 12993 typedef void (VKAPI_PTR *PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer); 12994 typedef void (VKAPI_PTR *PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo); 12995 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger); 12996 typedef void (VKAPI_PTR *PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator); 12997 typedef void (VKAPI_PTR *PFN_vkSubmitDebugUtilsMessageEXT)(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData); 12998 12999 #ifndef VK_NO_PROTOTYPES 13000 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectNameEXT( 13001 VkDevice device, 13002 const VkDebugUtilsObjectNameInfoEXT* pNameInfo); 13003 13004 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectTagEXT( 13005 VkDevice device, 13006 const VkDebugUtilsObjectTagInfoEXT* pTagInfo); 13007 13008 VKAPI_ATTR void VKAPI_CALL vkQueueBeginDebugUtilsLabelEXT( 13009 VkQueue queue, 13010 const VkDebugUtilsLabelEXT* pLabelInfo); 13011 13012 VKAPI_ATTR void VKAPI_CALL vkQueueEndDebugUtilsLabelEXT( 13013 VkQueue queue); 13014 13015 VKAPI_ATTR void VKAPI_CALL vkQueueInsertDebugUtilsLabelEXT( 13016 VkQueue queue, 13017 const VkDebugUtilsLabelEXT* pLabelInfo); 13018 13019 VKAPI_ATTR void VKAPI_CALL vkCmdBeginDebugUtilsLabelEXT( 13020 VkCommandBuffer commandBuffer, 13021 const VkDebugUtilsLabelEXT* pLabelInfo); 13022 13023 VKAPI_ATTR void VKAPI_CALL vkCmdEndDebugUtilsLabelEXT( 13024 VkCommandBuffer commandBuffer); 13025 13026 VKAPI_ATTR void VKAPI_CALL vkCmdInsertDebugUtilsLabelEXT( 13027 VkCommandBuffer commandBuffer, 13028 const VkDebugUtilsLabelEXT* pLabelInfo); 13029 13030 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT( 13031 VkInstance instance, 13032 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, 13033 const VkAllocationCallbacks* pAllocator, 13034 VkDebugUtilsMessengerEXT* pMessenger); 13035 13036 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT( 13037 VkInstance instance, 13038 VkDebugUtilsMessengerEXT messenger, 13039 const VkAllocationCallbacks* pAllocator); 13040 13041 VKAPI_ATTR void VKAPI_CALL vkSubmitDebugUtilsMessageEXT( 13042 VkInstance instance, 13043 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, 13044 VkDebugUtilsMessageTypeFlagsEXT messageTypes, 13045 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData); 13046 #endif 13047 13048 13049 // VK_EXT_sampler_filter_minmax is a preprocessor guard. Do not pass it to API calls. 13050 #define VK_EXT_sampler_filter_minmax 1 13051 #define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 2 13052 #define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax" 13053 typedef VkSamplerReductionMode VkSamplerReductionModeEXT; 13054 13055 typedef VkSamplerReductionModeCreateInfo VkSamplerReductionModeCreateInfoEXT; 13056 13057 typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT; 13058 13059 13060 13061 // VK_AMD_gpu_shader_int16 is a preprocessor guard. Do not pass it to API calls. 13062 #define VK_AMD_gpu_shader_int16 1 13063 #define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 2 13064 #define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16" 13065 13066 13067 // VK_AMD_mixed_attachment_samples is a preprocessor guard. Do not pass it to API calls. 13068 #define VK_AMD_mixed_attachment_samples 1 13069 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1 13070 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples" 13071 13072 13073 // VK_AMD_shader_fragment_mask is a preprocessor guard. Do not pass it to API calls. 13074 #define VK_AMD_shader_fragment_mask 1 13075 #define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1 13076 #define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask" 13077 13078 13079 // VK_EXT_inline_uniform_block is a preprocessor guard. Do not pass it to API calls. 13080 #define VK_EXT_inline_uniform_block 1 13081 #define VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION 1 13082 #define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block" 13083 typedef VkPhysicalDeviceInlineUniformBlockFeatures VkPhysicalDeviceInlineUniformBlockFeaturesEXT; 13084 13085 typedef VkPhysicalDeviceInlineUniformBlockProperties VkPhysicalDeviceInlineUniformBlockPropertiesEXT; 13086 13087 typedef VkWriteDescriptorSetInlineUniformBlock VkWriteDescriptorSetInlineUniformBlockEXT; 13088 13089 typedef VkDescriptorPoolInlineUniformBlockCreateInfo VkDescriptorPoolInlineUniformBlockCreateInfoEXT; 13090 13091 13092 13093 // VK_EXT_shader_stencil_export is a preprocessor guard. Do not pass it to API calls. 13094 #define VK_EXT_shader_stencil_export 1 13095 #define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1 13096 #define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export" 13097 13098 13099 // VK_EXT_sample_locations is a preprocessor guard. Do not pass it to API calls. 13100 #define VK_EXT_sample_locations 1 13101 #define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1 13102 #define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations" 13103 typedef struct VkSampleLocationEXT { 13104 float x; 13105 float y; 13106 } VkSampleLocationEXT; 13107 13108 typedef struct VkSampleLocationsInfoEXT { 13109 VkStructureType sType; 13110 const void* pNext; 13111 VkSampleCountFlagBits sampleLocationsPerPixel; 13112 VkExtent2D sampleLocationGridSize; 13113 uint32_t sampleLocationsCount; 13114 const VkSampleLocationEXT* pSampleLocations; 13115 } VkSampleLocationsInfoEXT; 13116 13117 typedef struct VkAttachmentSampleLocationsEXT { 13118 uint32_t attachmentIndex; 13119 VkSampleLocationsInfoEXT sampleLocationsInfo; 13120 } VkAttachmentSampleLocationsEXT; 13121 13122 typedef struct VkSubpassSampleLocationsEXT { 13123 uint32_t subpassIndex; 13124 VkSampleLocationsInfoEXT sampleLocationsInfo; 13125 } VkSubpassSampleLocationsEXT; 13126 13127 typedef struct VkRenderPassSampleLocationsBeginInfoEXT { 13128 VkStructureType sType; 13129 const void* pNext; 13130 uint32_t attachmentInitialSampleLocationsCount; 13131 const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations; 13132 uint32_t postSubpassSampleLocationsCount; 13133 const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations; 13134 } VkRenderPassSampleLocationsBeginInfoEXT; 13135 13136 typedef struct VkPipelineSampleLocationsStateCreateInfoEXT { 13137 VkStructureType sType; 13138 const void* pNext; 13139 VkBool32 sampleLocationsEnable; 13140 VkSampleLocationsInfoEXT sampleLocationsInfo; 13141 } VkPipelineSampleLocationsStateCreateInfoEXT; 13142 13143 typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT { 13144 VkStructureType sType; 13145 void* pNext; 13146 VkSampleCountFlags sampleLocationSampleCounts; 13147 VkExtent2D maxSampleLocationGridSize; 13148 float sampleLocationCoordinateRange[2]; 13149 uint32_t sampleLocationSubPixelBits; 13150 VkBool32 variableSampleLocations; 13151 } VkPhysicalDeviceSampleLocationsPropertiesEXT; 13152 13153 typedef struct VkMultisamplePropertiesEXT { 13154 VkStructureType sType; 13155 void* pNext; 13156 VkExtent2D maxSampleLocationGridSize; 13157 } VkMultisamplePropertiesEXT; 13158 13159 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo); 13160 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties); 13161 13162 #ifndef VK_NO_PROTOTYPES 13163 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEXT( 13164 VkCommandBuffer commandBuffer, 13165 const VkSampleLocationsInfoEXT* pSampleLocationsInfo); 13166 13167 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT( 13168 VkPhysicalDevice physicalDevice, 13169 VkSampleCountFlagBits samples, 13170 VkMultisamplePropertiesEXT* pMultisampleProperties); 13171 #endif 13172 13173 13174 // VK_EXT_blend_operation_advanced is a preprocessor guard. Do not pass it to API calls. 13175 #define VK_EXT_blend_operation_advanced 1 13176 #define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2 13177 #define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced" 13178 13179 typedef enum VkBlendOverlapEXT { 13180 VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0, 13181 VK_BLEND_OVERLAP_DISJOINT_EXT = 1, 13182 VK_BLEND_OVERLAP_CONJOINT_EXT = 2, 13183 VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF 13184 } VkBlendOverlapEXT; 13185 typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT { 13186 VkStructureType sType; 13187 void* pNext; 13188 VkBool32 advancedBlendCoherentOperations; 13189 } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT; 13190 13191 typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT { 13192 VkStructureType sType; 13193 void* pNext; 13194 uint32_t advancedBlendMaxColorAttachments; 13195 VkBool32 advancedBlendIndependentBlend; 13196 VkBool32 advancedBlendNonPremultipliedSrcColor; 13197 VkBool32 advancedBlendNonPremultipliedDstColor; 13198 VkBool32 advancedBlendCorrelatedOverlap; 13199 VkBool32 advancedBlendAllOperations; 13200 } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT; 13201 13202 typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT { 13203 VkStructureType sType; 13204 const void* pNext; 13205 VkBool32 srcPremultiplied; 13206 VkBool32 dstPremultiplied; 13207 VkBlendOverlapEXT blendOverlap; 13208 } VkPipelineColorBlendAdvancedStateCreateInfoEXT; 13209 13210 13211 13212 // VK_NV_fragment_coverage_to_color is a preprocessor guard. Do not pass it to API calls. 13213 #define VK_NV_fragment_coverage_to_color 1 13214 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1 13215 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color" 13216 typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV; 13217 typedef struct VkPipelineCoverageToColorStateCreateInfoNV { 13218 VkStructureType sType; 13219 const void* pNext; 13220 VkPipelineCoverageToColorStateCreateFlagsNV flags; 13221 VkBool32 coverageToColorEnable; 13222 uint32_t coverageToColorLocation; 13223 } VkPipelineCoverageToColorStateCreateInfoNV; 13224 13225 13226 13227 // VK_NV_framebuffer_mixed_samples is a preprocessor guard. Do not pass it to API calls. 13228 #define VK_NV_framebuffer_mixed_samples 1 13229 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1 13230 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples" 13231 13232 typedef enum VkCoverageModulationModeNV { 13233 VK_COVERAGE_MODULATION_MODE_NONE_NV = 0, 13234 VK_COVERAGE_MODULATION_MODE_RGB_NV = 1, 13235 VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2, 13236 VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3, 13237 VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF 13238 } VkCoverageModulationModeNV; 13239 typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV; 13240 typedef struct VkPipelineCoverageModulationStateCreateInfoNV { 13241 VkStructureType sType; 13242 const void* pNext; 13243 VkPipelineCoverageModulationStateCreateFlagsNV flags; 13244 VkCoverageModulationModeNV coverageModulationMode; 13245 VkBool32 coverageModulationTableEnable; 13246 uint32_t coverageModulationTableCount; 13247 const float* pCoverageModulationTable; 13248 } VkPipelineCoverageModulationStateCreateInfoNV; 13249 13250 13251 13252 // VK_NV_fill_rectangle is a preprocessor guard. Do not pass it to API calls. 13253 #define VK_NV_fill_rectangle 1 13254 #define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1 13255 #define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle" 13256 13257 13258 // VK_NV_shader_sm_builtins is a preprocessor guard. Do not pass it to API calls. 13259 #define VK_NV_shader_sm_builtins 1 13260 #define VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION 1 13261 #define VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME "VK_NV_shader_sm_builtins" 13262 typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV { 13263 VkStructureType sType; 13264 void* pNext; 13265 uint32_t shaderSMCount; 13266 uint32_t shaderWarpsPerSM; 13267 } VkPhysicalDeviceShaderSMBuiltinsPropertiesNV; 13268 13269 typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV { 13270 VkStructureType sType; 13271 void* pNext; 13272 VkBool32 shaderSMBuiltins; 13273 } VkPhysicalDeviceShaderSMBuiltinsFeaturesNV; 13274 13275 13276 13277 // VK_EXT_post_depth_coverage is a preprocessor guard. Do not pass it to API calls. 13278 #define VK_EXT_post_depth_coverage 1 13279 #define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1 13280 #define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage" 13281 13282 13283 // VK_EXT_image_drm_format_modifier is a preprocessor guard. Do not pass it to API calls. 13284 #define VK_EXT_image_drm_format_modifier 1 13285 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION 2 13286 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME "VK_EXT_image_drm_format_modifier" 13287 typedef struct VkDrmFormatModifierPropertiesEXT { 13288 uint64_t drmFormatModifier; 13289 uint32_t drmFormatModifierPlaneCount; 13290 VkFormatFeatureFlags drmFormatModifierTilingFeatures; 13291 } VkDrmFormatModifierPropertiesEXT; 13292 13293 typedef struct VkDrmFormatModifierPropertiesListEXT { 13294 VkStructureType sType; 13295 void* pNext; 13296 uint32_t drmFormatModifierCount; 13297 VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties; 13298 } VkDrmFormatModifierPropertiesListEXT; 13299 13300 typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT { 13301 VkStructureType sType; 13302 const void* pNext; 13303 uint64_t drmFormatModifier; 13304 VkSharingMode sharingMode; 13305 uint32_t queueFamilyIndexCount; 13306 const uint32_t* pQueueFamilyIndices; 13307 } VkPhysicalDeviceImageDrmFormatModifierInfoEXT; 13308 13309 typedef struct VkImageDrmFormatModifierListCreateInfoEXT { 13310 VkStructureType sType; 13311 const void* pNext; 13312 uint32_t drmFormatModifierCount; 13313 const uint64_t* pDrmFormatModifiers; 13314 } VkImageDrmFormatModifierListCreateInfoEXT; 13315 13316 typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT { 13317 VkStructureType sType; 13318 const void* pNext; 13319 uint64_t drmFormatModifier; 13320 uint32_t drmFormatModifierPlaneCount; 13321 const VkSubresourceLayout* pPlaneLayouts; 13322 } VkImageDrmFormatModifierExplicitCreateInfoEXT; 13323 13324 typedef struct VkImageDrmFormatModifierPropertiesEXT { 13325 VkStructureType sType; 13326 void* pNext; 13327 uint64_t drmFormatModifier; 13328 } VkImageDrmFormatModifierPropertiesEXT; 13329 13330 typedef struct VkDrmFormatModifierProperties2EXT { 13331 uint64_t drmFormatModifier; 13332 uint32_t drmFormatModifierPlaneCount; 13333 VkFormatFeatureFlags2 drmFormatModifierTilingFeatures; 13334 } VkDrmFormatModifierProperties2EXT; 13335 13336 typedef struct VkDrmFormatModifierPropertiesList2EXT { 13337 VkStructureType sType; 13338 void* pNext; 13339 uint32_t drmFormatModifierCount; 13340 VkDrmFormatModifierProperties2EXT* pDrmFormatModifierProperties; 13341 } VkDrmFormatModifierPropertiesList2EXT; 13342 13343 typedef VkResult (VKAPI_PTR *PFN_vkGetImageDrmFormatModifierPropertiesEXT)(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties); 13344 13345 #ifndef VK_NO_PROTOTYPES 13346 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageDrmFormatModifierPropertiesEXT( 13347 VkDevice device, 13348 VkImage image, 13349 VkImageDrmFormatModifierPropertiesEXT* pProperties); 13350 #endif 13351 13352 13353 // VK_EXT_validation_cache is a preprocessor guard. Do not pass it to API calls. 13354 #define VK_EXT_validation_cache 1 13355 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT) 13356 #define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1 13357 #define VK_EXT_VALIDATION_CACHE_EXTENSION_NAME "VK_EXT_validation_cache" 13358 13359 typedef enum VkValidationCacheHeaderVersionEXT { 13360 VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1, 13361 VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF 13362 } VkValidationCacheHeaderVersionEXT; 13363 typedef VkFlags VkValidationCacheCreateFlagsEXT; 13364 typedef struct VkValidationCacheCreateInfoEXT { 13365 VkStructureType sType; 13366 const void* pNext; 13367 VkValidationCacheCreateFlagsEXT flags; 13368 size_t initialDataSize; 13369 const void* pInitialData; 13370 } VkValidationCacheCreateInfoEXT; 13371 13372 typedef struct VkShaderModuleValidationCacheCreateInfoEXT { 13373 VkStructureType sType; 13374 const void* pNext; 13375 VkValidationCacheEXT validationCache; 13376 } VkShaderModuleValidationCacheCreateInfoEXT; 13377 13378 typedef VkResult (VKAPI_PTR *PFN_vkCreateValidationCacheEXT)(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache); 13379 typedef void (VKAPI_PTR *PFN_vkDestroyValidationCacheEXT)(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator); 13380 typedef VkResult (VKAPI_PTR *PFN_vkMergeValidationCachesEXT)(VkDevice device, VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const VkValidationCacheEXT* pSrcCaches); 13381 typedef VkResult (VKAPI_PTR *PFN_vkGetValidationCacheDataEXT)(VkDevice device, VkValidationCacheEXT validationCache, size_t* pDataSize, void* pData); 13382 13383 #ifndef VK_NO_PROTOTYPES 13384 VKAPI_ATTR VkResult VKAPI_CALL vkCreateValidationCacheEXT( 13385 VkDevice device, 13386 const VkValidationCacheCreateInfoEXT* pCreateInfo, 13387 const VkAllocationCallbacks* pAllocator, 13388 VkValidationCacheEXT* pValidationCache); 13389 13390 VKAPI_ATTR void VKAPI_CALL vkDestroyValidationCacheEXT( 13391 VkDevice device, 13392 VkValidationCacheEXT validationCache, 13393 const VkAllocationCallbacks* pAllocator); 13394 13395 VKAPI_ATTR VkResult VKAPI_CALL vkMergeValidationCachesEXT( 13396 VkDevice device, 13397 VkValidationCacheEXT dstCache, 13398 uint32_t srcCacheCount, 13399 const VkValidationCacheEXT* pSrcCaches); 13400 13401 VKAPI_ATTR VkResult VKAPI_CALL vkGetValidationCacheDataEXT( 13402 VkDevice device, 13403 VkValidationCacheEXT validationCache, 13404 size_t* pDataSize, 13405 void* pData); 13406 #endif 13407 13408 13409 // VK_EXT_descriptor_indexing is a preprocessor guard. Do not pass it to API calls. 13410 #define VK_EXT_descriptor_indexing 1 13411 #define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2 13412 #define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing" 13413 typedef VkDescriptorBindingFlagBits VkDescriptorBindingFlagBitsEXT; 13414 13415 typedef VkDescriptorBindingFlags VkDescriptorBindingFlagsEXT; 13416 13417 typedef VkDescriptorSetLayoutBindingFlagsCreateInfo VkDescriptorSetLayoutBindingFlagsCreateInfoEXT; 13418 13419 typedef VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeaturesEXT; 13420 13421 typedef VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingPropertiesEXT; 13422 13423 typedef VkDescriptorSetVariableDescriptorCountAllocateInfo VkDescriptorSetVariableDescriptorCountAllocateInfoEXT; 13424 13425 typedef VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupportEXT; 13426 13427 13428 13429 // VK_EXT_shader_viewport_index_layer is a preprocessor guard. Do not pass it to API calls. 13430 #define VK_EXT_shader_viewport_index_layer 1 13431 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1 13432 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer" 13433 13434 13435 // VK_NV_shading_rate_image is a preprocessor guard. Do not pass it to API calls. 13436 #define VK_NV_shading_rate_image 1 13437 #define VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION 3 13438 #define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image" 13439 13440 typedef enum VkShadingRatePaletteEntryNV { 13441 VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV = 0, 13442 VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV = 1, 13443 VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV = 2, 13444 VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV = 3, 13445 VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV = 4, 13446 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV = 5, 13447 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV = 6, 13448 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV = 7, 13449 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV = 8, 13450 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = 9, 13451 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = 10, 13452 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = 11, 13453 VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV = 0x7FFFFFFF 13454 } VkShadingRatePaletteEntryNV; 13455 13456 typedef enum VkCoarseSampleOrderTypeNV { 13457 VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = 0, 13458 VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = 1, 13459 VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = 2, 13460 VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3, 13461 VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 13462 } VkCoarseSampleOrderTypeNV; 13463 typedef struct VkShadingRatePaletteNV { 13464 uint32_t shadingRatePaletteEntryCount; 13465 const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries; 13466 } VkShadingRatePaletteNV; 13467 13468 typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV { 13469 VkStructureType sType; 13470 const void* pNext; 13471 VkBool32 shadingRateImageEnable; 13472 uint32_t viewportCount; 13473 const VkShadingRatePaletteNV* pShadingRatePalettes; 13474 } VkPipelineViewportShadingRateImageStateCreateInfoNV; 13475 13476 typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV { 13477 VkStructureType sType; 13478 void* pNext; 13479 VkBool32 shadingRateImage; 13480 VkBool32 shadingRateCoarseSampleOrder; 13481 } VkPhysicalDeviceShadingRateImageFeaturesNV; 13482 13483 typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV { 13484 VkStructureType sType; 13485 void* pNext; 13486 VkExtent2D shadingRateTexelSize; 13487 uint32_t shadingRatePaletteSize; 13488 uint32_t shadingRateMaxCoarseSamples; 13489 } VkPhysicalDeviceShadingRateImagePropertiesNV; 13490 13491 typedef struct VkCoarseSampleLocationNV { 13492 uint32_t pixelX; 13493 uint32_t pixelY; 13494 uint32_t sample; 13495 } VkCoarseSampleLocationNV; 13496 13497 typedef struct VkCoarseSampleOrderCustomNV { 13498 VkShadingRatePaletteEntryNV shadingRate; 13499 uint32_t sampleCount; 13500 uint32_t sampleLocationCount; 13501 const VkCoarseSampleLocationNV* pSampleLocations; 13502 } VkCoarseSampleOrderCustomNV; 13503 13504 typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV { 13505 VkStructureType sType; 13506 const void* pNext; 13507 VkCoarseSampleOrderTypeNV sampleOrderType; 13508 uint32_t customSampleOrderCount; 13509 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders; 13510 } VkPipelineViewportCoarseSampleOrderStateCreateInfoNV; 13511 13512 typedef void (VKAPI_PTR *PFN_vkCmdBindShadingRateImageNV)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout); 13513 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportShadingRatePaletteNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes); 13514 typedef void (VKAPI_PTR *PFN_vkCmdSetCoarseSampleOrderNV)(VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, uint32_t customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders); 13515 13516 #ifndef VK_NO_PROTOTYPES 13517 VKAPI_ATTR void VKAPI_CALL vkCmdBindShadingRateImageNV( 13518 VkCommandBuffer commandBuffer, 13519 VkImageView imageView, 13520 VkImageLayout imageLayout); 13521 13522 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportShadingRatePaletteNV( 13523 VkCommandBuffer commandBuffer, 13524 uint32_t firstViewport, 13525 uint32_t viewportCount, 13526 const VkShadingRatePaletteNV* pShadingRatePalettes); 13527 13528 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoarseSampleOrderNV( 13529 VkCommandBuffer commandBuffer, 13530 VkCoarseSampleOrderTypeNV sampleOrderType, 13531 uint32_t customSampleOrderCount, 13532 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders); 13533 #endif 13534 13535 13536 // VK_NV_ray_tracing is a preprocessor guard. Do not pass it to API calls. 13537 #define VK_NV_ray_tracing 1 13538 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV) 13539 #define VK_NV_RAY_TRACING_SPEC_VERSION 3 13540 #define VK_NV_RAY_TRACING_EXTENSION_NAME "VK_NV_ray_tracing" 13541 #define VK_SHADER_UNUSED_KHR (~0U) 13542 #define VK_SHADER_UNUSED_NV VK_SHADER_UNUSED_KHR 13543 13544 typedef enum VkRayTracingShaderGroupTypeKHR { 13545 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR = 0, 13546 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR = 1, 13547 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR = 2, 13548 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR, 13549 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR, 13550 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR, 13551 VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 13552 } VkRayTracingShaderGroupTypeKHR; 13553 typedef VkRayTracingShaderGroupTypeKHR VkRayTracingShaderGroupTypeNV; 13554 13555 13556 typedef enum VkGeometryTypeKHR { 13557 VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0, 13558 VK_GEOMETRY_TYPE_AABBS_KHR = 1, 13559 VK_GEOMETRY_TYPE_INSTANCES_KHR = 2, 13560 VK_GEOMETRY_TYPE_TRIANGLES_NV = VK_GEOMETRY_TYPE_TRIANGLES_KHR, 13561 VK_GEOMETRY_TYPE_AABBS_NV = VK_GEOMETRY_TYPE_AABBS_KHR, 13562 VK_GEOMETRY_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 13563 } VkGeometryTypeKHR; 13564 typedef VkGeometryTypeKHR VkGeometryTypeNV; 13565 13566 13567 typedef enum VkAccelerationStructureTypeKHR { 13568 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR = 0, 13569 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR = 1, 13570 VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR = 2, 13571 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR, 13572 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR, 13573 VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 13574 } VkAccelerationStructureTypeKHR; 13575 typedef VkAccelerationStructureTypeKHR VkAccelerationStructureTypeNV; 13576 13577 13578 typedef enum VkCopyAccelerationStructureModeKHR { 13579 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR = 0, 13580 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR = 1, 13581 VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR = 2, 13582 VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR = 3, 13583 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR, 13584 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR, 13585 VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 13586 } VkCopyAccelerationStructureModeKHR; 13587 typedef VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeNV; 13588 13589 13590 typedef enum VkAccelerationStructureMemoryRequirementsTypeNV { 13591 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = 0, 13592 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = 1, 13593 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = 2, 13594 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 13595 } VkAccelerationStructureMemoryRequirementsTypeNV; 13596 13597 typedef enum VkGeometryFlagBitsKHR { 13598 VK_GEOMETRY_OPAQUE_BIT_KHR = 0x00000001, 13599 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR = 0x00000002, 13600 VK_GEOMETRY_OPAQUE_BIT_NV = VK_GEOMETRY_OPAQUE_BIT_KHR, 13601 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV = VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR, 13602 VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 13603 } VkGeometryFlagBitsKHR; 13604 typedef VkFlags VkGeometryFlagsKHR; 13605 typedef VkGeometryFlagsKHR VkGeometryFlagsNV; 13606 13607 typedef VkGeometryFlagBitsKHR VkGeometryFlagBitsNV; 13608 13609 13610 typedef enum VkGeometryInstanceFlagBitsKHR { 13611 VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 0x00000001, 13612 VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR = 0x00000002, 13613 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 0x00000004, 13614 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 0x00000008, 13615 VK_GEOMETRY_INSTANCE_FORCE_OPACITY_MICROMAP_2_STATE_EXT = 0x00000010, 13616 VK_GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_EXT = 0x00000020, 13617 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR, 13618 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR, 13619 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR, 13620 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR, 13621 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR, 13622 VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 13623 } VkGeometryInstanceFlagBitsKHR; 13624 typedef VkFlags VkGeometryInstanceFlagsKHR; 13625 typedef VkGeometryInstanceFlagsKHR VkGeometryInstanceFlagsNV; 13626 13627 typedef VkGeometryInstanceFlagBitsKHR VkGeometryInstanceFlagBitsNV; 13628 13629 13630 typedef enum VkBuildAccelerationStructureFlagBitsKHR { 13631 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR = 0x00000001, 13632 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR = 0x00000002, 13633 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 0x00000004, 13634 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 0x00000008, 13635 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 0x00000010, 13636 VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 0x00000020, 13637 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_EXT = 0x00000040, 13638 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_EXT = 0x00000080, 13639 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_DATA_UPDATE_EXT = 0x00000100, 13640 #ifdef VK_ENABLE_BETA_EXTENSIONS 13641 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISPLACEMENT_MICROMAP_UPDATE_NV = 0x00000200, 13642 #endif 13643 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DATA_ACCESS_KHR = 0x00000800, 13644 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR, 13645 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR, 13646 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR, 13647 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR, 13648 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR, 13649 VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 13650 } VkBuildAccelerationStructureFlagBitsKHR; 13651 typedef VkFlags VkBuildAccelerationStructureFlagsKHR; 13652 typedef VkBuildAccelerationStructureFlagsKHR VkBuildAccelerationStructureFlagsNV; 13653 13654 typedef VkBuildAccelerationStructureFlagBitsKHR VkBuildAccelerationStructureFlagBitsNV; 13655 13656 typedef struct VkRayTracingShaderGroupCreateInfoNV { 13657 VkStructureType sType; 13658 const void* pNext; 13659 VkRayTracingShaderGroupTypeKHR type; 13660 uint32_t generalShader; 13661 uint32_t closestHitShader; 13662 uint32_t anyHitShader; 13663 uint32_t intersectionShader; 13664 } VkRayTracingShaderGroupCreateInfoNV; 13665 13666 typedef struct VkRayTracingPipelineCreateInfoNV { 13667 VkStructureType sType; 13668 const void* pNext; 13669 VkPipelineCreateFlags flags; 13670 uint32_t stageCount; 13671 const VkPipelineShaderStageCreateInfo* pStages; 13672 uint32_t groupCount; 13673 const VkRayTracingShaderGroupCreateInfoNV* pGroups; 13674 uint32_t maxRecursionDepth; 13675 VkPipelineLayout layout; 13676 VkPipeline basePipelineHandle; 13677 int32_t basePipelineIndex; 13678 } VkRayTracingPipelineCreateInfoNV; 13679 13680 typedef struct VkGeometryTrianglesNV { 13681 VkStructureType sType; 13682 const void* pNext; 13683 VkBuffer vertexData; 13684 VkDeviceSize vertexOffset; 13685 uint32_t vertexCount; 13686 VkDeviceSize vertexStride; 13687 VkFormat vertexFormat; 13688 VkBuffer indexData; 13689 VkDeviceSize indexOffset; 13690 uint32_t indexCount; 13691 VkIndexType indexType; 13692 VkBuffer transformData; 13693 VkDeviceSize transformOffset; 13694 } VkGeometryTrianglesNV; 13695 13696 typedef struct VkGeometryAABBNV { 13697 VkStructureType sType; 13698 const void* pNext; 13699 VkBuffer aabbData; 13700 uint32_t numAABBs; 13701 uint32_t stride; 13702 VkDeviceSize offset; 13703 } VkGeometryAABBNV; 13704 13705 typedef struct VkGeometryDataNV { 13706 VkGeometryTrianglesNV triangles; 13707 VkGeometryAABBNV aabbs; 13708 } VkGeometryDataNV; 13709 13710 typedef struct VkGeometryNV { 13711 VkStructureType sType; 13712 const void* pNext; 13713 VkGeometryTypeKHR geometryType; 13714 VkGeometryDataNV geometry; 13715 VkGeometryFlagsKHR flags; 13716 } VkGeometryNV; 13717 13718 typedef struct VkAccelerationStructureInfoNV { 13719 VkStructureType sType; 13720 const void* pNext; 13721 VkAccelerationStructureTypeNV type; 13722 VkBuildAccelerationStructureFlagsNV flags; 13723 uint32_t instanceCount; 13724 uint32_t geometryCount; 13725 const VkGeometryNV* pGeometries; 13726 } VkAccelerationStructureInfoNV; 13727 13728 typedef struct VkAccelerationStructureCreateInfoNV { 13729 VkStructureType sType; 13730 const void* pNext; 13731 VkDeviceSize compactedSize; 13732 VkAccelerationStructureInfoNV info; 13733 } VkAccelerationStructureCreateInfoNV; 13734 13735 typedef struct VkBindAccelerationStructureMemoryInfoNV { 13736 VkStructureType sType; 13737 const void* pNext; 13738 VkAccelerationStructureNV accelerationStructure; 13739 VkDeviceMemory memory; 13740 VkDeviceSize memoryOffset; 13741 uint32_t deviceIndexCount; 13742 const uint32_t* pDeviceIndices; 13743 } VkBindAccelerationStructureMemoryInfoNV; 13744 13745 typedef struct VkWriteDescriptorSetAccelerationStructureNV { 13746 VkStructureType sType; 13747 const void* pNext; 13748 uint32_t accelerationStructureCount; 13749 const VkAccelerationStructureNV* pAccelerationStructures; 13750 } VkWriteDescriptorSetAccelerationStructureNV; 13751 13752 typedef struct VkAccelerationStructureMemoryRequirementsInfoNV { 13753 VkStructureType sType; 13754 const void* pNext; 13755 VkAccelerationStructureMemoryRequirementsTypeNV type; 13756 VkAccelerationStructureNV accelerationStructure; 13757 } VkAccelerationStructureMemoryRequirementsInfoNV; 13758 13759 typedef struct VkPhysicalDeviceRayTracingPropertiesNV { 13760 VkStructureType sType; 13761 void* pNext; 13762 uint32_t shaderGroupHandleSize; 13763 uint32_t maxRecursionDepth; 13764 uint32_t maxShaderGroupStride; 13765 uint32_t shaderGroupBaseAlignment; 13766 uint64_t maxGeometryCount; 13767 uint64_t maxInstanceCount; 13768 uint64_t maxTriangleCount; 13769 uint32_t maxDescriptorSetAccelerationStructures; 13770 } VkPhysicalDeviceRayTracingPropertiesNV; 13771 13772 typedef struct VkTransformMatrixKHR { 13773 float matrix[3][4]; 13774 } VkTransformMatrixKHR; 13775 13776 typedef VkTransformMatrixKHR VkTransformMatrixNV; 13777 13778 typedef struct VkAabbPositionsKHR { 13779 float minX; 13780 float minY; 13781 float minZ; 13782 float maxX; 13783 float maxY; 13784 float maxZ; 13785 } VkAabbPositionsKHR; 13786 13787 typedef VkAabbPositionsKHR VkAabbPositionsNV; 13788 13789 typedef struct VkAccelerationStructureInstanceKHR { 13790 VkTransformMatrixKHR transform; 13791 uint32_t instanceCustomIndex:24; 13792 uint32_t mask:8; 13793 uint32_t instanceShaderBindingTableRecordOffset:24; 13794 VkGeometryInstanceFlagsKHR flags:8; 13795 uint64_t accelerationStructureReference; 13796 } VkAccelerationStructureInstanceKHR; 13797 13798 typedef VkAccelerationStructureInstanceKHR VkAccelerationStructureInstanceNV; 13799 13800 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureNV)(VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure); 13801 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator); 13802 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsNV)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements); 13803 typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryNV)(VkDevice device, uint32_t bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos); 13804 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); 13805 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNV)(VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode); 13806 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); 13807 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesNV)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 13808 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData); 13809 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesNV)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData); 13810 typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, size_t dataSize, void* pData); 13811 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesNV)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery); 13812 typedef VkResult (VKAPI_PTR *PFN_vkCompileDeferredNV)(VkDevice device, VkPipeline pipeline, uint32_t shader); 13813 13814 #ifndef VK_NO_PROTOTYPES 13815 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureNV( 13816 VkDevice device, 13817 const VkAccelerationStructureCreateInfoNV* pCreateInfo, 13818 const VkAllocationCallbacks* pAllocator, 13819 VkAccelerationStructureNV* pAccelerationStructure); 13820 13821 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureNV( 13822 VkDevice device, 13823 VkAccelerationStructureNV accelerationStructure, 13824 const VkAllocationCallbacks* pAllocator); 13825 13826 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsNV( 13827 VkDevice device, 13828 const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, 13829 VkMemoryRequirements2KHR* pMemoryRequirements); 13830 13831 VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryNV( 13832 VkDevice device, 13833 uint32_t bindInfoCount, 13834 const VkBindAccelerationStructureMemoryInfoNV* pBindInfos); 13835 13836 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureNV( 13837 VkCommandBuffer commandBuffer, 13838 const VkAccelerationStructureInfoNV* pInfo, 13839 VkBuffer instanceData, 13840 VkDeviceSize instanceOffset, 13841 VkBool32 update, 13842 VkAccelerationStructureNV dst, 13843 VkAccelerationStructureNV src, 13844 VkBuffer scratch, 13845 VkDeviceSize scratchOffset); 13846 13847 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureNV( 13848 VkCommandBuffer commandBuffer, 13849 VkAccelerationStructureNV dst, 13850 VkAccelerationStructureNV src, 13851 VkCopyAccelerationStructureModeKHR mode); 13852 13853 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysNV( 13854 VkCommandBuffer commandBuffer, 13855 VkBuffer raygenShaderBindingTableBuffer, 13856 VkDeviceSize raygenShaderBindingOffset, 13857 VkBuffer missShaderBindingTableBuffer, 13858 VkDeviceSize missShaderBindingOffset, 13859 VkDeviceSize missShaderBindingStride, 13860 VkBuffer hitShaderBindingTableBuffer, 13861 VkDeviceSize hitShaderBindingOffset, 13862 VkDeviceSize hitShaderBindingStride, 13863 VkBuffer callableShaderBindingTableBuffer, 13864 VkDeviceSize callableShaderBindingOffset, 13865 VkDeviceSize callableShaderBindingStride, 13866 uint32_t width, 13867 uint32_t height, 13868 uint32_t depth); 13869 13870 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesNV( 13871 VkDevice device, 13872 VkPipelineCache pipelineCache, 13873 uint32_t createInfoCount, 13874 const VkRayTracingPipelineCreateInfoNV* pCreateInfos, 13875 const VkAllocationCallbacks* pAllocator, 13876 VkPipeline* pPipelines); 13877 13878 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesKHR( 13879 VkDevice device, 13880 VkPipeline pipeline, 13881 uint32_t firstGroup, 13882 uint32_t groupCount, 13883 size_t dataSize, 13884 void* pData); 13885 13886 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesNV( 13887 VkDevice device, 13888 VkPipeline pipeline, 13889 uint32_t firstGroup, 13890 uint32_t groupCount, 13891 size_t dataSize, 13892 void* pData); 13893 13894 VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureHandleNV( 13895 VkDevice device, 13896 VkAccelerationStructureNV accelerationStructure, 13897 size_t dataSize, 13898 void* pData); 13899 13900 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesNV( 13901 VkCommandBuffer commandBuffer, 13902 uint32_t accelerationStructureCount, 13903 const VkAccelerationStructureNV* pAccelerationStructures, 13904 VkQueryType queryType, 13905 VkQueryPool queryPool, 13906 uint32_t firstQuery); 13907 13908 VKAPI_ATTR VkResult VKAPI_CALL vkCompileDeferredNV( 13909 VkDevice device, 13910 VkPipeline pipeline, 13911 uint32_t shader); 13912 #endif 13913 13914 13915 // VK_NV_representative_fragment_test is a preprocessor guard. Do not pass it to API calls. 13916 #define VK_NV_representative_fragment_test 1 13917 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 2 13918 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test" 13919 typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV { 13920 VkStructureType sType; 13921 void* pNext; 13922 VkBool32 representativeFragmentTest; 13923 } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV; 13924 13925 typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV { 13926 VkStructureType sType; 13927 const void* pNext; 13928 VkBool32 representativeFragmentTestEnable; 13929 } VkPipelineRepresentativeFragmentTestStateCreateInfoNV; 13930 13931 13932 13933 // VK_EXT_filter_cubic is a preprocessor guard. Do not pass it to API calls. 13934 #define VK_EXT_filter_cubic 1 13935 #define VK_EXT_FILTER_CUBIC_SPEC_VERSION 3 13936 #define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic" 13937 typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT { 13938 VkStructureType sType; 13939 void* pNext; 13940 VkImageViewType imageViewType; 13941 } VkPhysicalDeviceImageViewImageFormatInfoEXT; 13942 13943 typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT { 13944 VkStructureType sType; 13945 void* pNext; 13946 VkBool32 filterCubic; 13947 VkBool32 filterCubicMinmax; 13948 } VkFilterCubicImageViewImageFormatPropertiesEXT; 13949 13950 13951 13952 // VK_QCOM_render_pass_shader_resolve is a preprocessor guard. Do not pass it to API calls. 13953 #define VK_QCOM_render_pass_shader_resolve 1 13954 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION 4 13955 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME "VK_QCOM_render_pass_shader_resolve" 13956 13957 13958 // VK_EXT_global_priority is a preprocessor guard. Do not pass it to API calls. 13959 #define VK_EXT_global_priority 1 13960 #define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2 13961 #define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority" 13962 typedef VkQueueGlobalPriorityKHR VkQueueGlobalPriorityEXT; 13963 13964 typedef VkDeviceQueueGlobalPriorityCreateInfoKHR VkDeviceQueueGlobalPriorityCreateInfoEXT; 13965 13966 13967 13968 // VK_EXT_external_memory_host is a preprocessor guard. Do not pass it to API calls. 13969 #define VK_EXT_external_memory_host 1 13970 #define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1 13971 #define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host" 13972 typedef struct VkImportMemoryHostPointerInfoEXT { 13973 VkStructureType sType; 13974 const void* pNext; 13975 VkExternalMemoryHandleTypeFlagBits handleType; 13976 void* pHostPointer; 13977 } VkImportMemoryHostPointerInfoEXT; 13978 13979 typedef struct VkMemoryHostPointerPropertiesEXT { 13980 VkStructureType sType; 13981 void* pNext; 13982 uint32_t memoryTypeBits; 13983 } VkMemoryHostPointerPropertiesEXT; 13984 13985 typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT { 13986 VkStructureType sType; 13987 void* pNext; 13988 VkDeviceSize minImportedHostPointerAlignment; 13989 } VkPhysicalDeviceExternalMemoryHostPropertiesEXT; 13990 13991 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties); 13992 13993 #ifndef VK_NO_PROTOTYPES 13994 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT( 13995 VkDevice device, 13996 VkExternalMemoryHandleTypeFlagBits handleType, 13997 const void* pHostPointer, 13998 VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties); 13999 #endif 14000 14001 14002 // VK_AMD_buffer_marker is a preprocessor guard. Do not pass it to API calls. 14003 #define VK_AMD_buffer_marker 1 14004 #define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1 14005 #define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker" 14006 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker); 14007 14008 #ifndef VK_NO_PROTOTYPES 14009 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD( 14010 VkCommandBuffer commandBuffer, 14011 VkPipelineStageFlagBits pipelineStage, 14012 VkBuffer dstBuffer, 14013 VkDeviceSize dstOffset, 14014 uint32_t marker); 14015 #endif 14016 14017 14018 // VK_AMD_pipeline_compiler_control is a preprocessor guard. Do not pass it to API calls. 14019 #define VK_AMD_pipeline_compiler_control 1 14020 #define VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION 1 14021 #define VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME "VK_AMD_pipeline_compiler_control" 14022 14023 typedef enum VkPipelineCompilerControlFlagBitsAMD { 14024 VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF 14025 } VkPipelineCompilerControlFlagBitsAMD; 14026 typedef VkFlags VkPipelineCompilerControlFlagsAMD; 14027 typedef struct VkPipelineCompilerControlCreateInfoAMD { 14028 VkStructureType sType; 14029 const void* pNext; 14030 VkPipelineCompilerControlFlagsAMD compilerControlFlags; 14031 } VkPipelineCompilerControlCreateInfoAMD; 14032 14033 14034 14035 // VK_EXT_calibrated_timestamps is a preprocessor guard. Do not pass it to API calls. 14036 #define VK_EXT_calibrated_timestamps 1 14037 #define VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION 2 14038 #define VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_EXT_calibrated_timestamps" 14039 typedef VkTimeDomainKHR VkTimeDomainEXT; 14040 14041 typedef VkCalibratedTimestampInfoKHR VkCalibratedTimestampInfoEXT; 14042 14043 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainKHR* pTimeDomains); 14044 typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoKHR* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation); 14045 14046 #ifndef VK_NO_PROTOTYPES 14047 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( 14048 VkPhysicalDevice physicalDevice, 14049 uint32_t* pTimeDomainCount, 14050 VkTimeDomainKHR* pTimeDomains); 14051 14052 VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsEXT( 14053 VkDevice device, 14054 uint32_t timestampCount, 14055 const VkCalibratedTimestampInfoKHR* pTimestampInfos, 14056 uint64_t* pTimestamps, 14057 uint64_t* pMaxDeviation); 14058 #endif 14059 14060 14061 // VK_AMD_shader_core_properties is a preprocessor guard. Do not pass it to API calls. 14062 #define VK_AMD_shader_core_properties 1 14063 #define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 2 14064 #define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties" 14065 typedef struct VkPhysicalDeviceShaderCorePropertiesAMD { 14066 VkStructureType sType; 14067 void* pNext; 14068 uint32_t shaderEngineCount; 14069 uint32_t shaderArraysPerEngineCount; 14070 uint32_t computeUnitsPerShaderArray; 14071 uint32_t simdPerComputeUnit; 14072 uint32_t wavefrontsPerSimd; 14073 uint32_t wavefrontSize; 14074 uint32_t sgprsPerSimd; 14075 uint32_t minSgprAllocation; 14076 uint32_t maxSgprAllocation; 14077 uint32_t sgprAllocationGranularity; 14078 uint32_t vgprsPerSimd; 14079 uint32_t minVgprAllocation; 14080 uint32_t maxVgprAllocation; 14081 uint32_t vgprAllocationGranularity; 14082 } VkPhysicalDeviceShaderCorePropertiesAMD; 14083 14084 14085 14086 // VK_AMD_memory_overallocation_behavior is a preprocessor guard. Do not pass it to API calls. 14087 #define VK_AMD_memory_overallocation_behavior 1 14088 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION 1 14089 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME "VK_AMD_memory_overallocation_behavior" 14090 14091 typedef enum VkMemoryOverallocationBehaviorAMD { 14092 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0, 14093 VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD = 1, 14094 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD = 2, 14095 VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD = 0x7FFFFFFF 14096 } VkMemoryOverallocationBehaviorAMD; 14097 typedef struct VkDeviceMemoryOverallocationCreateInfoAMD { 14098 VkStructureType sType; 14099 const void* pNext; 14100 VkMemoryOverallocationBehaviorAMD overallocationBehavior; 14101 } VkDeviceMemoryOverallocationCreateInfoAMD; 14102 14103 14104 14105 // VK_EXT_vertex_attribute_divisor is a preprocessor guard. Do not pass it to API calls. 14106 #define VK_EXT_vertex_attribute_divisor 1 14107 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3 14108 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor" 14109 typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT { 14110 VkStructureType sType; 14111 void* pNext; 14112 uint32_t maxVertexAttribDivisor; 14113 } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT; 14114 14115 typedef VkVertexInputBindingDivisorDescriptionKHR VkVertexInputBindingDivisorDescriptionEXT; 14116 14117 typedef VkPipelineVertexInputDivisorStateCreateInfoKHR VkPipelineVertexInputDivisorStateCreateInfoEXT; 14118 14119 typedef VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT; 14120 14121 14122 14123 // VK_EXT_pipeline_creation_feedback is a preprocessor guard. Do not pass it to API calls. 14124 #define VK_EXT_pipeline_creation_feedback 1 14125 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION 1 14126 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME "VK_EXT_pipeline_creation_feedback" 14127 typedef VkPipelineCreationFeedbackFlagBits VkPipelineCreationFeedbackFlagBitsEXT; 14128 14129 typedef VkPipelineCreationFeedbackFlags VkPipelineCreationFeedbackFlagsEXT; 14130 14131 typedef VkPipelineCreationFeedbackCreateInfo VkPipelineCreationFeedbackCreateInfoEXT; 14132 14133 typedef VkPipelineCreationFeedback VkPipelineCreationFeedbackEXT; 14134 14135 14136 14137 // VK_NV_shader_subgroup_partitioned is a preprocessor guard. Do not pass it to API calls. 14138 #define VK_NV_shader_subgroup_partitioned 1 14139 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1 14140 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned" 14141 14142 14143 // VK_NV_compute_shader_derivatives is a preprocessor guard. Do not pass it to API calls. 14144 #define VK_NV_compute_shader_derivatives 1 14145 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1 14146 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives" 14147 typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV { 14148 VkStructureType sType; 14149 void* pNext; 14150 VkBool32 computeDerivativeGroupQuads; 14151 VkBool32 computeDerivativeGroupLinear; 14152 } VkPhysicalDeviceComputeShaderDerivativesFeaturesNV; 14153 14154 14155 14156 // VK_NV_mesh_shader is a preprocessor guard. Do not pass it to API calls. 14157 #define VK_NV_mesh_shader 1 14158 #define VK_NV_MESH_SHADER_SPEC_VERSION 1 14159 #define VK_NV_MESH_SHADER_EXTENSION_NAME "VK_NV_mesh_shader" 14160 typedef struct VkPhysicalDeviceMeshShaderFeaturesNV { 14161 VkStructureType sType; 14162 void* pNext; 14163 VkBool32 taskShader; 14164 VkBool32 meshShader; 14165 } VkPhysicalDeviceMeshShaderFeaturesNV; 14166 14167 typedef struct VkPhysicalDeviceMeshShaderPropertiesNV { 14168 VkStructureType sType; 14169 void* pNext; 14170 uint32_t maxDrawMeshTasksCount; 14171 uint32_t maxTaskWorkGroupInvocations; 14172 uint32_t maxTaskWorkGroupSize[3]; 14173 uint32_t maxTaskTotalMemorySize; 14174 uint32_t maxTaskOutputCount; 14175 uint32_t maxMeshWorkGroupInvocations; 14176 uint32_t maxMeshWorkGroupSize[3]; 14177 uint32_t maxMeshTotalMemorySize; 14178 uint32_t maxMeshOutputVertices; 14179 uint32_t maxMeshOutputPrimitives; 14180 uint32_t maxMeshMultiviewViewCount; 14181 uint32_t meshOutputPerVertexGranularity; 14182 uint32_t meshOutputPerPrimitiveGranularity; 14183 } VkPhysicalDeviceMeshShaderPropertiesNV; 14184 14185 typedef struct VkDrawMeshTasksIndirectCommandNV { 14186 uint32_t taskCount; 14187 uint32_t firstTask; 14188 } VkDrawMeshTasksIndirectCommandNV; 14189 14190 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksNV)(VkCommandBuffer commandBuffer, uint32_t taskCount, uint32_t firstTask); 14191 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); 14192 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 14193 14194 #ifndef VK_NO_PROTOTYPES 14195 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksNV( 14196 VkCommandBuffer commandBuffer, 14197 uint32_t taskCount, 14198 uint32_t firstTask); 14199 14200 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectNV( 14201 VkCommandBuffer commandBuffer, 14202 VkBuffer buffer, 14203 VkDeviceSize offset, 14204 uint32_t drawCount, 14205 uint32_t stride); 14206 14207 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountNV( 14208 VkCommandBuffer commandBuffer, 14209 VkBuffer buffer, 14210 VkDeviceSize offset, 14211 VkBuffer countBuffer, 14212 VkDeviceSize countBufferOffset, 14213 uint32_t maxDrawCount, 14214 uint32_t stride); 14215 #endif 14216 14217 14218 // VK_NV_fragment_shader_barycentric is a preprocessor guard. Do not pass it to API calls. 14219 #define VK_NV_fragment_shader_barycentric 1 14220 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1 14221 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric" 14222 typedef VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV; 14223 14224 14225 14226 // VK_NV_shader_image_footprint is a preprocessor guard. Do not pass it to API calls. 14227 #define VK_NV_shader_image_footprint 1 14228 #define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 2 14229 #define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint" 14230 typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV { 14231 VkStructureType sType; 14232 void* pNext; 14233 VkBool32 imageFootprint; 14234 } VkPhysicalDeviceShaderImageFootprintFeaturesNV; 14235 14236 14237 14238 // VK_NV_scissor_exclusive is a preprocessor guard. Do not pass it to API calls. 14239 #define VK_NV_scissor_exclusive 1 14240 #define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 2 14241 #define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive" 14242 typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV { 14243 VkStructureType sType; 14244 const void* pNext; 14245 uint32_t exclusiveScissorCount; 14246 const VkRect2D* pExclusiveScissors; 14247 } VkPipelineViewportExclusiveScissorStateCreateInfoNV; 14248 14249 typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV { 14250 VkStructureType sType; 14251 void* pNext; 14252 VkBool32 exclusiveScissor; 14253 } VkPhysicalDeviceExclusiveScissorFeaturesNV; 14254 14255 typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorEnableNV)(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkBool32* pExclusiveScissorEnables); 14256 typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkRect2D* pExclusiveScissors); 14257 14258 #ifndef VK_NO_PROTOTYPES 14259 VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorEnableNV( 14260 VkCommandBuffer commandBuffer, 14261 uint32_t firstExclusiveScissor, 14262 uint32_t exclusiveScissorCount, 14263 const VkBool32* pExclusiveScissorEnables); 14264 14265 VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorNV( 14266 VkCommandBuffer commandBuffer, 14267 uint32_t firstExclusiveScissor, 14268 uint32_t exclusiveScissorCount, 14269 const VkRect2D* pExclusiveScissors); 14270 #endif 14271 14272 14273 // VK_NV_device_diagnostic_checkpoints is a preprocessor guard. Do not pass it to API calls. 14274 #define VK_NV_device_diagnostic_checkpoints 1 14275 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2 14276 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints" 14277 typedef struct VkQueueFamilyCheckpointPropertiesNV { 14278 VkStructureType sType; 14279 void* pNext; 14280 VkPipelineStageFlags checkpointExecutionStageMask; 14281 } VkQueueFamilyCheckpointPropertiesNV; 14282 14283 typedef struct VkCheckpointDataNV { 14284 VkStructureType sType; 14285 void* pNext; 14286 VkPipelineStageFlagBits stage; 14287 void* pCheckpointMarker; 14288 } VkCheckpointDataNV; 14289 14290 typedef void (VKAPI_PTR *PFN_vkCmdSetCheckpointNV)(VkCommandBuffer commandBuffer, const void* pCheckpointMarker); 14291 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointDataNV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData); 14292 14293 #ifndef VK_NO_PROTOTYPES 14294 VKAPI_ATTR void VKAPI_CALL vkCmdSetCheckpointNV( 14295 VkCommandBuffer commandBuffer, 14296 const void* pCheckpointMarker); 14297 14298 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointDataNV( 14299 VkQueue queue, 14300 uint32_t* pCheckpointDataCount, 14301 VkCheckpointDataNV* pCheckpointData); 14302 #endif 14303 14304 14305 // VK_INTEL_shader_integer_functions2 is a preprocessor guard. Do not pass it to API calls. 14306 #define VK_INTEL_shader_integer_functions2 1 14307 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION 1 14308 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME "VK_INTEL_shader_integer_functions2" 14309 typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL { 14310 VkStructureType sType; 14311 void* pNext; 14312 VkBool32 shaderIntegerFunctions2; 14313 } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL; 14314 14315 14316 14317 // VK_INTEL_performance_query is a preprocessor guard. Do not pass it to API calls. 14318 #define VK_INTEL_performance_query 1 14319 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL) 14320 #define VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION 2 14321 #define VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME "VK_INTEL_performance_query" 14322 14323 typedef enum VkPerformanceConfigurationTypeINTEL { 14324 VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0, 14325 VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF 14326 } VkPerformanceConfigurationTypeINTEL; 14327 14328 typedef enum VkQueryPoolSamplingModeINTEL { 14329 VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0, 14330 VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL = 0x7FFFFFFF 14331 } VkQueryPoolSamplingModeINTEL; 14332 14333 typedef enum VkPerformanceOverrideTypeINTEL { 14334 VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0, 14335 VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1, 14336 VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF 14337 } VkPerformanceOverrideTypeINTEL; 14338 14339 typedef enum VkPerformanceParameterTypeINTEL { 14340 VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0, 14341 VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1, 14342 VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF 14343 } VkPerformanceParameterTypeINTEL; 14344 14345 typedef enum VkPerformanceValueTypeINTEL { 14346 VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0, 14347 VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1, 14348 VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL = 2, 14349 VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL = 3, 14350 VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4, 14351 VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF 14352 } VkPerformanceValueTypeINTEL; 14353 typedef union VkPerformanceValueDataINTEL { 14354 uint32_t value32; 14355 uint64_t value64; 14356 float valueFloat; 14357 VkBool32 valueBool; 14358 const char* valueString; 14359 } VkPerformanceValueDataINTEL; 14360 14361 typedef struct VkPerformanceValueINTEL { 14362 VkPerformanceValueTypeINTEL type; 14363 VkPerformanceValueDataINTEL data; 14364 } VkPerformanceValueINTEL; 14365 14366 typedef struct VkInitializePerformanceApiInfoINTEL { 14367 VkStructureType sType; 14368 const void* pNext; 14369 void* pUserData; 14370 } VkInitializePerformanceApiInfoINTEL; 14371 14372 typedef struct VkQueryPoolPerformanceQueryCreateInfoINTEL { 14373 VkStructureType sType; 14374 const void* pNext; 14375 VkQueryPoolSamplingModeINTEL performanceCountersSampling; 14376 } VkQueryPoolPerformanceQueryCreateInfoINTEL; 14377 14378 typedef VkQueryPoolPerformanceQueryCreateInfoINTEL VkQueryPoolCreateInfoINTEL; 14379 14380 typedef struct VkPerformanceMarkerInfoINTEL { 14381 VkStructureType sType; 14382 const void* pNext; 14383 uint64_t marker; 14384 } VkPerformanceMarkerInfoINTEL; 14385 14386 typedef struct VkPerformanceStreamMarkerInfoINTEL { 14387 VkStructureType sType; 14388 const void* pNext; 14389 uint32_t marker; 14390 } VkPerformanceStreamMarkerInfoINTEL; 14391 14392 typedef struct VkPerformanceOverrideInfoINTEL { 14393 VkStructureType sType; 14394 const void* pNext; 14395 VkPerformanceOverrideTypeINTEL type; 14396 VkBool32 enable; 14397 uint64_t parameter; 14398 } VkPerformanceOverrideInfoINTEL; 14399 14400 typedef struct VkPerformanceConfigurationAcquireInfoINTEL { 14401 VkStructureType sType; 14402 const void* pNext; 14403 VkPerformanceConfigurationTypeINTEL type; 14404 } VkPerformanceConfigurationAcquireInfoINTEL; 14405 14406 typedef VkResult (VKAPI_PTR *PFN_vkInitializePerformanceApiINTEL)(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo); 14407 typedef void (VKAPI_PTR *PFN_vkUninitializePerformanceApiINTEL)(VkDevice device); 14408 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo); 14409 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceStreamMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo); 14410 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceOverrideINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo); 14411 typedef VkResult (VKAPI_PTR *PFN_vkAcquirePerformanceConfigurationINTEL)(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration); 14412 typedef VkResult (VKAPI_PTR *PFN_vkReleasePerformanceConfigurationINTEL)(VkDevice device, VkPerformanceConfigurationINTEL configuration); 14413 typedef VkResult (VKAPI_PTR *PFN_vkQueueSetPerformanceConfigurationINTEL)(VkQueue queue, VkPerformanceConfigurationINTEL configuration); 14414 typedef VkResult (VKAPI_PTR *PFN_vkGetPerformanceParameterINTEL)(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue); 14415 14416 #ifndef VK_NO_PROTOTYPES 14417 VKAPI_ATTR VkResult VKAPI_CALL vkInitializePerformanceApiINTEL( 14418 VkDevice device, 14419 const VkInitializePerformanceApiInfoINTEL* pInitializeInfo); 14420 14421 VKAPI_ATTR void VKAPI_CALL vkUninitializePerformanceApiINTEL( 14422 VkDevice device); 14423 14424 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceMarkerINTEL( 14425 VkCommandBuffer commandBuffer, 14426 const VkPerformanceMarkerInfoINTEL* pMarkerInfo); 14427 14428 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceStreamMarkerINTEL( 14429 VkCommandBuffer commandBuffer, 14430 const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo); 14431 14432 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceOverrideINTEL( 14433 VkCommandBuffer commandBuffer, 14434 const VkPerformanceOverrideInfoINTEL* pOverrideInfo); 14435 14436 VKAPI_ATTR VkResult VKAPI_CALL vkAcquirePerformanceConfigurationINTEL( 14437 VkDevice device, 14438 const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, 14439 VkPerformanceConfigurationINTEL* pConfiguration); 14440 14441 VKAPI_ATTR VkResult VKAPI_CALL vkReleasePerformanceConfigurationINTEL( 14442 VkDevice device, 14443 VkPerformanceConfigurationINTEL configuration); 14444 14445 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSetPerformanceConfigurationINTEL( 14446 VkQueue queue, 14447 VkPerformanceConfigurationINTEL configuration); 14448 14449 VKAPI_ATTR VkResult VKAPI_CALL vkGetPerformanceParameterINTEL( 14450 VkDevice device, 14451 VkPerformanceParameterTypeINTEL parameter, 14452 VkPerformanceValueINTEL* pValue); 14453 #endif 14454 14455 14456 // VK_EXT_pci_bus_info is a preprocessor guard. Do not pass it to API calls. 14457 #define VK_EXT_pci_bus_info 1 14458 #define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2 14459 #define VK_EXT_PCI_BUS_INFO_EXTENSION_NAME "VK_EXT_pci_bus_info" 14460 typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT { 14461 VkStructureType sType; 14462 void* pNext; 14463 uint32_t pciDomain; 14464 uint32_t pciBus; 14465 uint32_t pciDevice; 14466 uint32_t pciFunction; 14467 } VkPhysicalDevicePCIBusInfoPropertiesEXT; 14468 14469 14470 14471 // VK_AMD_display_native_hdr is a preprocessor guard. Do not pass it to API calls. 14472 #define VK_AMD_display_native_hdr 1 14473 #define VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION 1 14474 #define VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME "VK_AMD_display_native_hdr" 14475 typedef struct VkDisplayNativeHdrSurfaceCapabilitiesAMD { 14476 VkStructureType sType; 14477 void* pNext; 14478 VkBool32 localDimmingSupport; 14479 } VkDisplayNativeHdrSurfaceCapabilitiesAMD; 14480 14481 typedef struct VkSwapchainDisplayNativeHdrCreateInfoAMD { 14482 VkStructureType sType; 14483 const void* pNext; 14484 VkBool32 localDimmingEnable; 14485 } VkSwapchainDisplayNativeHdrCreateInfoAMD; 14486 14487 typedef void (VKAPI_PTR *PFN_vkSetLocalDimmingAMD)(VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable); 14488 14489 #ifndef VK_NO_PROTOTYPES 14490 VKAPI_ATTR void VKAPI_CALL vkSetLocalDimmingAMD( 14491 VkDevice device, 14492 VkSwapchainKHR swapChain, 14493 VkBool32 localDimmingEnable); 14494 #endif 14495 14496 14497 // VK_EXT_fragment_density_map is a preprocessor guard. Do not pass it to API calls. 14498 #define VK_EXT_fragment_density_map 1 14499 #define VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION 2 14500 #define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map" 14501 typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT { 14502 VkStructureType sType; 14503 void* pNext; 14504 VkBool32 fragmentDensityMap; 14505 VkBool32 fragmentDensityMapDynamic; 14506 VkBool32 fragmentDensityMapNonSubsampledImages; 14507 } VkPhysicalDeviceFragmentDensityMapFeaturesEXT; 14508 14509 typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT { 14510 VkStructureType sType; 14511 void* pNext; 14512 VkExtent2D minFragmentDensityTexelSize; 14513 VkExtent2D maxFragmentDensityTexelSize; 14514 VkBool32 fragmentDensityInvocations; 14515 } VkPhysicalDeviceFragmentDensityMapPropertiesEXT; 14516 14517 typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT { 14518 VkStructureType sType; 14519 const void* pNext; 14520 VkAttachmentReference fragmentDensityMapAttachment; 14521 } VkRenderPassFragmentDensityMapCreateInfoEXT; 14522 14523 14524 14525 // VK_EXT_scalar_block_layout is a preprocessor guard. Do not pass it to API calls. 14526 #define VK_EXT_scalar_block_layout 1 14527 #define VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION 1 14528 #define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout" 14529 typedef VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeaturesEXT; 14530 14531 14532 14533 // VK_GOOGLE_hlsl_functionality1 is a preprocessor guard. Do not pass it to API calls. 14534 #define VK_GOOGLE_hlsl_functionality1 1 14535 #define VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION 1 14536 #define VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1" 14537 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION 14538 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME 14539 14540 14541 // VK_GOOGLE_decorate_string is a preprocessor guard. Do not pass it to API calls. 14542 #define VK_GOOGLE_decorate_string 1 14543 #define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1 14544 #define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string" 14545 14546 14547 // VK_EXT_subgroup_size_control is a preprocessor guard. Do not pass it to API calls. 14548 #define VK_EXT_subgroup_size_control 1 14549 #define VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION 2 14550 #define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control" 14551 typedef VkPhysicalDeviceSubgroupSizeControlFeatures VkPhysicalDeviceSubgroupSizeControlFeaturesEXT; 14552 14553 typedef VkPhysicalDeviceSubgroupSizeControlProperties VkPhysicalDeviceSubgroupSizeControlPropertiesEXT; 14554 14555 typedef VkPipelineShaderStageRequiredSubgroupSizeCreateInfo VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT; 14556 14557 14558 14559 // VK_AMD_shader_core_properties2 is a preprocessor guard. Do not pass it to API calls. 14560 #define VK_AMD_shader_core_properties2 1 14561 #define VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION 1 14562 #define VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME "VK_AMD_shader_core_properties2" 14563 14564 typedef enum VkShaderCorePropertiesFlagBitsAMD { 14565 VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF 14566 } VkShaderCorePropertiesFlagBitsAMD; 14567 typedef VkFlags VkShaderCorePropertiesFlagsAMD; 14568 typedef struct VkPhysicalDeviceShaderCoreProperties2AMD { 14569 VkStructureType sType; 14570 void* pNext; 14571 VkShaderCorePropertiesFlagsAMD shaderCoreFeatures; 14572 uint32_t activeComputeUnitCount; 14573 } VkPhysicalDeviceShaderCoreProperties2AMD; 14574 14575 14576 14577 // VK_AMD_device_coherent_memory is a preprocessor guard. Do not pass it to API calls. 14578 #define VK_AMD_device_coherent_memory 1 14579 #define VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION 1 14580 #define VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME "VK_AMD_device_coherent_memory" 14581 typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD { 14582 VkStructureType sType; 14583 void* pNext; 14584 VkBool32 deviceCoherentMemory; 14585 } VkPhysicalDeviceCoherentMemoryFeaturesAMD; 14586 14587 14588 14589 // VK_EXT_shader_image_atomic_int64 is a preprocessor guard. Do not pass it to API calls. 14590 #define VK_EXT_shader_image_atomic_int64 1 14591 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION 1 14592 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME "VK_EXT_shader_image_atomic_int64" 14593 typedef struct VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT { 14594 VkStructureType sType; 14595 void* pNext; 14596 VkBool32 shaderImageInt64Atomics; 14597 VkBool32 sparseImageInt64Atomics; 14598 } VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT; 14599 14600 14601 14602 // VK_EXT_memory_budget is a preprocessor guard. Do not pass it to API calls. 14603 #define VK_EXT_memory_budget 1 14604 #define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1 14605 #define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget" 14606 typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT { 14607 VkStructureType sType; 14608 void* pNext; 14609 VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS]; 14610 VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS]; 14611 } VkPhysicalDeviceMemoryBudgetPropertiesEXT; 14612 14613 14614 14615 // VK_EXT_memory_priority is a preprocessor guard. Do not pass it to API calls. 14616 #define VK_EXT_memory_priority 1 14617 #define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1 14618 #define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority" 14619 typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT { 14620 VkStructureType sType; 14621 void* pNext; 14622 VkBool32 memoryPriority; 14623 } VkPhysicalDeviceMemoryPriorityFeaturesEXT; 14624 14625 typedef struct VkMemoryPriorityAllocateInfoEXT { 14626 VkStructureType sType; 14627 const void* pNext; 14628 float priority; 14629 } VkMemoryPriorityAllocateInfoEXT; 14630 14631 14632 14633 // VK_NV_dedicated_allocation_image_aliasing is a preprocessor guard. Do not pass it to API calls. 14634 #define VK_NV_dedicated_allocation_image_aliasing 1 14635 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION 1 14636 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing" 14637 typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV { 14638 VkStructureType sType; 14639 void* pNext; 14640 VkBool32 dedicatedAllocationImageAliasing; 14641 } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV; 14642 14643 14644 14645 // VK_EXT_buffer_device_address is a preprocessor guard. Do not pass it to API calls. 14646 #define VK_EXT_buffer_device_address 1 14647 #define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2 14648 #define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address" 14649 typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT { 14650 VkStructureType sType; 14651 void* pNext; 14652 VkBool32 bufferDeviceAddress; 14653 VkBool32 bufferDeviceAddressCaptureReplay; 14654 VkBool32 bufferDeviceAddressMultiDevice; 14655 } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT; 14656 14657 typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT; 14658 14659 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoEXT; 14660 14661 typedef struct VkBufferDeviceAddressCreateInfoEXT { 14662 VkStructureType sType; 14663 const void* pNext; 14664 VkDeviceAddress deviceAddress; 14665 } VkBufferDeviceAddressCreateInfoEXT; 14666 14667 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressEXT)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 14668 14669 #ifndef VK_NO_PROTOTYPES 14670 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressEXT( 14671 VkDevice device, 14672 const VkBufferDeviceAddressInfo* pInfo); 14673 #endif 14674 14675 14676 // VK_EXT_tooling_info is a preprocessor guard. Do not pass it to API calls. 14677 #define VK_EXT_tooling_info 1 14678 #define VK_EXT_TOOLING_INFO_SPEC_VERSION 1 14679 #define VK_EXT_TOOLING_INFO_EXTENSION_NAME "VK_EXT_tooling_info" 14680 typedef VkToolPurposeFlagBits VkToolPurposeFlagBitsEXT; 14681 14682 typedef VkToolPurposeFlags VkToolPurposeFlagsEXT; 14683 14684 typedef VkPhysicalDeviceToolProperties VkPhysicalDeviceToolPropertiesEXT; 14685 14686 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolPropertiesEXT)(VkPhysicalDevice physicalDevice, uint32_t* pToolCount, VkPhysicalDeviceToolProperties* pToolProperties); 14687 14688 #ifndef VK_NO_PROTOTYPES 14689 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolPropertiesEXT( 14690 VkPhysicalDevice physicalDevice, 14691 uint32_t* pToolCount, 14692 VkPhysicalDeviceToolProperties* pToolProperties); 14693 #endif 14694 14695 14696 // VK_EXT_separate_stencil_usage is a preprocessor guard. Do not pass it to API calls. 14697 #define VK_EXT_separate_stencil_usage 1 14698 #define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1 14699 #define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage" 14700 typedef VkImageStencilUsageCreateInfo VkImageStencilUsageCreateInfoEXT; 14701 14702 14703 14704 // VK_EXT_validation_features is a preprocessor guard. Do not pass it to API calls. 14705 #define VK_EXT_validation_features 1 14706 #define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 6 14707 #define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features" 14708 14709 typedef enum VkValidationFeatureEnableEXT { 14710 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0, 14711 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1, 14712 VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2, 14713 VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3, 14714 VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT = 4, 14715 VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF 14716 } VkValidationFeatureEnableEXT; 14717 14718 typedef enum VkValidationFeatureDisableEXT { 14719 VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0, 14720 VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1, 14721 VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2, 14722 VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3, 14723 VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4, 14724 VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5, 14725 VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6, 14726 VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT = 7, 14727 VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF 14728 } VkValidationFeatureDisableEXT; 14729 typedef struct VkValidationFeaturesEXT { 14730 VkStructureType sType; 14731 const void* pNext; 14732 uint32_t enabledValidationFeatureCount; 14733 const VkValidationFeatureEnableEXT* pEnabledValidationFeatures; 14734 uint32_t disabledValidationFeatureCount; 14735 const VkValidationFeatureDisableEXT* pDisabledValidationFeatures; 14736 } VkValidationFeaturesEXT; 14737 14738 14739 14740 // VK_NV_cooperative_matrix is a preprocessor guard. Do not pass it to API calls. 14741 #define VK_NV_cooperative_matrix 1 14742 #define VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION 1 14743 #define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix" 14744 typedef VkComponentTypeKHR VkComponentTypeNV; 14745 14746 typedef VkScopeKHR VkScopeNV; 14747 14748 typedef struct VkCooperativeMatrixPropertiesNV { 14749 VkStructureType sType; 14750 void* pNext; 14751 uint32_t MSize; 14752 uint32_t NSize; 14753 uint32_t KSize; 14754 VkComponentTypeNV AType; 14755 VkComponentTypeNV BType; 14756 VkComponentTypeNV CType; 14757 VkComponentTypeNV DType; 14758 VkScopeNV scope; 14759 } VkCooperativeMatrixPropertiesNV; 14760 14761 typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV { 14762 VkStructureType sType; 14763 void* pNext; 14764 VkBool32 cooperativeMatrix; 14765 VkBool32 cooperativeMatrixRobustBufferAccess; 14766 } VkPhysicalDeviceCooperativeMatrixFeaturesNV; 14767 14768 typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV { 14769 VkStructureType sType; 14770 void* pNext; 14771 VkShaderStageFlags cooperativeMatrixSupportedStages; 14772 } VkPhysicalDeviceCooperativeMatrixPropertiesNV; 14773 14774 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties); 14775 14776 #ifndef VK_NO_PROTOTYPES 14777 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( 14778 VkPhysicalDevice physicalDevice, 14779 uint32_t* pPropertyCount, 14780 VkCooperativeMatrixPropertiesNV* pProperties); 14781 #endif 14782 14783 14784 // VK_NV_coverage_reduction_mode is a preprocessor guard. Do not pass it to API calls. 14785 #define VK_NV_coverage_reduction_mode 1 14786 #define VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION 1 14787 #define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode" 14788 14789 typedef enum VkCoverageReductionModeNV { 14790 VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0, 14791 VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1, 14792 VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV = 0x7FFFFFFF 14793 } VkCoverageReductionModeNV; 14794 typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV; 14795 typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV { 14796 VkStructureType sType; 14797 void* pNext; 14798 VkBool32 coverageReductionMode; 14799 } VkPhysicalDeviceCoverageReductionModeFeaturesNV; 14800 14801 typedef struct VkPipelineCoverageReductionStateCreateInfoNV { 14802 VkStructureType sType; 14803 const void* pNext; 14804 VkPipelineCoverageReductionStateCreateFlagsNV flags; 14805 VkCoverageReductionModeNV coverageReductionMode; 14806 } VkPipelineCoverageReductionStateCreateInfoNV; 14807 14808 typedef struct VkFramebufferMixedSamplesCombinationNV { 14809 VkStructureType sType; 14810 void* pNext; 14811 VkCoverageReductionModeNV coverageReductionMode; 14812 VkSampleCountFlagBits rasterizationSamples; 14813 VkSampleCountFlags depthStencilSamples; 14814 VkSampleCountFlags colorSamples; 14815 } VkFramebufferMixedSamplesCombinationNV; 14816 14817 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)(VkPhysicalDevice physicalDevice, uint32_t* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations); 14818 14819 #ifndef VK_NO_PROTOTYPES 14820 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( 14821 VkPhysicalDevice physicalDevice, 14822 uint32_t* pCombinationCount, 14823 VkFramebufferMixedSamplesCombinationNV* pCombinations); 14824 #endif 14825 14826 14827 // VK_EXT_fragment_shader_interlock is a preprocessor guard. Do not pass it to API calls. 14828 #define VK_EXT_fragment_shader_interlock 1 14829 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1 14830 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock" 14831 typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT { 14832 VkStructureType sType; 14833 void* pNext; 14834 VkBool32 fragmentShaderSampleInterlock; 14835 VkBool32 fragmentShaderPixelInterlock; 14836 VkBool32 fragmentShaderShadingRateInterlock; 14837 } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT; 14838 14839 14840 14841 // VK_EXT_ycbcr_image_arrays is a preprocessor guard. Do not pass it to API calls. 14842 #define VK_EXT_ycbcr_image_arrays 1 14843 #define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1 14844 #define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays" 14845 typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT { 14846 VkStructureType sType; 14847 void* pNext; 14848 VkBool32 ycbcrImageArrays; 14849 } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT; 14850 14851 14852 14853 // VK_EXT_provoking_vertex is a preprocessor guard. Do not pass it to API calls. 14854 #define VK_EXT_provoking_vertex 1 14855 #define VK_EXT_PROVOKING_VERTEX_SPEC_VERSION 1 14856 #define VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME "VK_EXT_provoking_vertex" 14857 14858 typedef enum VkProvokingVertexModeEXT { 14859 VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT = 0, 14860 VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT = 1, 14861 VK_PROVOKING_VERTEX_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 14862 } VkProvokingVertexModeEXT; 14863 typedef struct VkPhysicalDeviceProvokingVertexFeaturesEXT { 14864 VkStructureType sType; 14865 void* pNext; 14866 VkBool32 provokingVertexLast; 14867 VkBool32 transformFeedbackPreservesProvokingVertex; 14868 } VkPhysicalDeviceProvokingVertexFeaturesEXT; 14869 14870 typedef struct VkPhysicalDeviceProvokingVertexPropertiesEXT { 14871 VkStructureType sType; 14872 void* pNext; 14873 VkBool32 provokingVertexModePerPipeline; 14874 VkBool32 transformFeedbackPreservesTriangleFanProvokingVertex; 14875 } VkPhysicalDeviceProvokingVertexPropertiesEXT; 14876 14877 typedef struct VkPipelineRasterizationProvokingVertexStateCreateInfoEXT { 14878 VkStructureType sType; 14879 const void* pNext; 14880 VkProvokingVertexModeEXT provokingVertexMode; 14881 } VkPipelineRasterizationProvokingVertexStateCreateInfoEXT; 14882 14883 14884 14885 // VK_EXT_headless_surface is a preprocessor guard. Do not pass it to API calls. 14886 #define VK_EXT_headless_surface 1 14887 #define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 1 14888 #define VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME "VK_EXT_headless_surface" 14889 typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT; 14890 typedef struct VkHeadlessSurfaceCreateInfoEXT { 14891 VkStructureType sType; 14892 const void* pNext; 14893 VkHeadlessSurfaceCreateFlagsEXT flags; 14894 } VkHeadlessSurfaceCreateInfoEXT; 14895 14896 typedef VkResult (VKAPI_PTR *PFN_vkCreateHeadlessSurfaceEXT)(VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); 14897 14898 #ifndef VK_NO_PROTOTYPES 14899 VKAPI_ATTR VkResult VKAPI_CALL vkCreateHeadlessSurfaceEXT( 14900 VkInstance instance, 14901 const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, 14902 const VkAllocationCallbacks* pAllocator, 14903 VkSurfaceKHR* pSurface); 14904 #endif 14905 14906 14907 // VK_EXT_line_rasterization is a preprocessor guard. Do not pass it to API calls. 14908 #define VK_EXT_line_rasterization 1 14909 #define VK_EXT_LINE_RASTERIZATION_SPEC_VERSION 1 14910 #define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization" 14911 typedef VkLineRasterizationModeKHR VkLineRasterizationModeEXT; 14912 14913 typedef VkPhysicalDeviceLineRasterizationFeaturesKHR VkPhysicalDeviceLineRasterizationFeaturesEXT; 14914 14915 typedef VkPhysicalDeviceLineRasterizationPropertiesKHR VkPhysicalDeviceLineRasterizationPropertiesEXT; 14916 14917 typedef VkPipelineRasterizationLineStateCreateInfoKHR VkPipelineRasterizationLineStateCreateInfoEXT; 14918 14919 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEXT)(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern); 14920 14921 #ifndef VK_NO_PROTOTYPES 14922 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEXT( 14923 VkCommandBuffer commandBuffer, 14924 uint32_t lineStippleFactor, 14925 uint16_t lineStipplePattern); 14926 #endif 14927 14928 14929 // VK_EXT_shader_atomic_float is a preprocessor guard. Do not pass it to API calls. 14930 #define VK_EXT_shader_atomic_float 1 14931 #define VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION 1 14932 #define VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME "VK_EXT_shader_atomic_float" 14933 typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT { 14934 VkStructureType sType; 14935 void* pNext; 14936 VkBool32 shaderBufferFloat32Atomics; 14937 VkBool32 shaderBufferFloat32AtomicAdd; 14938 VkBool32 shaderBufferFloat64Atomics; 14939 VkBool32 shaderBufferFloat64AtomicAdd; 14940 VkBool32 shaderSharedFloat32Atomics; 14941 VkBool32 shaderSharedFloat32AtomicAdd; 14942 VkBool32 shaderSharedFloat64Atomics; 14943 VkBool32 shaderSharedFloat64AtomicAdd; 14944 VkBool32 shaderImageFloat32Atomics; 14945 VkBool32 shaderImageFloat32AtomicAdd; 14946 VkBool32 sparseImageFloat32Atomics; 14947 VkBool32 sparseImageFloat32AtomicAdd; 14948 } VkPhysicalDeviceShaderAtomicFloatFeaturesEXT; 14949 14950 14951 14952 // VK_EXT_host_query_reset is a preprocessor guard. Do not pass it to API calls. 14953 #define VK_EXT_host_query_reset 1 14954 #define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1 14955 #define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset" 14956 typedef VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeaturesEXT; 14957 14958 typedef void (VKAPI_PTR *PFN_vkResetQueryPoolEXT)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount); 14959 14960 #ifndef VK_NO_PROTOTYPES 14961 VKAPI_ATTR void VKAPI_CALL vkResetQueryPoolEXT( 14962 VkDevice device, 14963 VkQueryPool queryPool, 14964 uint32_t firstQuery, 14965 uint32_t queryCount); 14966 #endif 14967 14968 14969 // VK_EXT_index_type_uint8 is a preprocessor guard. Do not pass it to API calls. 14970 #define VK_EXT_index_type_uint8 1 14971 #define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1 14972 #define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8" 14973 typedef VkPhysicalDeviceIndexTypeUint8FeaturesKHR VkPhysicalDeviceIndexTypeUint8FeaturesEXT; 14974 14975 14976 14977 // VK_EXT_extended_dynamic_state is a preprocessor guard. Do not pass it to API calls. 14978 #define VK_EXT_extended_dynamic_state 1 14979 #define VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION 1 14980 #define VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_extended_dynamic_state" 14981 typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT { 14982 VkStructureType sType; 14983 void* pNext; 14984 VkBool32 extendedDynamicState; 14985 } VkPhysicalDeviceExtendedDynamicStateFeaturesEXT; 14986 14987 typedef void (VKAPI_PTR *PFN_vkCmdSetCullModeEXT)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode); 14988 typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFaceEXT)(VkCommandBuffer commandBuffer, VkFrontFace frontFace); 14989 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopologyEXT)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology); 14990 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCountEXT)(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports); 14991 typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCountEXT)(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors); 14992 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); 14993 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable); 14994 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable); 14995 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOpEXT)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp); 14996 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable); 14997 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable); 14998 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOpEXT)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp); 14999 15000 #ifndef VK_NO_PROTOTYPES 15001 VKAPI_ATTR void VKAPI_CALL vkCmdSetCullModeEXT( 15002 VkCommandBuffer commandBuffer, 15003 VkCullModeFlags cullMode); 15004 15005 VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFaceEXT( 15006 VkCommandBuffer commandBuffer, 15007 VkFrontFace frontFace); 15008 15009 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopologyEXT( 15010 VkCommandBuffer commandBuffer, 15011 VkPrimitiveTopology primitiveTopology); 15012 15013 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCountEXT( 15014 VkCommandBuffer commandBuffer, 15015 uint32_t viewportCount, 15016 const VkViewport* pViewports); 15017 15018 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCountEXT( 15019 VkCommandBuffer commandBuffer, 15020 uint32_t scissorCount, 15021 const VkRect2D* pScissors); 15022 15023 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2EXT( 15024 VkCommandBuffer commandBuffer, 15025 uint32_t firstBinding, 15026 uint32_t bindingCount, 15027 const VkBuffer* pBuffers, 15028 const VkDeviceSize* pOffsets, 15029 const VkDeviceSize* pSizes, 15030 const VkDeviceSize* pStrides); 15031 15032 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnableEXT( 15033 VkCommandBuffer commandBuffer, 15034 VkBool32 depthTestEnable); 15035 15036 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnableEXT( 15037 VkCommandBuffer commandBuffer, 15038 VkBool32 depthWriteEnable); 15039 15040 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOpEXT( 15041 VkCommandBuffer commandBuffer, 15042 VkCompareOp depthCompareOp); 15043 15044 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnableEXT( 15045 VkCommandBuffer commandBuffer, 15046 VkBool32 depthBoundsTestEnable); 15047 15048 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnableEXT( 15049 VkCommandBuffer commandBuffer, 15050 VkBool32 stencilTestEnable); 15051 15052 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOpEXT( 15053 VkCommandBuffer commandBuffer, 15054 VkStencilFaceFlags faceMask, 15055 VkStencilOp failOp, 15056 VkStencilOp passOp, 15057 VkStencilOp depthFailOp, 15058 VkCompareOp compareOp); 15059 #endif 15060 15061 15062 // VK_EXT_host_image_copy is a preprocessor guard. Do not pass it to API calls. 15063 #define VK_EXT_host_image_copy 1 15064 #define VK_EXT_HOST_IMAGE_COPY_SPEC_VERSION 1 15065 #define VK_EXT_HOST_IMAGE_COPY_EXTENSION_NAME "VK_EXT_host_image_copy" 15066 15067 typedef enum VkHostImageCopyFlagBitsEXT { 15068 VK_HOST_IMAGE_COPY_MEMCPY_EXT = 0x00000001, 15069 VK_HOST_IMAGE_COPY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 15070 } VkHostImageCopyFlagBitsEXT; 15071 typedef VkFlags VkHostImageCopyFlagsEXT; 15072 typedef struct VkPhysicalDeviceHostImageCopyFeaturesEXT { 15073 VkStructureType sType; 15074 void* pNext; 15075 VkBool32 hostImageCopy; 15076 } VkPhysicalDeviceHostImageCopyFeaturesEXT; 15077 15078 typedef struct VkPhysicalDeviceHostImageCopyPropertiesEXT { 15079 VkStructureType sType; 15080 void* pNext; 15081 uint32_t copySrcLayoutCount; 15082 VkImageLayout* pCopySrcLayouts; 15083 uint32_t copyDstLayoutCount; 15084 VkImageLayout* pCopyDstLayouts; 15085 uint8_t optimalTilingLayoutUUID[VK_UUID_SIZE]; 15086 VkBool32 identicalMemoryTypeRequirements; 15087 } VkPhysicalDeviceHostImageCopyPropertiesEXT; 15088 15089 typedef struct VkMemoryToImageCopyEXT { 15090 VkStructureType sType; 15091 const void* pNext; 15092 const void* pHostPointer; 15093 uint32_t memoryRowLength; 15094 uint32_t memoryImageHeight; 15095 VkImageSubresourceLayers imageSubresource; 15096 VkOffset3D imageOffset; 15097 VkExtent3D imageExtent; 15098 } VkMemoryToImageCopyEXT; 15099 15100 typedef struct VkImageToMemoryCopyEXT { 15101 VkStructureType sType; 15102 const void* pNext; 15103 void* pHostPointer; 15104 uint32_t memoryRowLength; 15105 uint32_t memoryImageHeight; 15106 VkImageSubresourceLayers imageSubresource; 15107 VkOffset3D imageOffset; 15108 VkExtent3D imageExtent; 15109 } VkImageToMemoryCopyEXT; 15110 15111 typedef struct VkCopyMemoryToImageInfoEXT { 15112 VkStructureType sType; 15113 const void* pNext; 15114 VkHostImageCopyFlagsEXT flags; 15115 VkImage dstImage; 15116 VkImageLayout dstImageLayout; 15117 uint32_t regionCount; 15118 const VkMemoryToImageCopyEXT* pRegions; 15119 } VkCopyMemoryToImageInfoEXT; 15120 15121 typedef struct VkCopyImageToMemoryInfoEXT { 15122 VkStructureType sType; 15123 const void* pNext; 15124 VkHostImageCopyFlagsEXT flags; 15125 VkImage srcImage; 15126 VkImageLayout srcImageLayout; 15127 uint32_t regionCount; 15128 const VkImageToMemoryCopyEXT* pRegions; 15129 } VkCopyImageToMemoryInfoEXT; 15130 15131 typedef struct VkCopyImageToImageInfoEXT { 15132 VkStructureType sType; 15133 const void* pNext; 15134 VkHostImageCopyFlagsEXT flags; 15135 VkImage srcImage; 15136 VkImageLayout srcImageLayout; 15137 VkImage dstImage; 15138 VkImageLayout dstImageLayout; 15139 uint32_t regionCount; 15140 const VkImageCopy2* pRegions; 15141 } VkCopyImageToImageInfoEXT; 15142 15143 typedef struct VkHostImageLayoutTransitionInfoEXT { 15144 VkStructureType sType; 15145 const void* pNext; 15146 VkImage image; 15147 VkImageLayout oldLayout; 15148 VkImageLayout newLayout; 15149 VkImageSubresourceRange subresourceRange; 15150 } VkHostImageLayoutTransitionInfoEXT; 15151 15152 typedef struct VkSubresourceHostMemcpySizeEXT { 15153 VkStructureType sType; 15154 void* pNext; 15155 VkDeviceSize size; 15156 } VkSubresourceHostMemcpySizeEXT; 15157 15158 typedef struct VkHostImageCopyDevicePerformanceQueryEXT { 15159 VkStructureType sType; 15160 void* pNext; 15161 VkBool32 optimalDeviceAccess; 15162 VkBool32 identicalMemoryLayout; 15163 } VkHostImageCopyDevicePerformanceQueryEXT; 15164 15165 typedef VkSubresourceLayout2KHR VkSubresourceLayout2EXT; 15166 15167 typedef VkImageSubresource2KHR VkImageSubresource2EXT; 15168 15169 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToImageEXT)(VkDevice device, const VkCopyMemoryToImageInfoEXT* pCopyMemoryToImageInfo); 15170 typedef VkResult (VKAPI_PTR *PFN_vkCopyImageToMemoryEXT)(VkDevice device, const VkCopyImageToMemoryInfoEXT* pCopyImageToMemoryInfo); 15171 typedef VkResult (VKAPI_PTR *PFN_vkCopyImageToImageEXT)(VkDevice device, const VkCopyImageToImageInfoEXT* pCopyImageToImageInfo); 15172 typedef VkResult (VKAPI_PTR *PFN_vkTransitionImageLayoutEXT)(VkDevice device, uint32_t transitionCount, const VkHostImageLayoutTransitionInfoEXT* pTransitions); 15173 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout2EXT)(VkDevice device, VkImage image, const VkImageSubresource2KHR* pSubresource, VkSubresourceLayout2KHR* pLayout); 15174 15175 #ifndef VK_NO_PROTOTYPES 15176 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToImageEXT( 15177 VkDevice device, 15178 const VkCopyMemoryToImageInfoEXT* pCopyMemoryToImageInfo); 15179 15180 VKAPI_ATTR VkResult VKAPI_CALL vkCopyImageToMemoryEXT( 15181 VkDevice device, 15182 const VkCopyImageToMemoryInfoEXT* pCopyImageToMemoryInfo); 15183 15184 VKAPI_ATTR VkResult VKAPI_CALL vkCopyImageToImageEXT( 15185 VkDevice device, 15186 const VkCopyImageToImageInfoEXT* pCopyImageToImageInfo); 15187 15188 VKAPI_ATTR VkResult VKAPI_CALL vkTransitionImageLayoutEXT( 15189 VkDevice device, 15190 uint32_t transitionCount, 15191 const VkHostImageLayoutTransitionInfoEXT* pTransitions); 15192 15193 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout2EXT( 15194 VkDevice device, 15195 VkImage image, 15196 const VkImageSubresource2KHR* pSubresource, 15197 VkSubresourceLayout2KHR* pLayout); 15198 #endif 15199 15200 15201 // VK_EXT_map_memory_placed is a preprocessor guard. Do not pass it to API calls. 15202 #define VK_EXT_map_memory_placed 1 15203 #define VK_EXT_MAP_MEMORY_PLACED_SPEC_VERSION 1 15204 #define VK_EXT_MAP_MEMORY_PLACED_EXTENSION_NAME "VK_EXT_map_memory_placed" 15205 typedef struct VkPhysicalDeviceMapMemoryPlacedFeaturesEXT { 15206 VkStructureType sType; 15207 void* pNext; 15208 VkBool32 memoryMapPlaced; 15209 VkBool32 memoryMapRangePlaced; 15210 VkBool32 memoryUnmapReserve; 15211 } VkPhysicalDeviceMapMemoryPlacedFeaturesEXT; 15212 15213 typedef struct VkPhysicalDeviceMapMemoryPlacedPropertiesEXT { 15214 VkStructureType sType; 15215 void* pNext; 15216 VkDeviceSize minPlacedMemoryMapAlignment; 15217 } VkPhysicalDeviceMapMemoryPlacedPropertiesEXT; 15218 15219 typedef struct VkMemoryMapPlacedInfoEXT { 15220 VkStructureType sType; 15221 const void* pNext; 15222 void* pPlacedAddress; 15223 } VkMemoryMapPlacedInfoEXT; 15224 15225 15226 15227 // VK_EXT_shader_atomic_float2 is a preprocessor guard. Do not pass it to API calls. 15228 #define VK_EXT_shader_atomic_float2 1 15229 #define VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION 1 15230 #define VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME "VK_EXT_shader_atomic_float2" 15231 typedef struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT { 15232 VkStructureType sType; 15233 void* pNext; 15234 VkBool32 shaderBufferFloat16Atomics; 15235 VkBool32 shaderBufferFloat16AtomicAdd; 15236 VkBool32 shaderBufferFloat16AtomicMinMax; 15237 VkBool32 shaderBufferFloat32AtomicMinMax; 15238 VkBool32 shaderBufferFloat64AtomicMinMax; 15239 VkBool32 shaderSharedFloat16Atomics; 15240 VkBool32 shaderSharedFloat16AtomicAdd; 15241 VkBool32 shaderSharedFloat16AtomicMinMax; 15242 VkBool32 shaderSharedFloat32AtomicMinMax; 15243 VkBool32 shaderSharedFloat64AtomicMinMax; 15244 VkBool32 shaderImageFloat32AtomicMinMax; 15245 VkBool32 sparseImageFloat32AtomicMinMax; 15246 } VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT; 15247 15248 15249 15250 // VK_EXT_surface_maintenance1 is a preprocessor guard. Do not pass it to API calls. 15251 #define VK_EXT_surface_maintenance1 1 15252 #define VK_EXT_SURFACE_MAINTENANCE_1_SPEC_VERSION 1 15253 #define VK_EXT_SURFACE_MAINTENANCE_1_EXTENSION_NAME "VK_EXT_surface_maintenance1" 15254 15255 typedef enum VkPresentScalingFlagBitsEXT { 15256 VK_PRESENT_SCALING_ONE_TO_ONE_BIT_EXT = 0x00000001, 15257 VK_PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_EXT = 0x00000002, 15258 VK_PRESENT_SCALING_STRETCH_BIT_EXT = 0x00000004, 15259 VK_PRESENT_SCALING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 15260 } VkPresentScalingFlagBitsEXT; 15261 typedef VkFlags VkPresentScalingFlagsEXT; 15262 15263 typedef enum VkPresentGravityFlagBitsEXT { 15264 VK_PRESENT_GRAVITY_MIN_BIT_EXT = 0x00000001, 15265 VK_PRESENT_GRAVITY_MAX_BIT_EXT = 0x00000002, 15266 VK_PRESENT_GRAVITY_CENTERED_BIT_EXT = 0x00000004, 15267 VK_PRESENT_GRAVITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 15268 } VkPresentGravityFlagBitsEXT; 15269 typedef VkFlags VkPresentGravityFlagsEXT; 15270 typedef struct VkSurfacePresentModeEXT { 15271 VkStructureType sType; 15272 void* pNext; 15273 VkPresentModeKHR presentMode; 15274 } VkSurfacePresentModeEXT; 15275 15276 typedef struct VkSurfacePresentScalingCapabilitiesEXT { 15277 VkStructureType sType; 15278 void* pNext; 15279 VkPresentScalingFlagsEXT supportedPresentScaling; 15280 VkPresentGravityFlagsEXT supportedPresentGravityX; 15281 VkPresentGravityFlagsEXT supportedPresentGravityY; 15282 VkExtent2D minScaledImageExtent; 15283 VkExtent2D maxScaledImageExtent; 15284 } VkSurfacePresentScalingCapabilitiesEXT; 15285 15286 typedef struct VkSurfacePresentModeCompatibilityEXT { 15287 VkStructureType sType; 15288 void* pNext; 15289 uint32_t presentModeCount; 15290 VkPresentModeKHR* pPresentModes; 15291 } VkSurfacePresentModeCompatibilityEXT; 15292 15293 15294 15295 // VK_EXT_swapchain_maintenance1 is a preprocessor guard. Do not pass it to API calls. 15296 #define VK_EXT_swapchain_maintenance1 1 15297 #define VK_EXT_SWAPCHAIN_MAINTENANCE_1_SPEC_VERSION 1 15298 #define VK_EXT_SWAPCHAIN_MAINTENANCE_1_EXTENSION_NAME "VK_EXT_swapchain_maintenance1" 15299 typedef struct VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT { 15300 VkStructureType sType; 15301 void* pNext; 15302 VkBool32 swapchainMaintenance1; 15303 } VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT; 15304 15305 typedef struct VkSwapchainPresentFenceInfoEXT { 15306 VkStructureType sType; 15307 const void* pNext; 15308 uint32_t swapchainCount; 15309 const VkFence* pFences; 15310 } VkSwapchainPresentFenceInfoEXT; 15311 15312 typedef struct VkSwapchainPresentModesCreateInfoEXT { 15313 VkStructureType sType; 15314 const void* pNext; 15315 uint32_t presentModeCount; 15316 const VkPresentModeKHR* pPresentModes; 15317 } VkSwapchainPresentModesCreateInfoEXT; 15318 15319 typedef struct VkSwapchainPresentModeInfoEXT { 15320 VkStructureType sType; 15321 const void* pNext; 15322 uint32_t swapchainCount; 15323 const VkPresentModeKHR* pPresentModes; 15324 } VkSwapchainPresentModeInfoEXT; 15325 15326 typedef struct VkSwapchainPresentScalingCreateInfoEXT { 15327 VkStructureType sType; 15328 const void* pNext; 15329 VkPresentScalingFlagsEXT scalingBehavior; 15330 VkPresentGravityFlagsEXT presentGravityX; 15331 VkPresentGravityFlagsEXT presentGravityY; 15332 } VkSwapchainPresentScalingCreateInfoEXT; 15333 15334 typedef struct VkReleaseSwapchainImagesInfoEXT { 15335 VkStructureType sType; 15336 const void* pNext; 15337 VkSwapchainKHR swapchain; 15338 uint32_t imageIndexCount; 15339 const uint32_t* pImageIndices; 15340 } VkReleaseSwapchainImagesInfoEXT; 15341 15342 typedef VkResult (VKAPI_PTR *PFN_vkReleaseSwapchainImagesEXT)(VkDevice device, const VkReleaseSwapchainImagesInfoEXT* pReleaseInfo); 15343 15344 #ifndef VK_NO_PROTOTYPES 15345 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseSwapchainImagesEXT( 15346 VkDevice device, 15347 const VkReleaseSwapchainImagesInfoEXT* pReleaseInfo); 15348 #endif 15349 15350 15351 // VK_EXT_shader_demote_to_helper_invocation is a preprocessor guard. Do not pass it to API calls. 15352 #define VK_EXT_shader_demote_to_helper_invocation 1 15353 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1 15354 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation" 15355 typedef VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT; 15356 15357 15358 15359 // VK_NV_device_generated_commands is a preprocessor guard. Do not pass it to API calls. 15360 #define VK_NV_device_generated_commands 1 15361 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNV) 15362 #define VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3 15363 #define VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NV_device_generated_commands" 15364 15365 typedef enum VkIndirectCommandsTokenTypeNV { 15366 VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV = 0, 15367 VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV = 1, 15368 VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV = 2, 15369 VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV = 3, 15370 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV = 4, 15371 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV = 5, 15372 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6, 15373 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7, 15374 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV = 1000328000, 15375 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NV = 1000428003, 15376 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NV = 1000428004, 15377 VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 15378 } VkIndirectCommandsTokenTypeNV; 15379 15380 typedef enum VkIndirectStateFlagBitsNV { 15381 VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV = 0x00000001, 15382 VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 15383 } VkIndirectStateFlagBitsNV; 15384 typedef VkFlags VkIndirectStateFlagsNV; 15385 15386 typedef enum VkIndirectCommandsLayoutUsageFlagBitsNV { 15387 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV = 0x00000001, 15388 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV = 0x00000002, 15389 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV = 0x00000004, 15390 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 15391 } VkIndirectCommandsLayoutUsageFlagBitsNV; 15392 typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNV; 15393 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV { 15394 VkStructureType sType; 15395 void* pNext; 15396 uint32_t maxGraphicsShaderGroupCount; 15397 uint32_t maxIndirectSequenceCount; 15398 uint32_t maxIndirectCommandsTokenCount; 15399 uint32_t maxIndirectCommandsStreamCount; 15400 uint32_t maxIndirectCommandsTokenOffset; 15401 uint32_t maxIndirectCommandsStreamStride; 15402 uint32_t minSequencesCountBufferOffsetAlignment; 15403 uint32_t minSequencesIndexBufferOffsetAlignment; 15404 uint32_t minIndirectCommandsBufferOffsetAlignment; 15405 } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV; 15406 15407 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV { 15408 VkStructureType sType; 15409 void* pNext; 15410 VkBool32 deviceGeneratedCommands; 15411 } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV; 15412 15413 typedef struct VkGraphicsShaderGroupCreateInfoNV { 15414 VkStructureType sType; 15415 const void* pNext; 15416 uint32_t stageCount; 15417 const VkPipelineShaderStageCreateInfo* pStages; 15418 const VkPipelineVertexInputStateCreateInfo* pVertexInputState; 15419 const VkPipelineTessellationStateCreateInfo* pTessellationState; 15420 } VkGraphicsShaderGroupCreateInfoNV; 15421 15422 typedef struct VkGraphicsPipelineShaderGroupsCreateInfoNV { 15423 VkStructureType sType; 15424 const void* pNext; 15425 uint32_t groupCount; 15426 const VkGraphicsShaderGroupCreateInfoNV* pGroups; 15427 uint32_t pipelineCount; 15428 const VkPipeline* pPipelines; 15429 } VkGraphicsPipelineShaderGroupsCreateInfoNV; 15430 15431 typedef struct VkBindShaderGroupIndirectCommandNV { 15432 uint32_t groupIndex; 15433 } VkBindShaderGroupIndirectCommandNV; 15434 15435 typedef struct VkBindIndexBufferIndirectCommandNV { 15436 VkDeviceAddress bufferAddress; 15437 uint32_t size; 15438 VkIndexType indexType; 15439 } VkBindIndexBufferIndirectCommandNV; 15440 15441 typedef struct VkBindVertexBufferIndirectCommandNV { 15442 VkDeviceAddress bufferAddress; 15443 uint32_t size; 15444 uint32_t stride; 15445 } VkBindVertexBufferIndirectCommandNV; 15446 15447 typedef struct VkSetStateFlagsIndirectCommandNV { 15448 uint32_t data; 15449 } VkSetStateFlagsIndirectCommandNV; 15450 15451 typedef struct VkIndirectCommandsStreamNV { 15452 VkBuffer buffer; 15453 VkDeviceSize offset; 15454 } VkIndirectCommandsStreamNV; 15455 15456 typedef struct VkIndirectCommandsLayoutTokenNV { 15457 VkStructureType sType; 15458 const void* pNext; 15459 VkIndirectCommandsTokenTypeNV tokenType; 15460 uint32_t stream; 15461 uint32_t offset; 15462 uint32_t vertexBindingUnit; 15463 VkBool32 vertexDynamicStride; 15464 VkPipelineLayout pushconstantPipelineLayout; 15465 VkShaderStageFlags pushconstantShaderStageFlags; 15466 uint32_t pushconstantOffset; 15467 uint32_t pushconstantSize; 15468 VkIndirectStateFlagsNV indirectStateFlags; 15469 uint32_t indexTypeCount; 15470 const VkIndexType* pIndexTypes; 15471 const uint32_t* pIndexTypeValues; 15472 } VkIndirectCommandsLayoutTokenNV; 15473 15474 typedef struct VkIndirectCommandsLayoutCreateInfoNV { 15475 VkStructureType sType; 15476 const void* pNext; 15477 VkIndirectCommandsLayoutUsageFlagsNV flags; 15478 VkPipelineBindPoint pipelineBindPoint; 15479 uint32_t tokenCount; 15480 const VkIndirectCommandsLayoutTokenNV* pTokens; 15481 uint32_t streamCount; 15482 const uint32_t* pStreamStrides; 15483 } VkIndirectCommandsLayoutCreateInfoNV; 15484 15485 typedef struct VkGeneratedCommandsInfoNV { 15486 VkStructureType sType; 15487 const void* pNext; 15488 VkPipelineBindPoint pipelineBindPoint; 15489 VkPipeline pipeline; 15490 VkIndirectCommandsLayoutNV indirectCommandsLayout; 15491 uint32_t streamCount; 15492 const VkIndirectCommandsStreamNV* pStreams; 15493 uint32_t sequencesCount; 15494 VkBuffer preprocessBuffer; 15495 VkDeviceSize preprocessOffset; 15496 VkDeviceSize preprocessSize; 15497 VkBuffer sequencesCountBuffer; 15498 VkDeviceSize sequencesCountOffset; 15499 VkBuffer sequencesIndexBuffer; 15500 VkDeviceSize sequencesIndexOffset; 15501 } VkGeneratedCommandsInfoNV; 15502 15503 typedef struct VkGeneratedCommandsMemoryRequirementsInfoNV { 15504 VkStructureType sType; 15505 const void* pNext; 15506 VkPipelineBindPoint pipelineBindPoint; 15507 VkPipeline pipeline; 15508 VkIndirectCommandsLayoutNV indirectCommandsLayout; 15509 uint32_t maxSequencesCount; 15510 } VkGeneratedCommandsMemoryRequirementsInfoNV; 15511 15512 typedef void (VKAPI_PTR *PFN_vkGetGeneratedCommandsMemoryRequirementsNV)(VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements); 15513 typedef void (VKAPI_PTR *PFN_vkCmdPreprocessGeneratedCommandsNV)(VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); 15514 typedef void (VKAPI_PTR *PFN_vkCmdExecuteGeneratedCommandsNV)(VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); 15515 typedef void (VKAPI_PTR *PFN_vkCmdBindPipelineShaderGroupNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, uint32_t groupIndex); 15516 typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNV)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout); 15517 typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNV)(VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator); 15518 15519 #ifndef VK_NO_PROTOTYPES 15520 VKAPI_ATTR void VKAPI_CALL vkGetGeneratedCommandsMemoryRequirementsNV( 15521 VkDevice device, 15522 const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, 15523 VkMemoryRequirements2* pMemoryRequirements); 15524 15525 VKAPI_ATTR void VKAPI_CALL vkCmdPreprocessGeneratedCommandsNV( 15526 VkCommandBuffer commandBuffer, 15527 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); 15528 15529 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteGeneratedCommandsNV( 15530 VkCommandBuffer commandBuffer, 15531 VkBool32 isPreprocessed, 15532 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); 15533 15534 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipelineShaderGroupNV( 15535 VkCommandBuffer commandBuffer, 15536 VkPipelineBindPoint pipelineBindPoint, 15537 VkPipeline pipeline, 15538 uint32_t groupIndex); 15539 15540 VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNV( 15541 VkDevice device, 15542 const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, 15543 const VkAllocationCallbacks* pAllocator, 15544 VkIndirectCommandsLayoutNV* pIndirectCommandsLayout); 15545 15546 VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNV( 15547 VkDevice device, 15548 VkIndirectCommandsLayoutNV indirectCommandsLayout, 15549 const VkAllocationCallbacks* pAllocator); 15550 #endif 15551 15552 15553 // VK_NV_inherited_viewport_scissor is a preprocessor guard. Do not pass it to API calls. 15554 #define VK_NV_inherited_viewport_scissor 1 15555 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION 1 15556 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME "VK_NV_inherited_viewport_scissor" 15557 typedef struct VkPhysicalDeviceInheritedViewportScissorFeaturesNV { 15558 VkStructureType sType; 15559 void* pNext; 15560 VkBool32 inheritedViewportScissor2D; 15561 } VkPhysicalDeviceInheritedViewportScissorFeaturesNV; 15562 15563 typedef struct VkCommandBufferInheritanceViewportScissorInfoNV { 15564 VkStructureType sType; 15565 const void* pNext; 15566 VkBool32 viewportScissor2D; 15567 uint32_t viewportDepthCount; 15568 const VkViewport* pViewportDepths; 15569 } VkCommandBufferInheritanceViewportScissorInfoNV; 15570 15571 15572 15573 // VK_EXT_texel_buffer_alignment is a preprocessor guard. Do not pass it to API calls. 15574 #define VK_EXT_texel_buffer_alignment 1 15575 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1 15576 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment" 15577 typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT { 15578 VkStructureType sType; 15579 void* pNext; 15580 VkBool32 texelBufferAlignment; 15581 } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT; 15582 15583 typedef VkPhysicalDeviceTexelBufferAlignmentProperties VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT; 15584 15585 15586 15587 // VK_QCOM_render_pass_transform is a preprocessor guard. Do not pass it to API calls. 15588 #define VK_QCOM_render_pass_transform 1 15589 #define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 4 15590 #define VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME "VK_QCOM_render_pass_transform" 15591 typedef struct VkRenderPassTransformBeginInfoQCOM { 15592 VkStructureType sType; 15593 void* pNext; 15594 VkSurfaceTransformFlagBitsKHR transform; 15595 } VkRenderPassTransformBeginInfoQCOM; 15596 15597 typedef struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM { 15598 VkStructureType sType; 15599 void* pNext; 15600 VkSurfaceTransformFlagBitsKHR transform; 15601 VkRect2D renderArea; 15602 } VkCommandBufferInheritanceRenderPassTransformInfoQCOM; 15603 15604 15605 15606 // VK_EXT_depth_bias_control is a preprocessor guard. Do not pass it to API calls. 15607 #define VK_EXT_depth_bias_control 1 15608 #define VK_EXT_DEPTH_BIAS_CONTROL_SPEC_VERSION 1 15609 #define VK_EXT_DEPTH_BIAS_CONTROL_EXTENSION_NAME "VK_EXT_depth_bias_control" 15610 15611 typedef enum VkDepthBiasRepresentationEXT { 15612 VK_DEPTH_BIAS_REPRESENTATION_LEAST_REPRESENTABLE_VALUE_FORMAT_EXT = 0, 15613 VK_DEPTH_BIAS_REPRESENTATION_LEAST_REPRESENTABLE_VALUE_FORCE_UNORM_EXT = 1, 15614 VK_DEPTH_BIAS_REPRESENTATION_FLOAT_EXT = 2, 15615 VK_DEPTH_BIAS_REPRESENTATION_MAX_ENUM_EXT = 0x7FFFFFFF 15616 } VkDepthBiasRepresentationEXT; 15617 typedef struct VkPhysicalDeviceDepthBiasControlFeaturesEXT { 15618 VkStructureType sType; 15619 void* pNext; 15620 VkBool32 depthBiasControl; 15621 VkBool32 leastRepresentableValueForceUnormRepresentation; 15622 VkBool32 floatRepresentation; 15623 VkBool32 depthBiasExact; 15624 } VkPhysicalDeviceDepthBiasControlFeaturesEXT; 15625 15626 typedef struct VkDepthBiasInfoEXT { 15627 VkStructureType sType; 15628 const void* pNext; 15629 float depthBiasConstantFactor; 15630 float depthBiasClamp; 15631 float depthBiasSlopeFactor; 15632 } VkDepthBiasInfoEXT; 15633 15634 typedef struct VkDepthBiasRepresentationInfoEXT { 15635 VkStructureType sType; 15636 const void* pNext; 15637 VkDepthBiasRepresentationEXT depthBiasRepresentation; 15638 VkBool32 depthBiasExact; 15639 } VkDepthBiasRepresentationInfoEXT; 15640 15641 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias2EXT)(VkCommandBuffer commandBuffer, const VkDepthBiasInfoEXT* pDepthBiasInfo); 15642 15643 #ifndef VK_NO_PROTOTYPES 15644 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias2EXT( 15645 VkCommandBuffer commandBuffer, 15646 const VkDepthBiasInfoEXT* pDepthBiasInfo); 15647 #endif 15648 15649 15650 // VK_EXT_device_memory_report is a preprocessor guard. Do not pass it to API calls. 15651 #define VK_EXT_device_memory_report 1 15652 #define VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION 2 15653 #define VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME "VK_EXT_device_memory_report" 15654 15655 typedef enum VkDeviceMemoryReportEventTypeEXT { 15656 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT = 0, 15657 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT = 1, 15658 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT = 2, 15659 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT = 3, 15660 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT = 4, 15661 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 15662 } VkDeviceMemoryReportEventTypeEXT; 15663 typedef VkFlags VkDeviceMemoryReportFlagsEXT; 15664 typedef struct VkPhysicalDeviceDeviceMemoryReportFeaturesEXT { 15665 VkStructureType sType; 15666 void* pNext; 15667 VkBool32 deviceMemoryReport; 15668 } VkPhysicalDeviceDeviceMemoryReportFeaturesEXT; 15669 15670 typedef struct VkDeviceMemoryReportCallbackDataEXT { 15671 VkStructureType sType; 15672 void* pNext; 15673 VkDeviceMemoryReportFlagsEXT flags; 15674 VkDeviceMemoryReportEventTypeEXT type; 15675 uint64_t memoryObjectId; 15676 VkDeviceSize size; 15677 VkObjectType objectType; 15678 uint64_t objectHandle; 15679 uint32_t heapIndex; 15680 } VkDeviceMemoryReportCallbackDataEXT; 15681 15682 typedef void (VKAPI_PTR *PFN_vkDeviceMemoryReportCallbackEXT)( 15683 const VkDeviceMemoryReportCallbackDataEXT* pCallbackData, 15684 void* pUserData); 15685 15686 typedef struct VkDeviceDeviceMemoryReportCreateInfoEXT { 15687 VkStructureType sType; 15688 const void* pNext; 15689 VkDeviceMemoryReportFlagsEXT flags; 15690 PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback; 15691 void* pUserData; 15692 } VkDeviceDeviceMemoryReportCreateInfoEXT; 15693 15694 15695 15696 // VK_EXT_acquire_drm_display is a preprocessor guard. Do not pass it to API calls. 15697 #define VK_EXT_acquire_drm_display 1 15698 #define VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION 1 15699 #define VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME "VK_EXT_acquire_drm_display" 15700 typedef VkResult (VKAPI_PTR *PFN_vkAcquireDrmDisplayEXT)(VkPhysicalDevice physicalDevice, int32_t drmFd, VkDisplayKHR display); 15701 typedef VkResult (VKAPI_PTR *PFN_vkGetDrmDisplayEXT)(VkPhysicalDevice physicalDevice, int32_t drmFd, uint32_t connectorId, VkDisplayKHR* display); 15702 15703 #ifndef VK_NO_PROTOTYPES 15704 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireDrmDisplayEXT( 15705 VkPhysicalDevice physicalDevice, 15706 int32_t drmFd, 15707 VkDisplayKHR display); 15708 15709 VKAPI_ATTR VkResult VKAPI_CALL vkGetDrmDisplayEXT( 15710 VkPhysicalDevice physicalDevice, 15711 int32_t drmFd, 15712 uint32_t connectorId, 15713 VkDisplayKHR* display); 15714 #endif 15715 15716 15717 // VK_EXT_robustness2 is a preprocessor guard. Do not pass it to API calls. 15718 #define VK_EXT_robustness2 1 15719 #define VK_EXT_ROBUSTNESS_2_SPEC_VERSION 1 15720 #define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2" 15721 typedef struct VkPhysicalDeviceRobustness2FeaturesEXT { 15722 VkStructureType sType; 15723 void* pNext; 15724 VkBool32 robustBufferAccess2; 15725 VkBool32 robustImageAccess2; 15726 VkBool32 nullDescriptor; 15727 } VkPhysicalDeviceRobustness2FeaturesEXT; 15728 15729 typedef struct VkPhysicalDeviceRobustness2PropertiesEXT { 15730 VkStructureType sType; 15731 void* pNext; 15732 VkDeviceSize robustStorageBufferAccessSizeAlignment; 15733 VkDeviceSize robustUniformBufferAccessSizeAlignment; 15734 } VkPhysicalDeviceRobustness2PropertiesEXT; 15735 15736 15737 15738 // VK_EXT_custom_border_color is a preprocessor guard. Do not pass it to API calls. 15739 #define VK_EXT_custom_border_color 1 15740 #define VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION 12 15741 #define VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME "VK_EXT_custom_border_color" 15742 typedef struct VkSamplerCustomBorderColorCreateInfoEXT { 15743 VkStructureType sType; 15744 const void* pNext; 15745 VkClearColorValue customBorderColor; 15746 VkFormat format; 15747 } VkSamplerCustomBorderColorCreateInfoEXT; 15748 15749 typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT { 15750 VkStructureType sType; 15751 void* pNext; 15752 uint32_t maxCustomBorderColorSamplers; 15753 } VkPhysicalDeviceCustomBorderColorPropertiesEXT; 15754 15755 typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT { 15756 VkStructureType sType; 15757 void* pNext; 15758 VkBool32 customBorderColors; 15759 VkBool32 customBorderColorWithoutFormat; 15760 } VkPhysicalDeviceCustomBorderColorFeaturesEXT; 15761 15762 15763 15764 // VK_GOOGLE_user_type is a preprocessor guard. Do not pass it to API calls. 15765 #define VK_GOOGLE_user_type 1 15766 #define VK_GOOGLE_USER_TYPE_SPEC_VERSION 1 15767 #define VK_GOOGLE_USER_TYPE_EXTENSION_NAME "VK_GOOGLE_user_type" 15768 15769 15770 // VK_NV_present_barrier is a preprocessor guard. Do not pass it to API calls. 15771 #define VK_NV_present_barrier 1 15772 #define VK_NV_PRESENT_BARRIER_SPEC_VERSION 1 15773 #define VK_NV_PRESENT_BARRIER_EXTENSION_NAME "VK_NV_present_barrier" 15774 typedef struct VkPhysicalDevicePresentBarrierFeaturesNV { 15775 VkStructureType sType; 15776 void* pNext; 15777 VkBool32 presentBarrier; 15778 } VkPhysicalDevicePresentBarrierFeaturesNV; 15779 15780 typedef struct VkSurfaceCapabilitiesPresentBarrierNV { 15781 VkStructureType sType; 15782 void* pNext; 15783 VkBool32 presentBarrierSupported; 15784 } VkSurfaceCapabilitiesPresentBarrierNV; 15785 15786 typedef struct VkSwapchainPresentBarrierCreateInfoNV { 15787 VkStructureType sType; 15788 void* pNext; 15789 VkBool32 presentBarrierEnable; 15790 } VkSwapchainPresentBarrierCreateInfoNV; 15791 15792 15793 15794 // VK_EXT_private_data is a preprocessor guard. Do not pass it to API calls. 15795 #define VK_EXT_private_data 1 15796 typedef VkPrivateDataSlot VkPrivateDataSlotEXT; 15797 15798 #define VK_EXT_PRIVATE_DATA_SPEC_VERSION 1 15799 #define VK_EXT_PRIVATE_DATA_EXTENSION_NAME "VK_EXT_private_data" 15800 typedef VkPrivateDataSlotCreateFlags VkPrivateDataSlotCreateFlagsEXT; 15801 15802 typedef VkPhysicalDevicePrivateDataFeatures VkPhysicalDevicePrivateDataFeaturesEXT; 15803 15804 typedef VkDevicePrivateDataCreateInfo VkDevicePrivateDataCreateInfoEXT; 15805 15806 typedef VkPrivateDataSlotCreateInfo VkPrivateDataSlotCreateInfoEXT; 15807 15808 typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlotEXT)(VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot); 15809 typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlotEXT)(VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator); 15810 typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateDataEXT)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data); 15811 typedef void (VKAPI_PTR *PFN_vkGetPrivateDataEXT)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t* pData); 15812 15813 #ifndef VK_NO_PROTOTYPES 15814 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlotEXT( 15815 VkDevice device, 15816 const VkPrivateDataSlotCreateInfo* pCreateInfo, 15817 const VkAllocationCallbacks* pAllocator, 15818 VkPrivateDataSlot* pPrivateDataSlot); 15819 15820 VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlotEXT( 15821 VkDevice device, 15822 VkPrivateDataSlot privateDataSlot, 15823 const VkAllocationCallbacks* pAllocator); 15824 15825 VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateDataEXT( 15826 VkDevice device, 15827 VkObjectType objectType, 15828 uint64_t objectHandle, 15829 VkPrivateDataSlot privateDataSlot, 15830 uint64_t data); 15831 15832 VKAPI_ATTR void VKAPI_CALL vkGetPrivateDataEXT( 15833 VkDevice device, 15834 VkObjectType objectType, 15835 uint64_t objectHandle, 15836 VkPrivateDataSlot privateDataSlot, 15837 uint64_t* pData); 15838 #endif 15839 15840 15841 // VK_EXT_pipeline_creation_cache_control is a preprocessor guard. Do not pass it to API calls. 15842 #define VK_EXT_pipeline_creation_cache_control 1 15843 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION 3 15844 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME "VK_EXT_pipeline_creation_cache_control" 15845 typedef VkPhysicalDevicePipelineCreationCacheControlFeatures VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT; 15846 15847 15848 15849 // VK_NV_device_diagnostics_config is a preprocessor guard. Do not pass it to API calls. 15850 #define VK_NV_device_diagnostics_config 1 15851 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 2 15852 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME "VK_NV_device_diagnostics_config" 15853 15854 typedef enum VkDeviceDiagnosticsConfigFlagBitsNV { 15855 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 0x00000001, 15856 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV = 0x00000002, 15857 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV = 0x00000004, 15858 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_ERROR_REPORTING_BIT_NV = 0x00000008, 15859 VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 15860 } VkDeviceDiagnosticsConfigFlagBitsNV; 15861 typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV; 15862 typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV { 15863 VkStructureType sType; 15864 void* pNext; 15865 VkBool32 diagnosticsConfig; 15866 } VkPhysicalDeviceDiagnosticsConfigFeaturesNV; 15867 15868 typedef struct VkDeviceDiagnosticsConfigCreateInfoNV { 15869 VkStructureType sType; 15870 const void* pNext; 15871 VkDeviceDiagnosticsConfigFlagsNV flags; 15872 } VkDeviceDiagnosticsConfigCreateInfoNV; 15873 15874 15875 15876 // VK_QCOM_render_pass_store_ops is a preprocessor guard. Do not pass it to API calls. 15877 #define VK_QCOM_render_pass_store_ops 1 15878 #define VK_QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION 2 15879 #define VK_QCOM_RENDER_PASS_STORE_OPS_EXTENSION_NAME "VK_QCOM_render_pass_store_ops" 15880 15881 15882 // VK_NV_cuda_kernel_launch is a preprocessor guard. Do not pass it to API calls. 15883 #define VK_NV_cuda_kernel_launch 1 15884 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCudaModuleNV) 15885 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCudaFunctionNV) 15886 #define VK_NV_CUDA_KERNEL_LAUNCH_SPEC_VERSION 2 15887 #define VK_NV_CUDA_KERNEL_LAUNCH_EXTENSION_NAME "VK_NV_cuda_kernel_launch" 15888 typedef struct VkCudaModuleCreateInfoNV { 15889 VkStructureType sType; 15890 const void* pNext; 15891 size_t dataSize; 15892 const void* pData; 15893 } VkCudaModuleCreateInfoNV; 15894 15895 typedef struct VkCudaFunctionCreateInfoNV { 15896 VkStructureType sType; 15897 const void* pNext; 15898 VkCudaModuleNV module; 15899 const char* pName; 15900 } VkCudaFunctionCreateInfoNV; 15901 15902 typedef struct VkCudaLaunchInfoNV { 15903 VkStructureType sType; 15904 const void* pNext; 15905 VkCudaFunctionNV function; 15906 uint32_t gridDimX; 15907 uint32_t gridDimY; 15908 uint32_t gridDimZ; 15909 uint32_t blockDimX; 15910 uint32_t blockDimY; 15911 uint32_t blockDimZ; 15912 uint32_t sharedMemBytes; 15913 size_t paramCount; 15914 const void* const * pParams; 15915 size_t extraCount; 15916 const void* const * pExtras; 15917 } VkCudaLaunchInfoNV; 15918 15919 typedef struct VkPhysicalDeviceCudaKernelLaunchFeaturesNV { 15920 VkStructureType sType; 15921 void* pNext; 15922 VkBool32 cudaKernelLaunchFeatures; 15923 } VkPhysicalDeviceCudaKernelLaunchFeaturesNV; 15924 15925 typedef struct VkPhysicalDeviceCudaKernelLaunchPropertiesNV { 15926 VkStructureType sType; 15927 void* pNext; 15928 uint32_t computeCapabilityMinor; 15929 uint32_t computeCapabilityMajor; 15930 } VkPhysicalDeviceCudaKernelLaunchPropertiesNV; 15931 15932 typedef VkResult (VKAPI_PTR *PFN_vkCreateCudaModuleNV)(VkDevice device, const VkCudaModuleCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCudaModuleNV* pModule); 15933 typedef VkResult (VKAPI_PTR *PFN_vkGetCudaModuleCacheNV)(VkDevice device, VkCudaModuleNV module, size_t* pCacheSize, void* pCacheData); 15934 typedef VkResult (VKAPI_PTR *PFN_vkCreateCudaFunctionNV)(VkDevice device, const VkCudaFunctionCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCudaFunctionNV* pFunction); 15935 typedef void (VKAPI_PTR *PFN_vkDestroyCudaModuleNV)(VkDevice device, VkCudaModuleNV module, const VkAllocationCallbacks* pAllocator); 15936 typedef void (VKAPI_PTR *PFN_vkDestroyCudaFunctionNV)(VkDevice device, VkCudaFunctionNV function, const VkAllocationCallbacks* pAllocator); 15937 typedef void (VKAPI_PTR *PFN_vkCmdCudaLaunchKernelNV)(VkCommandBuffer commandBuffer, const VkCudaLaunchInfoNV* pLaunchInfo); 15938 15939 #ifndef VK_NO_PROTOTYPES 15940 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCudaModuleNV( 15941 VkDevice device, 15942 const VkCudaModuleCreateInfoNV* pCreateInfo, 15943 const VkAllocationCallbacks* pAllocator, 15944 VkCudaModuleNV* pModule); 15945 15946 VKAPI_ATTR VkResult VKAPI_CALL vkGetCudaModuleCacheNV( 15947 VkDevice device, 15948 VkCudaModuleNV module, 15949 size_t* pCacheSize, 15950 void* pCacheData); 15951 15952 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCudaFunctionNV( 15953 VkDevice device, 15954 const VkCudaFunctionCreateInfoNV* pCreateInfo, 15955 const VkAllocationCallbacks* pAllocator, 15956 VkCudaFunctionNV* pFunction); 15957 15958 VKAPI_ATTR void VKAPI_CALL vkDestroyCudaModuleNV( 15959 VkDevice device, 15960 VkCudaModuleNV module, 15961 const VkAllocationCallbacks* pAllocator); 15962 15963 VKAPI_ATTR void VKAPI_CALL vkDestroyCudaFunctionNV( 15964 VkDevice device, 15965 VkCudaFunctionNV function, 15966 const VkAllocationCallbacks* pAllocator); 15967 15968 VKAPI_ATTR void VKAPI_CALL vkCmdCudaLaunchKernelNV( 15969 VkCommandBuffer commandBuffer, 15970 const VkCudaLaunchInfoNV* pLaunchInfo); 15971 #endif 15972 15973 15974 // VK_NV_low_latency is a preprocessor guard. Do not pass it to API calls. 15975 #define VK_NV_low_latency 1 15976 #define VK_NV_LOW_LATENCY_SPEC_VERSION 1 15977 #define VK_NV_LOW_LATENCY_EXTENSION_NAME "VK_NV_low_latency" 15978 typedef struct VkQueryLowLatencySupportNV { 15979 VkStructureType sType; 15980 const void* pNext; 15981 void* pQueriedLowLatencyData; 15982 } VkQueryLowLatencySupportNV; 15983 15984 15985 15986 // VK_EXT_descriptor_buffer is a preprocessor guard. Do not pass it to API calls. 15987 #define VK_EXT_descriptor_buffer 1 15988 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR) 15989 #define VK_EXT_DESCRIPTOR_BUFFER_SPEC_VERSION 1 15990 #define VK_EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME "VK_EXT_descriptor_buffer" 15991 typedef struct VkPhysicalDeviceDescriptorBufferPropertiesEXT { 15992 VkStructureType sType; 15993 void* pNext; 15994 VkBool32 combinedImageSamplerDescriptorSingleArray; 15995 VkBool32 bufferlessPushDescriptors; 15996 VkBool32 allowSamplerImageViewPostSubmitCreation; 15997 VkDeviceSize descriptorBufferOffsetAlignment; 15998 uint32_t maxDescriptorBufferBindings; 15999 uint32_t maxResourceDescriptorBufferBindings; 16000 uint32_t maxSamplerDescriptorBufferBindings; 16001 uint32_t maxEmbeddedImmutableSamplerBindings; 16002 uint32_t maxEmbeddedImmutableSamplers; 16003 size_t bufferCaptureReplayDescriptorDataSize; 16004 size_t imageCaptureReplayDescriptorDataSize; 16005 size_t imageViewCaptureReplayDescriptorDataSize; 16006 size_t samplerCaptureReplayDescriptorDataSize; 16007 size_t accelerationStructureCaptureReplayDescriptorDataSize; 16008 size_t samplerDescriptorSize; 16009 size_t combinedImageSamplerDescriptorSize; 16010 size_t sampledImageDescriptorSize; 16011 size_t storageImageDescriptorSize; 16012 size_t uniformTexelBufferDescriptorSize; 16013 size_t robustUniformTexelBufferDescriptorSize; 16014 size_t storageTexelBufferDescriptorSize; 16015 size_t robustStorageTexelBufferDescriptorSize; 16016 size_t uniformBufferDescriptorSize; 16017 size_t robustUniformBufferDescriptorSize; 16018 size_t storageBufferDescriptorSize; 16019 size_t robustStorageBufferDescriptorSize; 16020 size_t inputAttachmentDescriptorSize; 16021 size_t accelerationStructureDescriptorSize; 16022 VkDeviceSize maxSamplerDescriptorBufferRange; 16023 VkDeviceSize maxResourceDescriptorBufferRange; 16024 VkDeviceSize samplerDescriptorBufferAddressSpaceSize; 16025 VkDeviceSize resourceDescriptorBufferAddressSpaceSize; 16026 VkDeviceSize descriptorBufferAddressSpaceSize; 16027 } VkPhysicalDeviceDescriptorBufferPropertiesEXT; 16028 16029 typedef struct VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT { 16030 VkStructureType sType; 16031 void* pNext; 16032 size_t combinedImageSamplerDensityMapDescriptorSize; 16033 } VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT; 16034 16035 typedef struct VkPhysicalDeviceDescriptorBufferFeaturesEXT { 16036 VkStructureType sType; 16037 void* pNext; 16038 VkBool32 descriptorBuffer; 16039 VkBool32 descriptorBufferCaptureReplay; 16040 VkBool32 descriptorBufferImageLayoutIgnored; 16041 VkBool32 descriptorBufferPushDescriptors; 16042 } VkPhysicalDeviceDescriptorBufferFeaturesEXT; 16043 16044 typedef struct VkDescriptorAddressInfoEXT { 16045 VkStructureType sType; 16046 void* pNext; 16047 VkDeviceAddress address; 16048 VkDeviceSize range; 16049 VkFormat format; 16050 } VkDescriptorAddressInfoEXT; 16051 16052 typedef struct VkDescriptorBufferBindingInfoEXT { 16053 VkStructureType sType; 16054 void* pNext; 16055 VkDeviceAddress address; 16056 VkBufferUsageFlags usage; 16057 } VkDescriptorBufferBindingInfoEXT; 16058 16059 typedef struct VkDescriptorBufferBindingPushDescriptorBufferHandleEXT { 16060 VkStructureType sType; 16061 void* pNext; 16062 VkBuffer buffer; 16063 } VkDescriptorBufferBindingPushDescriptorBufferHandleEXT; 16064 16065 typedef union VkDescriptorDataEXT { 16066 const VkSampler* pSampler; 16067 const VkDescriptorImageInfo* pCombinedImageSampler; 16068 const VkDescriptorImageInfo* pInputAttachmentImage; 16069 const VkDescriptorImageInfo* pSampledImage; 16070 const VkDescriptorImageInfo* pStorageImage; 16071 const VkDescriptorAddressInfoEXT* pUniformTexelBuffer; 16072 const VkDescriptorAddressInfoEXT* pStorageTexelBuffer; 16073 const VkDescriptorAddressInfoEXT* pUniformBuffer; 16074 const VkDescriptorAddressInfoEXT* pStorageBuffer; 16075 VkDeviceAddress accelerationStructure; 16076 } VkDescriptorDataEXT; 16077 16078 typedef struct VkDescriptorGetInfoEXT { 16079 VkStructureType sType; 16080 const void* pNext; 16081 VkDescriptorType type; 16082 VkDescriptorDataEXT data; 16083 } VkDescriptorGetInfoEXT; 16084 16085 typedef struct VkBufferCaptureDescriptorDataInfoEXT { 16086 VkStructureType sType; 16087 const void* pNext; 16088 VkBuffer buffer; 16089 } VkBufferCaptureDescriptorDataInfoEXT; 16090 16091 typedef struct VkImageCaptureDescriptorDataInfoEXT { 16092 VkStructureType sType; 16093 const void* pNext; 16094 VkImage image; 16095 } VkImageCaptureDescriptorDataInfoEXT; 16096 16097 typedef struct VkImageViewCaptureDescriptorDataInfoEXT { 16098 VkStructureType sType; 16099 const void* pNext; 16100 VkImageView imageView; 16101 } VkImageViewCaptureDescriptorDataInfoEXT; 16102 16103 typedef struct VkSamplerCaptureDescriptorDataInfoEXT { 16104 VkStructureType sType; 16105 const void* pNext; 16106 VkSampler sampler; 16107 } VkSamplerCaptureDescriptorDataInfoEXT; 16108 16109 typedef struct VkOpaqueCaptureDescriptorDataCreateInfoEXT { 16110 VkStructureType sType; 16111 const void* pNext; 16112 const void* opaqueCaptureDescriptorData; 16113 } VkOpaqueCaptureDescriptorDataCreateInfoEXT; 16114 16115 typedef struct VkAccelerationStructureCaptureDescriptorDataInfoEXT { 16116 VkStructureType sType; 16117 const void* pNext; 16118 VkAccelerationStructureKHR accelerationStructure; 16119 VkAccelerationStructureNV accelerationStructureNV; 16120 } VkAccelerationStructureCaptureDescriptorDataInfoEXT; 16121 16122 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSizeEXT)(VkDevice device, VkDescriptorSetLayout layout, VkDeviceSize* pLayoutSizeInBytes); 16123 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutBindingOffsetEXT)(VkDevice device, VkDescriptorSetLayout layout, uint32_t binding, VkDeviceSize* pOffset); 16124 typedef void (VKAPI_PTR *PFN_vkGetDescriptorEXT)(VkDevice device, const VkDescriptorGetInfoEXT* pDescriptorInfo, size_t dataSize, void* pDescriptor); 16125 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorBuffersEXT)(VkCommandBuffer commandBuffer, uint32_t bufferCount, const VkDescriptorBufferBindingInfoEXT* pBindingInfos); 16126 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); 16127 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set); 16128 typedef VkResult (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkBufferCaptureDescriptorDataInfoEXT* pInfo, void* pData); 16129 typedef VkResult (VKAPI_PTR *PFN_vkGetImageOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkImageCaptureDescriptorDataInfoEXT* pInfo, void* pData); 16130 typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkImageViewCaptureDescriptorDataInfoEXT* pInfo, void* pData); 16131 typedef VkResult (VKAPI_PTR *PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkSamplerCaptureDescriptorDataInfoEXT* pInfo, void* pData); 16132 typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkAccelerationStructureCaptureDescriptorDataInfoEXT* pInfo, void* pData); 16133 16134 #ifndef VK_NO_PROTOTYPES 16135 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSizeEXT( 16136 VkDevice device, 16137 VkDescriptorSetLayout layout, 16138 VkDeviceSize* pLayoutSizeInBytes); 16139 16140 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutBindingOffsetEXT( 16141 VkDevice device, 16142 VkDescriptorSetLayout layout, 16143 uint32_t binding, 16144 VkDeviceSize* pOffset); 16145 16146 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorEXT( 16147 VkDevice device, 16148 const VkDescriptorGetInfoEXT* pDescriptorInfo, 16149 size_t dataSize, 16150 void* pDescriptor); 16151 16152 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorBuffersEXT( 16153 VkCommandBuffer commandBuffer, 16154 uint32_t bufferCount, 16155 const VkDescriptorBufferBindingInfoEXT* pBindingInfos); 16156 16157 VKAPI_ATTR void VKAPI_CALL vkCmdSetDescriptorBufferOffsetsEXT( 16158 VkCommandBuffer commandBuffer, 16159 VkPipelineBindPoint pipelineBindPoint, 16160 VkPipelineLayout layout, 16161 uint32_t firstSet, 16162 uint32_t setCount, 16163 const uint32_t* pBufferIndices, 16164 const VkDeviceSize* pOffsets); 16165 16166 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorBufferEmbeddedSamplersEXT( 16167 VkCommandBuffer commandBuffer, 16168 VkPipelineBindPoint pipelineBindPoint, 16169 VkPipelineLayout layout, 16170 uint32_t set); 16171 16172 VKAPI_ATTR VkResult VKAPI_CALL vkGetBufferOpaqueCaptureDescriptorDataEXT( 16173 VkDevice device, 16174 const VkBufferCaptureDescriptorDataInfoEXT* pInfo, 16175 void* pData); 16176 16177 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageOpaqueCaptureDescriptorDataEXT( 16178 VkDevice device, 16179 const VkImageCaptureDescriptorDataInfoEXT* pInfo, 16180 void* pData); 16181 16182 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewOpaqueCaptureDescriptorDataEXT( 16183 VkDevice device, 16184 const VkImageViewCaptureDescriptorDataInfoEXT* pInfo, 16185 void* pData); 16186 16187 VKAPI_ATTR VkResult VKAPI_CALL vkGetSamplerOpaqueCaptureDescriptorDataEXT( 16188 VkDevice device, 16189 const VkSamplerCaptureDescriptorDataInfoEXT* pInfo, 16190 void* pData); 16191 16192 VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT( 16193 VkDevice device, 16194 const VkAccelerationStructureCaptureDescriptorDataInfoEXT* pInfo, 16195 void* pData); 16196 #endif 16197 16198 16199 // VK_EXT_graphics_pipeline_library is a preprocessor guard. Do not pass it to API calls. 16200 #define VK_EXT_graphics_pipeline_library 1 16201 #define VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION 1 16202 #define VK_EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME "VK_EXT_graphics_pipeline_library" 16203 16204 typedef enum VkGraphicsPipelineLibraryFlagBitsEXT { 16205 VK_GRAPHICS_PIPELINE_LIBRARY_VERTEX_INPUT_INTERFACE_BIT_EXT = 0x00000001, 16206 VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT = 0x00000002, 16207 VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT = 0x00000004, 16208 VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT = 0x00000008, 16209 VK_GRAPHICS_PIPELINE_LIBRARY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 16210 } VkGraphicsPipelineLibraryFlagBitsEXT; 16211 typedef VkFlags VkGraphicsPipelineLibraryFlagsEXT; 16212 typedef struct VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT { 16213 VkStructureType sType; 16214 void* pNext; 16215 VkBool32 graphicsPipelineLibrary; 16216 } VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT; 16217 16218 typedef struct VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT { 16219 VkStructureType sType; 16220 void* pNext; 16221 VkBool32 graphicsPipelineLibraryFastLinking; 16222 VkBool32 graphicsPipelineLibraryIndependentInterpolationDecoration; 16223 } VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT; 16224 16225 typedef struct VkGraphicsPipelineLibraryCreateInfoEXT { 16226 VkStructureType sType; 16227 const void* pNext; 16228 VkGraphicsPipelineLibraryFlagsEXT flags; 16229 } VkGraphicsPipelineLibraryCreateInfoEXT; 16230 16231 16232 16233 // VK_AMD_shader_early_and_late_fragment_tests is a preprocessor guard. Do not pass it to API calls. 16234 #define VK_AMD_shader_early_and_late_fragment_tests 1 16235 #define VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_SPEC_VERSION 1 16236 #define VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_EXTENSION_NAME "VK_AMD_shader_early_and_late_fragment_tests" 16237 typedef struct VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD { 16238 VkStructureType sType; 16239 void* pNext; 16240 VkBool32 shaderEarlyAndLateFragmentTests; 16241 } VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD; 16242 16243 16244 16245 // VK_NV_fragment_shading_rate_enums is a preprocessor guard. Do not pass it to API calls. 16246 #define VK_NV_fragment_shading_rate_enums 1 16247 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION 1 16248 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums" 16249 16250 typedef enum VkFragmentShadingRateTypeNV { 16251 VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV = 0, 16252 VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV = 1, 16253 VK_FRAGMENT_SHADING_RATE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 16254 } VkFragmentShadingRateTypeNV; 16255 16256 typedef enum VkFragmentShadingRateNV { 16257 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0, 16258 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 1, 16259 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 4, 16260 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 5, 16261 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 6, 16262 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 9, 16263 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 10, 16264 VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 11, 16265 VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 12, 16266 VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 13, 16267 VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 14, 16268 VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV = 15, 16269 VK_FRAGMENT_SHADING_RATE_MAX_ENUM_NV = 0x7FFFFFFF 16270 } VkFragmentShadingRateNV; 16271 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV { 16272 VkStructureType sType; 16273 void* pNext; 16274 VkBool32 fragmentShadingRateEnums; 16275 VkBool32 supersampleFragmentShadingRates; 16276 VkBool32 noInvocationFragmentShadingRates; 16277 } VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV; 16278 16279 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV { 16280 VkStructureType sType; 16281 void* pNext; 16282 VkSampleCountFlagBits maxFragmentShadingRateInvocationCount; 16283 } VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV; 16284 16285 typedef struct VkPipelineFragmentShadingRateEnumStateCreateInfoNV { 16286 VkStructureType sType; 16287 const void* pNext; 16288 VkFragmentShadingRateTypeNV shadingRateType; 16289 VkFragmentShadingRateNV shadingRate; 16290 VkFragmentShadingRateCombinerOpKHR combinerOps[2]; 16291 } VkPipelineFragmentShadingRateEnumStateCreateInfoNV; 16292 16293 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateEnumNV)(VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); 16294 16295 #ifndef VK_NO_PROTOTYPES 16296 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateEnumNV( 16297 VkCommandBuffer commandBuffer, 16298 VkFragmentShadingRateNV shadingRate, 16299 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); 16300 #endif 16301 16302 16303 // VK_NV_ray_tracing_motion_blur is a preprocessor guard. Do not pass it to API calls. 16304 #define VK_NV_ray_tracing_motion_blur 1 16305 #define VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION 1 16306 #define VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME "VK_NV_ray_tracing_motion_blur" 16307 16308 typedef enum VkAccelerationStructureMotionInstanceTypeNV { 16309 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV = 0, 16310 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV = 1, 16311 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV = 2, 16312 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 16313 } VkAccelerationStructureMotionInstanceTypeNV; 16314 typedef VkFlags VkAccelerationStructureMotionInfoFlagsNV; 16315 typedef VkFlags VkAccelerationStructureMotionInstanceFlagsNV; 16316 typedef union VkDeviceOrHostAddressConstKHR { 16317 VkDeviceAddress deviceAddress; 16318 const void* hostAddress; 16319 } VkDeviceOrHostAddressConstKHR; 16320 16321 typedef struct VkAccelerationStructureGeometryMotionTrianglesDataNV { 16322 VkStructureType sType; 16323 const void* pNext; 16324 VkDeviceOrHostAddressConstKHR vertexData; 16325 } VkAccelerationStructureGeometryMotionTrianglesDataNV; 16326 16327 typedef struct VkAccelerationStructureMotionInfoNV { 16328 VkStructureType sType; 16329 const void* pNext; 16330 uint32_t maxInstances; 16331 VkAccelerationStructureMotionInfoFlagsNV flags; 16332 } VkAccelerationStructureMotionInfoNV; 16333 16334 typedef struct VkAccelerationStructureMatrixMotionInstanceNV { 16335 VkTransformMatrixKHR transformT0; 16336 VkTransformMatrixKHR transformT1; 16337 uint32_t instanceCustomIndex:24; 16338 uint32_t mask:8; 16339 uint32_t instanceShaderBindingTableRecordOffset:24; 16340 VkGeometryInstanceFlagsKHR flags:8; 16341 uint64_t accelerationStructureReference; 16342 } VkAccelerationStructureMatrixMotionInstanceNV; 16343 16344 typedef struct VkSRTDataNV { 16345 float sx; 16346 float a; 16347 float b; 16348 float pvx; 16349 float sy; 16350 float c; 16351 float pvy; 16352 float sz; 16353 float pvz; 16354 float qx; 16355 float qy; 16356 float qz; 16357 float qw; 16358 float tx; 16359 float ty; 16360 float tz; 16361 } VkSRTDataNV; 16362 16363 typedef struct VkAccelerationStructureSRTMotionInstanceNV { 16364 VkSRTDataNV transformT0; 16365 VkSRTDataNV transformT1; 16366 uint32_t instanceCustomIndex:24; 16367 uint32_t mask:8; 16368 uint32_t instanceShaderBindingTableRecordOffset:24; 16369 VkGeometryInstanceFlagsKHR flags:8; 16370 uint64_t accelerationStructureReference; 16371 } VkAccelerationStructureSRTMotionInstanceNV; 16372 16373 typedef union VkAccelerationStructureMotionInstanceDataNV { 16374 VkAccelerationStructureInstanceKHR staticInstance; 16375 VkAccelerationStructureMatrixMotionInstanceNV matrixMotionInstance; 16376 VkAccelerationStructureSRTMotionInstanceNV srtMotionInstance; 16377 } VkAccelerationStructureMotionInstanceDataNV; 16378 16379 typedef struct VkAccelerationStructureMotionInstanceNV { 16380 VkAccelerationStructureMotionInstanceTypeNV type; 16381 VkAccelerationStructureMotionInstanceFlagsNV flags; 16382 VkAccelerationStructureMotionInstanceDataNV data; 16383 } VkAccelerationStructureMotionInstanceNV; 16384 16385 typedef struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV { 16386 VkStructureType sType; 16387 void* pNext; 16388 VkBool32 rayTracingMotionBlur; 16389 VkBool32 rayTracingMotionBlurPipelineTraceRaysIndirect; 16390 } VkPhysicalDeviceRayTracingMotionBlurFeaturesNV; 16391 16392 16393 16394 // VK_EXT_ycbcr_2plane_444_formats is a preprocessor guard. Do not pass it to API calls. 16395 #define VK_EXT_ycbcr_2plane_444_formats 1 16396 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION 1 16397 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME "VK_EXT_ycbcr_2plane_444_formats" 16398 typedef struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT { 16399 VkStructureType sType; 16400 void* pNext; 16401 VkBool32 ycbcr2plane444Formats; 16402 } VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT; 16403 16404 16405 16406 // VK_EXT_fragment_density_map2 is a preprocessor guard. Do not pass it to API calls. 16407 #define VK_EXT_fragment_density_map2 1 16408 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1 16409 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2" 16410 typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT { 16411 VkStructureType sType; 16412 void* pNext; 16413 VkBool32 fragmentDensityMapDeferred; 16414 } VkPhysicalDeviceFragmentDensityMap2FeaturesEXT; 16415 16416 typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT { 16417 VkStructureType sType; 16418 void* pNext; 16419 VkBool32 subsampledLoads; 16420 VkBool32 subsampledCoarseReconstructionEarlyAccess; 16421 uint32_t maxSubsampledArrayLayers; 16422 uint32_t maxDescriptorSetSubsampledSamplers; 16423 } VkPhysicalDeviceFragmentDensityMap2PropertiesEXT; 16424 16425 16426 16427 // VK_QCOM_rotated_copy_commands is a preprocessor guard. Do not pass it to API calls. 16428 #define VK_QCOM_rotated_copy_commands 1 16429 #define VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION 2 16430 #define VK_QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME "VK_QCOM_rotated_copy_commands" 16431 typedef struct VkCopyCommandTransformInfoQCOM { 16432 VkStructureType sType; 16433 const void* pNext; 16434 VkSurfaceTransformFlagBitsKHR transform; 16435 } VkCopyCommandTransformInfoQCOM; 16436 16437 16438 16439 // VK_EXT_image_robustness is a preprocessor guard. Do not pass it to API calls. 16440 #define VK_EXT_image_robustness 1 16441 #define VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION 1 16442 #define VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_image_robustness" 16443 typedef VkPhysicalDeviceImageRobustnessFeatures VkPhysicalDeviceImageRobustnessFeaturesEXT; 16444 16445 16446 16447 // VK_EXT_image_compression_control is a preprocessor guard. Do not pass it to API calls. 16448 #define VK_EXT_image_compression_control 1 16449 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION 1 16450 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME "VK_EXT_image_compression_control" 16451 16452 typedef enum VkImageCompressionFlagBitsEXT { 16453 VK_IMAGE_COMPRESSION_DEFAULT_EXT = 0, 16454 VK_IMAGE_COMPRESSION_FIXED_RATE_DEFAULT_EXT = 0x00000001, 16455 VK_IMAGE_COMPRESSION_FIXED_RATE_EXPLICIT_EXT = 0x00000002, 16456 VK_IMAGE_COMPRESSION_DISABLED_EXT = 0x00000004, 16457 VK_IMAGE_COMPRESSION_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 16458 } VkImageCompressionFlagBitsEXT; 16459 typedef VkFlags VkImageCompressionFlagsEXT; 16460 16461 typedef enum VkImageCompressionFixedRateFlagBitsEXT { 16462 VK_IMAGE_COMPRESSION_FIXED_RATE_NONE_EXT = 0, 16463 VK_IMAGE_COMPRESSION_FIXED_RATE_1BPC_BIT_EXT = 0x00000001, 16464 VK_IMAGE_COMPRESSION_FIXED_RATE_2BPC_BIT_EXT = 0x00000002, 16465 VK_IMAGE_COMPRESSION_FIXED_RATE_3BPC_BIT_EXT = 0x00000004, 16466 VK_IMAGE_COMPRESSION_FIXED_RATE_4BPC_BIT_EXT = 0x00000008, 16467 VK_IMAGE_COMPRESSION_FIXED_RATE_5BPC_BIT_EXT = 0x00000010, 16468 VK_IMAGE_COMPRESSION_FIXED_RATE_6BPC_BIT_EXT = 0x00000020, 16469 VK_IMAGE_COMPRESSION_FIXED_RATE_7BPC_BIT_EXT = 0x00000040, 16470 VK_IMAGE_COMPRESSION_FIXED_RATE_8BPC_BIT_EXT = 0x00000080, 16471 VK_IMAGE_COMPRESSION_FIXED_RATE_9BPC_BIT_EXT = 0x00000100, 16472 VK_IMAGE_COMPRESSION_FIXED_RATE_10BPC_BIT_EXT = 0x00000200, 16473 VK_IMAGE_COMPRESSION_FIXED_RATE_11BPC_BIT_EXT = 0x00000400, 16474 VK_IMAGE_COMPRESSION_FIXED_RATE_12BPC_BIT_EXT = 0x00000800, 16475 VK_IMAGE_COMPRESSION_FIXED_RATE_13BPC_BIT_EXT = 0x00001000, 16476 VK_IMAGE_COMPRESSION_FIXED_RATE_14BPC_BIT_EXT = 0x00002000, 16477 VK_IMAGE_COMPRESSION_FIXED_RATE_15BPC_BIT_EXT = 0x00004000, 16478 VK_IMAGE_COMPRESSION_FIXED_RATE_16BPC_BIT_EXT = 0x00008000, 16479 VK_IMAGE_COMPRESSION_FIXED_RATE_17BPC_BIT_EXT = 0x00010000, 16480 VK_IMAGE_COMPRESSION_FIXED_RATE_18BPC_BIT_EXT = 0x00020000, 16481 VK_IMAGE_COMPRESSION_FIXED_RATE_19BPC_BIT_EXT = 0x00040000, 16482 VK_IMAGE_COMPRESSION_FIXED_RATE_20BPC_BIT_EXT = 0x00080000, 16483 VK_IMAGE_COMPRESSION_FIXED_RATE_21BPC_BIT_EXT = 0x00100000, 16484 VK_IMAGE_COMPRESSION_FIXED_RATE_22BPC_BIT_EXT = 0x00200000, 16485 VK_IMAGE_COMPRESSION_FIXED_RATE_23BPC_BIT_EXT = 0x00400000, 16486 VK_IMAGE_COMPRESSION_FIXED_RATE_24BPC_BIT_EXT = 0x00800000, 16487 VK_IMAGE_COMPRESSION_FIXED_RATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 16488 } VkImageCompressionFixedRateFlagBitsEXT; 16489 typedef VkFlags VkImageCompressionFixedRateFlagsEXT; 16490 typedef struct VkPhysicalDeviceImageCompressionControlFeaturesEXT { 16491 VkStructureType sType; 16492 void* pNext; 16493 VkBool32 imageCompressionControl; 16494 } VkPhysicalDeviceImageCompressionControlFeaturesEXT; 16495 16496 typedef struct VkImageCompressionControlEXT { 16497 VkStructureType sType; 16498 const void* pNext; 16499 VkImageCompressionFlagsEXT flags; 16500 uint32_t compressionControlPlaneCount; 16501 VkImageCompressionFixedRateFlagsEXT* pFixedRateFlags; 16502 } VkImageCompressionControlEXT; 16503 16504 typedef struct VkImageCompressionPropertiesEXT { 16505 VkStructureType sType; 16506 void* pNext; 16507 VkImageCompressionFlagsEXT imageCompressionFlags; 16508 VkImageCompressionFixedRateFlagsEXT imageCompressionFixedRateFlags; 16509 } VkImageCompressionPropertiesEXT; 16510 16511 16512 16513 // VK_EXT_attachment_feedback_loop_layout is a preprocessor guard. Do not pass it to API calls. 16514 #define VK_EXT_attachment_feedback_loop_layout 1 16515 #define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_SPEC_VERSION 2 16516 #define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_EXTENSION_NAME "VK_EXT_attachment_feedback_loop_layout" 16517 typedef struct VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT { 16518 VkStructureType sType; 16519 void* pNext; 16520 VkBool32 attachmentFeedbackLoopLayout; 16521 } VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT; 16522 16523 16524 16525 // VK_EXT_4444_formats is a preprocessor guard. Do not pass it to API calls. 16526 #define VK_EXT_4444_formats 1 16527 #define VK_EXT_4444_FORMATS_SPEC_VERSION 1 16528 #define VK_EXT_4444_FORMATS_EXTENSION_NAME "VK_EXT_4444_formats" 16529 typedef struct VkPhysicalDevice4444FormatsFeaturesEXT { 16530 VkStructureType sType; 16531 void* pNext; 16532 VkBool32 formatA4R4G4B4; 16533 VkBool32 formatA4B4G4R4; 16534 } VkPhysicalDevice4444FormatsFeaturesEXT; 16535 16536 16537 16538 // VK_EXT_device_fault is a preprocessor guard. Do not pass it to API calls. 16539 #define VK_EXT_device_fault 1 16540 #define VK_EXT_DEVICE_FAULT_SPEC_VERSION 2 16541 #define VK_EXT_DEVICE_FAULT_EXTENSION_NAME "VK_EXT_device_fault" 16542 16543 typedef enum VkDeviceFaultAddressTypeEXT { 16544 VK_DEVICE_FAULT_ADDRESS_TYPE_NONE_EXT = 0, 16545 VK_DEVICE_FAULT_ADDRESS_TYPE_READ_INVALID_EXT = 1, 16546 VK_DEVICE_FAULT_ADDRESS_TYPE_WRITE_INVALID_EXT = 2, 16547 VK_DEVICE_FAULT_ADDRESS_TYPE_EXECUTE_INVALID_EXT = 3, 16548 VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_UNKNOWN_EXT = 4, 16549 VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_INVALID_EXT = 5, 16550 VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_FAULT_EXT = 6, 16551 VK_DEVICE_FAULT_ADDRESS_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 16552 } VkDeviceFaultAddressTypeEXT; 16553 16554 typedef enum VkDeviceFaultVendorBinaryHeaderVersionEXT { 16555 VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_ONE_EXT = 1, 16556 VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF 16557 } VkDeviceFaultVendorBinaryHeaderVersionEXT; 16558 typedef struct VkPhysicalDeviceFaultFeaturesEXT { 16559 VkStructureType sType; 16560 void* pNext; 16561 VkBool32 deviceFault; 16562 VkBool32 deviceFaultVendorBinary; 16563 } VkPhysicalDeviceFaultFeaturesEXT; 16564 16565 typedef struct VkDeviceFaultCountsEXT { 16566 VkStructureType sType; 16567 void* pNext; 16568 uint32_t addressInfoCount; 16569 uint32_t vendorInfoCount; 16570 VkDeviceSize vendorBinarySize; 16571 } VkDeviceFaultCountsEXT; 16572 16573 typedef struct VkDeviceFaultAddressInfoEXT { 16574 VkDeviceFaultAddressTypeEXT addressType; 16575 VkDeviceAddress reportedAddress; 16576 VkDeviceSize addressPrecision; 16577 } VkDeviceFaultAddressInfoEXT; 16578 16579 typedef struct VkDeviceFaultVendorInfoEXT { 16580 char description[VK_MAX_DESCRIPTION_SIZE]; 16581 uint64_t vendorFaultCode; 16582 uint64_t vendorFaultData; 16583 } VkDeviceFaultVendorInfoEXT; 16584 16585 typedef struct VkDeviceFaultInfoEXT { 16586 VkStructureType sType; 16587 void* pNext; 16588 char description[VK_MAX_DESCRIPTION_SIZE]; 16589 VkDeviceFaultAddressInfoEXT* pAddressInfos; 16590 VkDeviceFaultVendorInfoEXT* pVendorInfos; 16591 void* pVendorBinaryData; 16592 } VkDeviceFaultInfoEXT; 16593 16594 typedef struct VkDeviceFaultVendorBinaryHeaderVersionOneEXT { 16595 uint32_t headerSize; 16596 VkDeviceFaultVendorBinaryHeaderVersionEXT headerVersion; 16597 uint32_t vendorID; 16598 uint32_t deviceID; 16599 uint32_t driverVersion; 16600 uint8_t pipelineCacheUUID[VK_UUID_SIZE]; 16601 uint32_t applicationNameOffset; 16602 uint32_t applicationVersion; 16603 uint32_t engineNameOffset; 16604 uint32_t engineVersion; 16605 uint32_t apiVersion; 16606 } VkDeviceFaultVendorBinaryHeaderVersionOneEXT; 16607 16608 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceFaultInfoEXT)(VkDevice device, VkDeviceFaultCountsEXT* pFaultCounts, VkDeviceFaultInfoEXT* pFaultInfo); 16609 16610 #ifndef VK_NO_PROTOTYPES 16611 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceFaultInfoEXT( 16612 VkDevice device, 16613 VkDeviceFaultCountsEXT* pFaultCounts, 16614 VkDeviceFaultInfoEXT* pFaultInfo); 16615 #endif 16616 16617 16618 // VK_ARM_rasterization_order_attachment_access is a preprocessor guard. Do not pass it to API calls. 16619 #define VK_ARM_rasterization_order_attachment_access 1 16620 #define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION 1 16621 #define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME "VK_ARM_rasterization_order_attachment_access" 16622 typedef struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT { 16623 VkStructureType sType; 16624 void* pNext; 16625 VkBool32 rasterizationOrderColorAttachmentAccess; 16626 VkBool32 rasterizationOrderDepthAttachmentAccess; 16627 VkBool32 rasterizationOrderStencilAttachmentAccess; 16628 } VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT; 16629 16630 typedef VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM; 16631 16632 16633 16634 // VK_EXT_rgba10x6_formats is a preprocessor guard. Do not pass it to API calls. 16635 #define VK_EXT_rgba10x6_formats 1 16636 #define VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION 1 16637 #define VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME "VK_EXT_rgba10x6_formats" 16638 typedef struct VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT { 16639 VkStructureType sType; 16640 void* pNext; 16641 VkBool32 formatRgba10x6WithoutYCbCrSampler; 16642 } VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT; 16643 16644 16645 16646 // VK_VALVE_mutable_descriptor_type is a preprocessor guard. Do not pass it to API calls. 16647 #define VK_VALVE_mutable_descriptor_type 1 16648 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1 16649 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_VALVE_mutable_descriptor_type" 16650 typedef struct VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT { 16651 VkStructureType sType; 16652 void* pNext; 16653 VkBool32 mutableDescriptorType; 16654 } VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT; 16655 16656 typedef VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE; 16657 16658 typedef struct VkMutableDescriptorTypeListEXT { 16659 uint32_t descriptorTypeCount; 16660 const VkDescriptorType* pDescriptorTypes; 16661 } VkMutableDescriptorTypeListEXT; 16662 16663 typedef VkMutableDescriptorTypeListEXT VkMutableDescriptorTypeListVALVE; 16664 16665 typedef struct VkMutableDescriptorTypeCreateInfoEXT { 16666 VkStructureType sType; 16667 const void* pNext; 16668 uint32_t mutableDescriptorTypeListCount; 16669 const VkMutableDescriptorTypeListEXT* pMutableDescriptorTypeLists; 16670 } VkMutableDescriptorTypeCreateInfoEXT; 16671 16672 typedef VkMutableDescriptorTypeCreateInfoEXT VkMutableDescriptorTypeCreateInfoVALVE; 16673 16674 16675 16676 // VK_EXT_vertex_input_dynamic_state is a preprocessor guard. Do not pass it to API calls. 16677 #define VK_EXT_vertex_input_dynamic_state 1 16678 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION 2 16679 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_vertex_input_dynamic_state" 16680 typedef struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT { 16681 VkStructureType sType; 16682 void* pNext; 16683 VkBool32 vertexInputDynamicState; 16684 } VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT; 16685 16686 typedef struct VkVertexInputBindingDescription2EXT { 16687 VkStructureType sType; 16688 void* pNext; 16689 uint32_t binding; 16690 uint32_t stride; 16691 VkVertexInputRate inputRate; 16692 uint32_t divisor; 16693 } VkVertexInputBindingDescription2EXT; 16694 16695 typedef struct VkVertexInputAttributeDescription2EXT { 16696 VkStructureType sType; 16697 void* pNext; 16698 uint32_t location; 16699 uint32_t binding; 16700 VkFormat format; 16701 uint32_t offset; 16702 } VkVertexInputAttributeDescription2EXT; 16703 16704 typedef void (VKAPI_PTR *PFN_vkCmdSetVertexInputEXT)(VkCommandBuffer commandBuffer, uint32_t vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, uint32_t vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions); 16705 16706 #ifndef VK_NO_PROTOTYPES 16707 VKAPI_ATTR void VKAPI_CALL vkCmdSetVertexInputEXT( 16708 VkCommandBuffer commandBuffer, 16709 uint32_t vertexBindingDescriptionCount, 16710 const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, 16711 uint32_t vertexAttributeDescriptionCount, 16712 const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions); 16713 #endif 16714 16715 16716 // VK_EXT_physical_device_drm is a preprocessor guard. Do not pass it to API calls. 16717 #define VK_EXT_physical_device_drm 1 16718 #define VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION 1 16719 #define VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME "VK_EXT_physical_device_drm" 16720 typedef struct VkPhysicalDeviceDrmPropertiesEXT { 16721 VkStructureType sType; 16722 void* pNext; 16723 VkBool32 hasPrimary; 16724 VkBool32 hasRender; 16725 int64_t primaryMajor; 16726 int64_t primaryMinor; 16727 int64_t renderMajor; 16728 int64_t renderMinor; 16729 } VkPhysicalDeviceDrmPropertiesEXT; 16730 16731 16732 16733 // VK_EXT_device_address_binding_report is a preprocessor guard. Do not pass it to API calls. 16734 #define VK_EXT_device_address_binding_report 1 16735 #define VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_SPEC_VERSION 1 16736 #define VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_EXTENSION_NAME "VK_EXT_device_address_binding_report" 16737 16738 typedef enum VkDeviceAddressBindingTypeEXT { 16739 VK_DEVICE_ADDRESS_BINDING_TYPE_BIND_EXT = 0, 16740 VK_DEVICE_ADDRESS_BINDING_TYPE_UNBIND_EXT = 1, 16741 VK_DEVICE_ADDRESS_BINDING_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 16742 } VkDeviceAddressBindingTypeEXT; 16743 16744 typedef enum VkDeviceAddressBindingFlagBitsEXT { 16745 VK_DEVICE_ADDRESS_BINDING_INTERNAL_OBJECT_BIT_EXT = 0x00000001, 16746 VK_DEVICE_ADDRESS_BINDING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 16747 } VkDeviceAddressBindingFlagBitsEXT; 16748 typedef VkFlags VkDeviceAddressBindingFlagsEXT; 16749 typedef struct VkPhysicalDeviceAddressBindingReportFeaturesEXT { 16750 VkStructureType sType; 16751 void* pNext; 16752 VkBool32 reportAddressBinding; 16753 } VkPhysicalDeviceAddressBindingReportFeaturesEXT; 16754 16755 typedef struct VkDeviceAddressBindingCallbackDataEXT { 16756 VkStructureType sType; 16757 void* pNext; 16758 VkDeviceAddressBindingFlagsEXT flags; 16759 VkDeviceAddress baseAddress; 16760 VkDeviceSize size; 16761 VkDeviceAddressBindingTypeEXT bindingType; 16762 } VkDeviceAddressBindingCallbackDataEXT; 16763 16764 16765 16766 // VK_EXT_depth_clip_control is a preprocessor guard. Do not pass it to API calls. 16767 #define VK_EXT_depth_clip_control 1 16768 #define VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION 1 16769 #define VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME "VK_EXT_depth_clip_control" 16770 typedef struct VkPhysicalDeviceDepthClipControlFeaturesEXT { 16771 VkStructureType sType; 16772 void* pNext; 16773 VkBool32 depthClipControl; 16774 } VkPhysicalDeviceDepthClipControlFeaturesEXT; 16775 16776 typedef struct VkPipelineViewportDepthClipControlCreateInfoEXT { 16777 VkStructureType sType; 16778 const void* pNext; 16779 VkBool32 negativeOneToOne; 16780 } VkPipelineViewportDepthClipControlCreateInfoEXT; 16781 16782 16783 16784 // VK_EXT_primitive_topology_list_restart is a preprocessor guard. Do not pass it to API calls. 16785 #define VK_EXT_primitive_topology_list_restart 1 16786 #define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION 1 16787 #define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME "VK_EXT_primitive_topology_list_restart" 16788 typedef struct VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT { 16789 VkStructureType sType; 16790 void* pNext; 16791 VkBool32 primitiveTopologyListRestart; 16792 VkBool32 primitiveTopologyPatchListRestart; 16793 } VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT; 16794 16795 16796 16797 // VK_HUAWEI_subpass_shading is a preprocessor guard. Do not pass it to API calls. 16798 #define VK_HUAWEI_subpass_shading 1 16799 #define VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION 3 16800 #define VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME "VK_HUAWEI_subpass_shading" 16801 typedef struct VkSubpassShadingPipelineCreateInfoHUAWEI { 16802 VkStructureType sType; 16803 void* pNext; 16804 VkRenderPass renderPass; 16805 uint32_t subpass; 16806 } VkSubpassShadingPipelineCreateInfoHUAWEI; 16807 16808 typedef struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI { 16809 VkStructureType sType; 16810 void* pNext; 16811 VkBool32 subpassShading; 16812 } VkPhysicalDeviceSubpassShadingFeaturesHUAWEI; 16813 16814 typedef struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI { 16815 VkStructureType sType; 16816 void* pNext; 16817 uint32_t maxSubpassShadingWorkgroupSizeAspectRatio; 16818 } VkPhysicalDeviceSubpassShadingPropertiesHUAWEI; 16819 16820 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI)(VkDevice device, VkRenderPass renderpass, VkExtent2D* pMaxWorkgroupSize); 16821 typedef void (VKAPI_PTR *PFN_vkCmdSubpassShadingHUAWEI)(VkCommandBuffer commandBuffer); 16822 16823 #ifndef VK_NO_PROTOTYPES 16824 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( 16825 VkDevice device, 16826 VkRenderPass renderpass, 16827 VkExtent2D* pMaxWorkgroupSize); 16828 16829 VKAPI_ATTR void VKAPI_CALL vkCmdSubpassShadingHUAWEI( 16830 VkCommandBuffer commandBuffer); 16831 #endif 16832 16833 16834 // VK_HUAWEI_invocation_mask is a preprocessor guard. Do not pass it to API calls. 16835 #define VK_HUAWEI_invocation_mask 1 16836 #define VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION 1 16837 #define VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME "VK_HUAWEI_invocation_mask" 16838 typedef struct VkPhysicalDeviceInvocationMaskFeaturesHUAWEI { 16839 VkStructureType sType; 16840 void* pNext; 16841 VkBool32 invocationMask; 16842 } VkPhysicalDeviceInvocationMaskFeaturesHUAWEI; 16843 16844 typedef void (VKAPI_PTR *PFN_vkCmdBindInvocationMaskHUAWEI)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout); 16845 16846 #ifndef VK_NO_PROTOTYPES 16847 VKAPI_ATTR void VKAPI_CALL vkCmdBindInvocationMaskHUAWEI( 16848 VkCommandBuffer commandBuffer, 16849 VkImageView imageView, 16850 VkImageLayout imageLayout); 16851 #endif 16852 16853 16854 // VK_NV_external_memory_rdma is a preprocessor guard. Do not pass it to API calls. 16855 #define VK_NV_external_memory_rdma 1 16856 typedef void* VkRemoteAddressNV; 16857 #define VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION 1 16858 #define VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME "VK_NV_external_memory_rdma" 16859 typedef struct VkMemoryGetRemoteAddressInfoNV { 16860 VkStructureType sType; 16861 const void* pNext; 16862 VkDeviceMemory memory; 16863 VkExternalMemoryHandleTypeFlagBits handleType; 16864 } VkMemoryGetRemoteAddressInfoNV; 16865 16866 typedef struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV { 16867 VkStructureType sType; 16868 void* pNext; 16869 VkBool32 externalMemoryRDMA; 16870 } VkPhysicalDeviceExternalMemoryRDMAFeaturesNV; 16871 16872 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryRemoteAddressNV)(VkDevice device, const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, VkRemoteAddressNV* pAddress); 16873 16874 #ifndef VK_NO_PROTOTYPES 16875 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryRemoteAddressNV( 16876 VkDevice device, 16877 const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, 16878 VkRemoteAddressNV* pAddress); 16879 #endif 16880 16881 16882 // VK_EXT_pipeline_properties is a preprocessor guard. Do not pass it to API calls. 16883 #define VK_EXT_pipeline_properties 1 16884 #define VK_EXT_PIPELINE_PROPERTIES_SPEC_VERSION 1 16885 #define VK_EXT_PIPELINE_PROPERTIES_EXTENSION_NAME "VK_EXT_pipeline_properties" 16886 typedef VkPipelineInfoKHR VkPipelineInfoEXT; 16887 16888 typedef struct VkPipelinePropertiesIdentifierEXT { 16889 VkStructureType sType; 16890 void* pNext; 16891 uint8_t pipelineIdentifier[VK_UUID_SIZE]; 16892 } VkPipelinePropertiesIdentifierEXT; 16893 16894 typedef struct VkPhysicalDevicePipelinePropertiesFeaturesEXT { 16895 VkStructureType sType; 16896 void* pNext; 16897 VkBool32 pipelinePropertiesIdentifier; 16898 } VkPhysicalDevicePipelinePropertiesFeaturesEXT; 16899 16900 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelinePropertiesEXT)(VkDevice device, const VkPipelineInfoEXT* pPipelineInfo, VkBaseOutStructure* pPipelineProperties); 16901 16902 #ifndef VK_NO_PROTOTYPES 16903 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelinePropertiesEXT( 16904 VkDevice device, 16905 const VkPipelineInfoEXT* pPipelineInfo, 16906 VkBaseOutStructure* pPipelineProperties); 16907 #endif 16908 16909 16910 // VK_EXT_frame_boundary is a preprocessor guard. Do not pass it to API calls. 16911 #define VK_EXT_frame_boundary 1 16912 #define VK_EXT_FRAME_BOUNDARY_SPEC_VERSION 1 16913 #define VK_EXT_FRAME_BOUNDARY_EXTENSION_NAME "VK_EXT_frame_boundary" 16914 16915 typedef enum VkFrameBoundaryFlagBitsEXT { 16916 VK_FRAME_BOUNDARY_FRAME_END_BIT_EXT = 0x00000001, 16917 VK_FRAME_BOUNDARY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 16918 } VkFrameBoundaryFlagBitsEXT; 16919 typedef VkFlags VkFrameBoundaryFlagsEXT; 16920 typedef struct VkPhysicalDeviceFrameBoundaryFeaturesEXT { 16921 VkStructureType sType; 16922 void* pNext; 16923 VkBool32 frameBoundary; 16924 } VkPhysicalDeviceFrameBoundaryFeaturesEXT; 16925 16926 typedef struct VkFrameBoundaryEXT { 16927 VkStructureType sType; 16928 const void* pNext; 16929 VkFrameBoundaryFlagsEXT flags; 16930 uint64_t frameID; 16931 uint32_t imageCount; 16932 const VkImage* pImages; 16933 uint32_t bufferCount; 16934 const VkBuffer* pBuffers; 16935 uint64_t tagName; 16936 size_t tagSize; 16937 const void* pTag; 16938 } VkFrameBoundaryEXT; 16939 16940 16941 16942 // VK_EXT_multisampled_render_to_single_sampled is a preprocessor guard. Do not pass it to API calls. 16943 #define VK_EXT_multisampled_render_to_single_sampled 1 16944 #define VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_SPEC_VERSION 1 16945 #define VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_EXTENSION_NAME "VK_EXT_multisampled_render_to_single_sampled" 16946 typedef struct VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT { 16947 VkStructureType sType; 16948 void* pNext; 16949 VkBool32 multisampledRenderToSingleSampled; 16950 } VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT; 16951 16952 typedef struct VkSubpassResolvePerformanceQueryEXT { 16953 VkStructureType sType; 16954 void* pNext; 16955 VkBool32 optimal; 16956 } VkSubpassResolvePerformanceQueryEXT; 16957 16958 typedef struct VkMultisampledRenderToSingleSampledInfoEXT { 16959 VkStructureType sType; 16960 const void* pNext; 16961 VkBool32 multisampledRenderToSingleSampledEnable; 16962 VkSampleCountFlagBits rasterizationSamples; 16963 } VkMultisampledRenderToSingleSampledInfoEXT; 16964 16965 16966 16967 // VK_EXT_extended_dynamic_state2 is a preprocessor guard. Do not pass it to API calls. 16968 #define VK_EXT_extended_dynamic_state2 1 16969 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION 1 16970 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME "VK_EXT_extended_dynamic_state2" 16971 typedef struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT { 16972 VkStructureType sType; 16973 void* pNext; 16974 VkBool32 extendedDynamicState2; 16975 VkBool32 extendedDynamicState2LogicOp; 16976 VkBool32 extendedDynamicState2PatchControlPoints; 16977 } VkPhysicalDeviceExtendedDynamicState2FeaturesEXT; 16978 16979 typedef void (VKAPI_PTR *PFN_vkCmdSetPatchControlPointsEXT)(VkCommandBuffer commandBuffer, uint32_t patchControlPoints); 16980 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable); 16981 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable); 16982 typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEXT)(VkCommandBuffer commandBuffer, VkLogicOp logicOp); 16983 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable); 16984 16985 #ifndef VK_NO_PROTOTYPES 16986 VKAPI_ATTR void VKAPI_CALL vkCmdSetPatchControlPointsEXT( 16987 VkCommandBuffer commandBuffer, 16988 uint32_t patchControlPoints); 16989 16990 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnableEXT( 16991 VkCommandBuffer commandBuffer, 16992 VkBool32 rasterizerDiscardEnable); 16993 16994 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnableEXT( 16995 VkCommandBuffer commandBuffer, 16996 VkBool32 depthBiasEnable); 16997 16998 VKAPI_ATTR void VKAPI_CALL vkCmdSetLogicOpEXT( 16999 VkCommandBuffer commandBuffer, 17000 VkLogicOp logicOp); 17001 17002 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnableEXT( 17003 VkCommandBuffer commandBuffer, 17004 VkBool32 primitiveRestartEnable); 17005 #endif 17006 17007 17008 // VK_EXT_color_write_enable is a preprocessor guard. Do not pass it to API calls. 17009 #define VK_EXT_color_write_enable 1 17010 #define VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION 1 17011 #define VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME "VK_EXT_color_write_enable" 17012 typedef struct VkPhysicalDeviceColorWriteEnableFeaturesEXT { 17013 VkStructureType sType; 17014 void* pNext; 17015 VkBool32 colorWriteEnable; 17016 } VkPhysicalDeviceColorWriteEnableFeaturesEXT; 17017 17018 typedef struct VkPipelineColorWriteCreateInfoEXT { 17019 VkStructureType sType; 17020 const void* pNext; 17021 uint32_t attachmentCount; 17022 const VkBool32* pColorWriteEnables; 17023 } VkPipelineColorWriteCreateInfoEXT; 17024 17025 typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteEnableEXT)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32* pColorWriteEnables); 17026 17027 #ifndef VK_NO_PROTOTYPES 17028 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteEnableEXT( 17029 VkCommandBuffer commandBuffer, 17030 uint32_t attachmentCount, 17031 const VkBool32* pColorWriteEnables); 17032 #endif 17033 17034 17035 // VK_EXT_primitives_generated_query is a preprocessor guard. Do not pass it to API calls. 17036 #define VK_EXT_primitives_generated_query 1 17037 #define VK_EXT_PRIMITIVES_GENERATED_QUERY_SPEC_VERSION 1 17038 #define VK_EXT_PRIMITIVES_GENERATED_QUERY_EXTENSION_NAME "VK_EXT_primitives_generated_query" 17039 typedef struct VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT { 17040 VkStructureType sType; 17041 void* pNext; 17042 VkBool32 primitivesGeneratedQuery; 17043 VkBool32 primitivesGeneratedQueryWithRasterizerDiscard; 17044 VkBool32 primitivesGeneratedQueryWithNonZeroStreams; 17045 } VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT; 17046 17047 17048 17049 // VK_EXT_global_priority_query is a preprocessor guard. Do not pass it to API calls. 17050 #define VK_EXT_global_priority_query 1 17051 #define VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION 1 17052 #define VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME "VK_EXT_global_priority_query" 17053 #define VK_MAX_GLOBAL_PRIORITY_SIZE_EXT VK_MAX_GLOBAL_PRIORITY_SIZE_KHR 17054 typedef VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT; 17055 17056 typedef VkQueueFamilyGlobalPriorityPropertiesKHR VkQueueFamilyGlobalPriorityPropertiesEXT; 17057 17058 17059 17060 // VK_EXT_image_view_min_lod is a preprocessor guard. Do not pass it to API calls. 17061 #define VK_EXT_image_view_min_lod 1 17062 #define VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION 1 17063 #define VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME "VK_EXT_image_view_min_lod" 17064 typedef struct VkPhysicalDeviceImageViewMinLodFeaturesEXT { 17065 VkStructureType sType; 17066 void* pNext; 17067 VkBool32 minLod; 17068 } VkPhysicalDeviceImageViewMinLodFeaturesEXT; 17069 17070 typedef struct VkImageViewMinLodCreateInfoEXT { 17071 VkStructureType sType; 17072 const void* pNext; 17073 float minLod; 17074 } VkImageViewMinLodCreateInfoEXT; 17075 17076 17077 17078 // VK_EXT_multi_draw is a preprocessor guard. Do not pass it to API calls. 17079 #define VK_EXT_multi_draw 1 17080 #define VK_EXT_MULTI_DRAW_SPEC_VERSION 1 17081 #define VK_EXT_MULTI_DRAW_EXTENSION_NAME "VK_EXT_multi_draw" 17082 typedef struct VkPhysicalDeviceMultiDrawFeaturesEXT { 17083 VkStructureType sType; 17084 void* pNext; 17085 VkBool32 multiDraw; 17086 } VkPhysicalDeviceMultiDrawFeaturesEXT; 17087 17088 typedef struct VkPhysicalDeviceMultiDrawPropertiesEXT { 17089 VkStructureType sType; 17090 void* pNext; 17091 uint32_t maxMultiDrawCount; 17092 } VkPhysicalDeviceMultiDrawPropertiesEXT; 17093 17094 typedef struct VkMultiDrawInfoEXT { 17095 uint32_t firstVertex; 17096 uint32_t vertexCount; 17097 } VkMultiDrawInfoEXT; 17098 17099 typedef struct VkMultiDrawIndexedInfoEXT { 17100 uint32_t firstIndex; 17101 uint32_t indexCount; 17102 int32_t vertexOffset; 17103 } VkMultiDrawIndexedInfoEXT; 17104 17105 typedef void (VKAPI_PTR *PFN_vkCmdDrawMultiEXT)(VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawInfoEXT* pVertexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride); 17106 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); 17107 17108 #ifndef VK_NO_PROTOTYPES 17109 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiEXT( 17110 VkCommandBuffer commandBuffer, 17111 uint32_t drawCount, 17112 const VkMultiDrawInfoEXT* pVertexInfo, 17113 uint32_t instanceCount, 17114 uint32_t firstInstance, 17115 uint32_t stride); 17116 17117 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiIndexedEXT( 17118 VkCommandBuffer commandBuffer, 17119 uint32_t drawCount, 17120 const VkMultiDrawIndexedInfoEXT* pIndexInfo, 17121 uint32_t instanceCount, 17122 uint32_t firstInstance, 17123 uint32_t stride, 17124 const int32_t* pVertexOffset); 17125 #endif 17126 17127 17128 // VK_EXT_image_2d_view_of_3d is a preprocessor guard. Do not pass it to API calls. 17129 #define VK_EXT_image_2d_view_of_3d 1 17130 #define VK_EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION 1 17131 #define VK_EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME "VK_EXT_image_2d_view_of_3d" 17132 typedef struct VkPhysicalDeviceImage2DViewOf3DFeaturesEXT { 17133 VkStructureType sType; 17134 void* pNext; 17135 VkBool32 image2DViewOf3D; 17136 VkBool32 sampler2DViewOf3D; 17137 } VkPhysicalDeviceImage2DViewOf3DFeaturesEXT; 17138 17139 17140 17141 // VK_EXT_shader_tile_image is a preprocessor guard. Do not pass it to API calls. 17142 #define VK_EXT_shader_tile_image 1 17143 #define VK_EXT_SHADER_TILE_IMAGE_SPEC_VERSION 1 17144 #define VK_EXT_SHADER_TILE_IMAGE_EXTENSION_NAME "VK_EXT_shader_tile_image" 17145 typedef struct VkPhysicalDeviceShaderTileImageFeaturesEXT { 17146 VkStructureType sType; 17147 void* pNext; 17148 VkBool32 shaderTileImageColorReadAccess; 17149 VkBool32 shaderTileImageDepthReadAccess; 17150 VkBool32 shaderTileImageStencilReadAccess; 17151 } VkPhysicalDeviceShaderTileImageFeaturesEXT; 17152 17153 typedef struct VkPhysicalDeviceShaderTileImagePropertiesEXT { 17154 VkStructureType sType; 17155 void* pNext; 17156 VkBool32 shaderTileImageCoherentReadAccelerated; 17157 VkBool32 shaderTileImageReadSampleFromPixelRateInvocation; 17158 VkBool32 shaderTileImageReadFromHelperInvocation; 17159 } VkPhysicalDeviceShaderTileImagePropertiesEXT; 17160 17161 17162 17163 // VK_EXT_opacity_micromap is a preprocessor guard. Do not pass it to API calls. 17164 #define VK_EXT_opacity_micromap 1 17165 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkMicromapEXT) 17166 #define VK_EXT_OPACITY_MICROMAP_SPEC_VERSION 2 17167 #define VK_EXT_OPACITY_MICROMAP_EXTENSION_NAME "VK_EXT_opacity_micromap" 17168 17169 typedef enum VkMicromapTypeEXT { 17170 VK_MICROMAP_TYPE_OPACITY_MICROMAP_EXT = 0, 17171 #ifdef VK_ENABLE_BETA_EXTENSIONS 17172 VK_MICROMAP_TYPE_DISPLACEMENT_MICROMAP_NV = 1000397000, 17173 #endif 17174 VK_MICROMAP_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 17175 } VkMicromapTypeEXT; 17176 17177 typedef enum VkBuildMicromapModeEXT { 17178 VK_BUILD_MICROMAP_MODE_BUILD_EXT = 0, 17179 VK_BUILD_MICROMAP_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 17180 } VkBuildMicromapModeEXT; 17181 17182 typedef enum VkCopyMicromapModeEXT { 17183 VK_COPY_MICROMAP_MODE_CLONE_EXT = 0, 17184 VK_COPY_MICROMAP_MODE_SERIALIZE_EXT = 1, 17185 VK_COPY_MICROMAP_MODE_DESERIALIZE_EXT = 2, 17186 VK_COPY_MICROMAP_MODE_COMPACT_EXT = 3, 17187 VK_COPY_MICROMAP_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 17188 } VkCopyMicromapModeEXT; 17189 17190 typedef enum VkOpacityMicromapFormatEXT { 17191 VK_OPACITY_MICROMAP_FORMAT_2_STATE_EXT = 1, 17192 VK_OPACITY_MICROMAP_FORMAT_4_STATE_EXT = 2, 17193 VK_OPACITY_MICROMAP_FORMAT_MAX_ENUM_EXT = 0x7FFFFFFF 17194 } VkOpacityMicromapFormatEXT; 17195 17196 typedef enum VkOpacityMicromapSpecialIndexEXT { 17197 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_TRANSPARENT_EXT = -1, 17198 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_OPAQUE_EXT = -2, 17199 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_TRANSPARENT_EXT = -3, 17200 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_OPAQUE_EXT = -4, 17201 VK_OPACITY_MICROMAP_SPECIAL_INDEX_MAX_ENUM_EXT = 0x7FFFFFFF 17202 } VkOpacityMicromapSpecialIndexEXT; 17203 17204 typedef enum VkAccelerationStructureCompatibilityKHR { 17205 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR = 0, 17206 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR = 1, 17207 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR = 0x7FFFFFFF 17208 } VkAccelerationStructureCompatibilityKHR; 17209 17210 typedef enum VkAccelerationStructureBuildTypeKHR { 17211 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0, 17212 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1, 17213 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR = 2, 17214 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 17215 } VkAccelerationStructureBuildTypeKHR; 17216 17217 typedef enum VkBuildMicromapFlagBitsEXT { 17218 VK_BUILD_MICROMAP_PREFER_FAST_TRACE_BIT_EXT = 0x00000001, 17219 VK_BUILD_MICROMAP_PREFER_FAST_BUILD_BIT_EXT = 0x00000002, 17220 VK_BUILD_MICROMAP_ALLOW_COMPACTION_BIT_EXT = 0x00000004, 17221 VK_BUILD_MICROMAP_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 17222 } VkBuildMicromapFlagBitsEXT; 17223 typedef VkFlags VkBuildMicromapFlagsEXT; 17224 17225 typedef enum VkMicromapCreateFlagBitsEXT { 17226 VK_MICROMAP_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = 0x00000001, 17227 VK_MICROMAP_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 17228 } VkMicromapCreateFlagBitsEXT; 17229 typedef VkFlags VkMicromapCreateFlagsEXT; 17230 typedef struct VkMicromapUsageEXT { 17231 uint32_t count; 17232 uint32_t subdivisionLevel; 17233 uint32_t format; 17234 } VkMicromapUsageEXT; 17235 17236 typedef union VkDeviceOrHostAddressKHR { 17237 VkDeviceAddress deviceAddress; 17238 void* hostAddress; 17239 } VkDeviceOrHostAddressKHR; 17240 17241 typedef struct VkMicromapBuildInfoEXT { 17242 VkStructureType sType; 17243 const void* pNext; 17244 VkMicromapTypeEXT type; 17245 VkBuildMicromapFlagsEXT flags; 17246 VkBuildMicromapModeEXT mode; 17247 VkMicromapEXT dstMicromap; 17248 uint32_t usageCountsCount; 17249 const VkMicromapUsageEXT* pUsageCounts; 17250 const VkMicromapUsageEXT* const* ppUsageCounts; 17251 VkDeviceOrHostAddressConstKHR data; 17252 VkDeviceOrHostAddressKHR scratchData; 17253 VkDeviceOrHostAddressConstKHR triangleArray; 17254 VkDeviceSize triangleArrayStride; 17255 } VkMicromapBuildInfoEXT; 17256 17257 typedef struct VkMicromapCreateInfoEXT { 17258 VkStructureType sType; 17259 const void* pNext; 17260 VkMicromapCreateFlagsEXT createFlags; 17261 VkBuffer buffer; 17262 VkDeviceSize offset; 17263 VkDeviceSize size; 17264 VkMicromapTypeEXT type; 17265 VkDeviceAddress deviceAddress; 17266 } VkMicromapCreateInfoEXT; 17267 17268 typedef struct VkPhysicalDeviceOpacityMicromapFeaturesEXT { 17269 VkStructureType sType; 17270 void* pNext; 17271 VkBool32 micromap; 17272 VkBool32 micromapCaptureReplay; 17273 VkBool32 micromapHostCommands; 17274 } VkPhysicalDeviceOpacityMicromapFeaturesEXT; 17275 17276 typedef struct VkPhysicalDeviceOpacityMicromapPropertiesEXT { 17277 VkStructureType sType; 17278 void* pNext; 17279 uint32_t maxOpacity2StateSubdivisionLevel; 17280 uint32_t maxOpacity4StateSubdivisionLevel; 17281 } VkPhysicalDeviceOpacityMicromapPropertiesEXT; 17282 17283 typedef struct VkMicromapVersionInfoEXT { 17284 VkStructureType sType; 17285 const void* pNext; 17286 const uint8_t* pVersionData; 17287 } VkMicromapVersionInfoEXT; 17288 17289 typedef struct VkCopyMicromapToMemoryInfoEXT { 17290 VkStructureType sType; 17291 const void* pNext; 17292 VkMicromapEXT src; 17293 VkDeviceOrHostAddressKHR dst; 17294 VkCopyMicromapModeEXT mode; 17295 } VkCopyMicromapToMemoryInfoEXT; 17296 17297 typedef struct VkCopyMemoryToMicromapInfoEXT { 17298 VkStructureType sType; 17299 const void* pNext; 17300 VkDeviceOrHostAddressConstKHR src; 17301 VkMicromapEXT dst; 17302 VkCopyMicromapModeEXT mode; 17303 } VkCopyMemoryToMicromapInfoEXT; 17304 17305 typedef struct VkCopyMicromapInfoEXT { 17306 VkStructureType sType; 17307 const void* pNext; 17308 VkMicromapEXT src; 17309 VkMicromapEXT dst; 17310 VkCopyMicromapModeEXT mode; 17311 } VkCopyMicromapInfoEXT; 17312 17313 typedef struct VkMicromapBuildSizesInfoEXT { 17314 VkStructureType sType; 17315 const void* pNext; 17316 VkDeviceSize micromapSize; 17317 VkDeviceSize buildScratchSize; 17318 VkBool32 discardable; 17319 } VkMicromapBuildSizesInfoEXT; 17320 17321 typedef struct VkAccelerationStructureTrianglesOpacityMicromapEXT { 17322 VkStructureType sType; 17323 void* pNext; 17324 VkIndexType indexType; 17325 VkDeviceOrHostAddressConstKHR indexBuffer; 17326 VkDeviceSize indexStride; 17327 uint32_t baseTriangle; 17328 uint32_t usageCountsCount; 17329 const VkMicromapUsageEXT* pUsageCounts; 17330 const VkMicromapUsageEXT* const* ppUsageCounts; 17331 VkMicromapEXT micromap; 17332 } VkAccelerationStructureTrianglesOpacityMicromapEXT; 17333 17334 typedef struct VkMicromapTriangleEXT { 17335 uint32_t dataOffset; 17336 uint16_t subdivisionLevel; 17337 uint16_t format; 17338 } VkMicromapTriangleEXT; 17339 17340 typedef VkResult (VKAPI_PTR *PFN_vkCreateMicromapEXT)(VkDevice device, const VkMicromapCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkMicromapEXT* pMicromap); 17341 typedef void (VKAPI_PTR *PFN_vkDestroyMicromapEXT)(VkDevice device, VkMicromapEXT micromap, const VkAllocationCallbacks* pAllocator); 17342 typedef void (VKAPI_PTR *PFN_vkCmdBuildMicromapsEXT)(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkMicromapBuildInfoEXT* pInfos); 17343 typedef VkResult (VKAPI_PTR *PFN_vkBuildMicromapsEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkMicromapBuildInfoEXT* pInfos); 17344 typedef VkResult (VKAPI_PTR *PFN_vkCopyMicromapEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapInfoEXT* pInfo); 17345 typedef VkResult (VKAPI_PTR *PFN_vkCopyMicromapToMemoryEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapToMemoryInfoEXT* pInfo); 17346 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToMicromapEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToMicromapInfoEXT* pInfo); 17347 typedef VkResult (VKAPI_PTR *PFN_vkWriteMicromapsPropertiesEXT)(VkDevice device, uint32_t micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, size_t dataSize, void* pData, size_t stride); 17348 typedef void (VKAPI_PTR *PFN_vkCmdCopyMicromapEXT)(VkCommandBuffer commandBuffer, const VkCopyMicromapInfoEXT* pInfo); 17349 typedef void (VKAPI_PTR *PFN_vkCmdCopyMicromapToMemoryEXT)(VkCommandBuffer commandBuffer, const VkCopyMicromapToMemoryInfoEXT* pInfo); 17350 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToMicromapEXT)(VkCommandBuffer commandBuffer, const VkCopyMemoryToMicromapInfoEXT* pInfo); 17351 typedef void (VKAPI_PTR *PFN_vkCmdWriteMicromapsPropertiesEXT)(VkCommandBuffer commandBuffer, uint32_t micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery); 17352 typedef void (VKAPI_PTR *PFN_vkGetDeviceMicromapCompatibilityEXT)(VkDevice device, const VkMicromapVersionInfoEXT* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility); 17353 typedef void (VKAPI_PTR *PFN_vkGetMicromapBuildSizesEXT)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkMicromapBuildInfoEXT* pBuildInfo, VkMicromapBuildSizesInfoEXT* pSizeInfo); 17354 17355 #ifndef VK_NO_PROTOTYPES 17356 VKAPI_ATTR VkResult VKAPI_CALL vkCreateMicromapEXT( 17357 VkDevice device, 17358 const VkMicromapCreateInfoEXT* pCreateInfo, 17359 const VkAllocationCallbacks* pAllocator, 17360 VkMicromapEXT* pMicromap); 17361 17362 VKAPI_ATTR void VKAPI_CALL vkDestroyMicromapEXT( 17363 VkDevice device, 17364 VkMicromapEXT micromap, 17365 const VkAllocationCallbacks* pAllocator); 17366 17367 VKAPI_ATTR void VKAPI_CALL vkCmdBuildMicromapsEXT( 17368 VkCommandBuffer commandBuffer, 17369 uint32_t infoCount, 17370 const VkMicromapBuildInfoEXT* pInfos); 17371 17372 VKAPI_ATTR VkResult VKAPI_CALL vkBuildMicromapsEXT( 17373 VkDevice device, 17374 VkDeferredOperationKHR deferredOperation, 17375 uint32_t infoCount, 17376 const VkMicromapBuildInfoEXT* pInfos); 17377 17378 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMicromapEXT( 17379 VkDevice device, 17380 VkDeferredOperationKHR deferredOperation, 17381 const VkCopyMicromapInfoEXT* pInfo); 17382 17383 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMicromapToMemoryEXT( 17384 VkDevice device, 17385 VkDeferredOperationKHR deferredOperation, 17386 const VkCopyMicromapToMemoryInfoEXT* pInfo); 17387 17388 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToMicromapEXT( 17389 VkDevice device, 17390 VkDeferredOperationKHR deferredOperation, 17391 const VkCopyMemoryToMicromapInfoEXT* pInfo); 17392 17393 VKAPI_ATTR VkResult VKAPI_CALL vkWriteMicromapsPropertiesEXT( 17394 VkDevice device, 17395 uint32_t micromapCount, 17396 const VkMicromapEXT* pMicromaps, 17397 VkQueryType queryType, 17398 size_t dataSize, 17399 void* pData, 17400 size_t stride); 17401 17402 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMicromapEXT( 17403 VkCommandBuffer commandBuffer, 17404 const VkCopyMicromapInfoEXT* pInfo); 17405 17406 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMicromapToMemoryEXT( 17407 VkCommandBuffer commandBuffer, 17408 const VkCopyMicromapToMemoryInfoEXT* pInfo); 17409 17410 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToMicromapEXT( 17411 VkCommandBuffer commandBuffer, 17412 const VkCopyMemoryToMicromapInfoEXT* pInfo); 17413 17414 VKAPI_ATTR void VKAPI_CALL vkCmdWriteMicromapsPropertiesEXT( 17415 VkCommandBuffer commandBuffer, 17416 uint32_t micromapCount, 17417 const VkMicromapEXT* pMicromaps, 17418 VkQueryType queryType, 17419 VkQueryPool queryPool, 17420 uint32_t firstQuery); 17421 17422 VKAPI_ATTR void VKAPI_CALL vkGetDeviceMicromapCompatibilityEXT( 17423 VkDevice device, 17424 const VkMicromapVersionInfoEXT* pVersionInfo, 17425 VkAccelerationStructureCompatibilityKHR* pCompatibility); 17426 17427 VKAPI_ATTR void VKAPI_CALL vkGetMicromapBuildSizesEXT( 17428 VkDevice device, 17429 VkAccelerationStructureBuildTypeKHR buildType, 17430 const VkMicromapBuildInfoEXT* pBuildInfo, 17431 VkMicromapBuildSizesInfoEXT* pSizeInfo); 17432 #endif 17433 17434 17435 // VK_EXT_load_store_op_none is a preprocessor guard. Do not pass it to API calls. 17436 #define VK_EXT_load_store_op_none 1 17437 #define VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION 1 17438 #define VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME "VK_EXT_load_store_op_none" 17439 17440 17441 // VK_HUAWEI_cluster_culling_shader is a preprocessor guard. Do not pass it to API calls. 17442 #define VK_HUAWEI_cluster_culling_shader 1 17443 #define VK_HUAWEI_CLUSTER_CULLING_SHADER_SPEC_VERSION 3 17444 #define VK_HUAWEI_CLUSTER_CULLING_SHADER_EXTENSION_NAME "VK_HUAWEI_cluster_culling_shader" 17445 typedef struct VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI { 17446 VkStructureType sType; 17447 void* pNext; 17448 VkBool32 clustercullingShader; 17449 VkBool32 multiviewClusterCullingShader; 17450 } VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI; 17451 17452 typedef struct VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI { 17453 VkStructureType sType; 17454 void* pNext; 17455 uint32_t maxWorkGroupCount[3]; 17456 uint32_t maxWorkGroupSize[3]; 17457 uint32_t maxOutputClusterCount; 17458 VkDeviceSize indirectBufferOffsetAlignment; 17459 } VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI; 17460 17461 typedef struct VkPhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI { 17462 VkStructureType sType; 17463 void* pNext; 17464 VkBool32 clusterShadingRate; 17465 } VkPhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI; 17466 17467 typedef void (VKAPI_PTR *PFN_vkCmdDrawClusterHUAWEI)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ); 17468 typedef void (VKAPI_PTR *PFN_vkCmdDrawClusterIndirectHUAWEI)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset); 17469 17470 #ifndef VK_NO_PROTOTYPES 17471 VKAPI_ATTR void VKAPI_CALL vkCmdDrawClusterHUAWEI( 17472 VkCommandBuffer commandBuffer, 17473 uint32_t groupCountX, 17474 uint32_t groupCountY, 17475 uint32_t groupCountZ); 17476 17477 VKAPI_ATTR void VKAPI_CALL vkCmdDrawClusterIndirectHUAWEI( 17478 VkCommandBuffer commandBuffer, 17479 VkBuffer buffer, 17480 VkDeviceSize offset); 17481 #endif 17482 17483 17484 // VK_EXT_border_color_swizzle is a preprocessor guard. Do not pass it to API calls. 17485 #define VK_EXT_border_color_swizzle 1 17486 #define VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION 1 17487 #define VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME "VK_EXT_border_color_swizzle" 17488 typedef struct VkPhysicalDeviceBorderColorSwizzleFeaturesEXT { 17489 VkStructureType sType; 17490 void* pNext; 17491 VkBool32 borderColorSwizzle; 17492 VkBool32 borderColorSwizzleFromImage; 17493 } VkPhysicalDeviceBorderColorSwizzleFeaturesEXT; 17494 17495 typedef struct VkSamplerBorderColorComponentMappingCreateInfoEXT { 17496 VkStructureType sType; 17497 const void* pNext; 17498 VkComponentMapping components; 17499 VkBool32 srgb; 17500 } VkSamplerBorderColorComponentMappingCreateInfoEXT; 17501 17502 17503 17504 // VK_EXT_pageable_device_local_memory is a preprocessor guard. Do not pass it to API calls. 17505 #define VK_EXT_pageable_device_local_memory 1 17506 #define VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION 1 17507 #define VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME "VK_EXT_pageable_device_local_memory" 17508 typedef struct VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT { 17509 VkStructureType sType; 17510 void* pNext; 17511 VkBool32 pageableDeviceLocalMemory; 17512 } VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT; 17513 17514 typedef void (VKAPI_PTR *PFN_vkSetDeviceMemoryPriorityEXT)(VkDevice device, VkDeviceMemory memory, float priority); 17515 17516 #ifndef VK_NO_PROTOTYPES 17517 VKAPI_ATTR void VKAPI_CALL vkSetDeviceMemoryPriorityEXT( 17518 VkDevice device, 17519 VkDeviceMemory memory, 17520 float priority); 17521 #endif 17522 17523 17524 // VK_ARM_shader_core_properties is a preprocessor guard. Do not pass it to API calls. 17525 #define VK_ARM_shader_core_properties 1 17526 #define VK_ARM_SHADER_CORE_PROPERTIES_SPEC_VERSION 1 17527 #define VK_ARM_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_ARM_shader_core_properties" 17528 typedef struct VkPhysicalDeviceShaderCorePropertiesARM { 17529 VkStructureType sType; 17530 void* pNext; 17531 uint32_t pixelRate; 17532 uint32_t texelRate; 17533 uint32_t fmaRate; 17534 } VkPhysicalDeviceShaderCorePropertiesARM; 17535 17536 17537 17538 // VK_ARM_scheduling_controls is a preprocessor guard. Do not pass it to API calls. 17539 #define VK_ARM_scheduling_controls 1 17540 #define VK_ARM_SCHEDULING_CONTROLS_SPEC_VERSION 1 17541 #define VK_ARM_SCHEDULING_CONTROLS_EXTENSION_NAME "VK_ARM_scheduling_controls" 17542 typedef VkFlags64 VkPhysicalDeviceSchedulingControlsFlagsARM; 17543 17544 // Flag bits for VkPhysicalDeviceSchedulingControlsFlagBitsARM 17545 typedef VkFlags64 VkPhysicalDeviceSchedulingControlsFlagBitsARM; 17546 static const VkPhysicalDeviceSchedulingControlsFlagBitsARM VK_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_SHADER_CORE_COUNT_ARM = 0x00000001ULL; 17547 17548 typedef struct VkDeviceQueueShaderCoreControlCreateInfoARM { 17549 VkStructureType sType; 17550 void* pNext; 17551 uint32_t shaderCoreCount; 17552 } VkDeviceQueueShaderCoreControlCreateInfoARM; 17553 17554 typedef struct VkPhysicalDeviceSchedulingControlsFeaturesARM { 17555 VkStructureType sType; 17556 void* pNext; 17557 VkBool32 schedulingControls; 17558 } VkPhysicalDeviceSchedulingControlsFeaturesARM; 17559 17560 typedef struct VkPhysicalDeviceSchedulingControlsPropertiesARM { 17561 VkStructureType sType; 17562 void* pNext; 17563 VkPhysicalDeviceSchedulingControlsFlagsARM schedulingControlsFlags; 17564 } VkPhysicalDeviceSchedulingControlsPropertiesARM; 17565 17566 17567 17568 // VK_EXT_image_sliced_view_of_3d is a preprocessor guard. Do not pass it to API calls. 17569 #define VK_EXT_image_sliced_view_of_3d 1 17570 #define VK_EXT_IMAGE_SLICED_VIEW_OF_3D_SPEC_VERSION 1 17571 #define VK_EXT_IMAGE_SLICED_VIEW_OF_3D_EXTENSION_NAME "VK_EXT_image_sliced_view_of_3d" 17572 #define VK_REMAINING_3D_SLICES_EXT (~0U) 17573 typedef struct VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT { 17574 VkStructureType sType; 17575 void* pNext; 17576 VkBool32 imageSlicedViewOf3D; 17577 } VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT; 17578 17579 typedef struct VkImageViewSlicedCreateInfoEXT { 17580 VkStructureType sType; 17581 const void* pNext; 17582 uint32_t sliceOffset; 17583 uint32_t sliceCount; 17584 } VkImageViewSlicedCreateInfoEXT; 17585 17586 17587 17588 // VK_VALVE_descriptor_set_host_mapping is a preprocessor guard. Do not pass it to API calls. 17589 #define VK_VALVE_descriptor_set_host_mapping 1 17590 #define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION 1 17591 #define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME "VK_VALVE_descriptor_set_host_mapping" 17592 typedef struct VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE { 17593 VkStructureType sType; 17594 void* pNext; 17595 VkBool32 descriptorSetHostMapping; 17596 } VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE; 17597 17598 typedef struct VkDescriptorSetBindingReferenceVALVE { 17599 VkStructureType sType; 17600 const void* pNext; 17601 VkDescriptorSetLayout descriptorSetLayout; 17602 uint32_t binding; 17603 } VkDescriptorSetBindingReferenceVALVE; 17604 17605 typedef struct VkDescriptorSetLayoutHostMappingInfoVALVE { 17606 VkStructureType sType; 17607 void* pNext; 17608 size_t descriptorOffset; 17609 uint32_t descriptorSize; 17610 } VkDescriptorSetLayoutHostMappingInfoVALVE; 17611 17612 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE)(VkDevice device, const VkDescriptorSetBindingReferenceVALVE* pBindingReference, VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping); 17613 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetHostMappingVALVE)(VkDevice device, VkDescriptorSet descriptorSet, void** ppData); 17614 17615 #ifndef VK_NO_PROTOTYPES 17616 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutHostMappingInfoVALVE( 17617 VkDevice device, 17618 const VkDescriptorSetBindingReferenceVALVE* pBindingReference, 17619 VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping); 17620 17621 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetHostMappingVALVE( 17622 VkDevice device, 17623 VkDescriptorSet descriptorSet, 17624 void** ppData); 17625 #endif 17626 17627 17628 // VK_EXT_depth_clamp_zero_one is a preprocessor guard. Do not pass it to API calls. 17629 #define VK_EXT_depth_clamp_zero_one 1 17630 #define VK_EXT_DEPTH_CLAMP_ZERO_ONE_SPEC_VERSION 1 17631 #define VK_EXT_DEPTH_CLAMP_ZERO_ONE_EXTENSION_NAME "VK_EXT_depth_clamp_zero_one" 17632 typedef struct VkPhysicalDeviceDepthClampZeroOneFeaturesEXT { 17633 VkStructureType sType; 17634 void* pNext; 17635 VkBool32 depthClampZeroOne; 17636 } VkPhysicalDeviceDepthClampZeroOneFeaturesEXT; 17637 17638 17639 17640 // VK_EXT_non_seamless_cube_map is a preprocessor guard. Do not pass it to API calls. 17641 #define VK_EXT_non_seamless_cube_map 1 17642 #define VK_EXT_NON_SEAMLESS_CUBE_MAP_SPEC_VERSION 1 17643 #define VK_EXT_NON_SEAMLESS_CUBE_MAP_EXTENSION_NAME "VK_EXT_non_seamless_cube_map" 17644 typedef struct VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT { 17645 VkStructureType sType; 17646 void* pNext; 17647 VkBool32 nonSeamlessCubeMap; 17648 } VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT; 17649 17650 17651 17652 // VK_ARM_render_pass_striped is a preprocessor guard. Do not pass it to API calls. 17653 #define VK_ARM_render_pass_striped 1 17654 #define VK_ARM_RENDER_PASS_STRIPED_SPEC_VERSION 1 17655 #define VK_ARM_RENDER_PASS_STRIPED_EXTENSION_NAME "VK_ARM_render_pass_striped" 17656 typedef struct VkPhysicalDeviceRenderPassStripedFeaturesARM { 17657 VkStructureType sType; 17658 void* pNext; 17659 VkBool32 renderPassStriped; 17660 } VkPhysicalDeviceRenderPassStripedFeaturesARM; 17661 17662 typedef struct VkPhysicalDeviceRenderPassStripedPropertiesARM { 17663 VkStructureType sType; 17664 void* pNext; 17665 VkExtent2D renderPassStripeGranularity; 17666 uint32_t maxRenderPassStripes; 17667 } VkPhysicalDeviceRenderPassStripedPropertiesARM; 17668 17669 typedef struct VkRenderPassStripeInfoARM { 17670 VkStructureType sType; 17671 const void* pNext; 17672 VkRect2D stripeArea; 17673 } VkRenderPassStripeInfoARM; 17674 17675 typedef struct VkRenderPassStripeBeginInfoARM { 17676 VkStructureType sType; 17677 const void* pNext; 17678 uint32_t stripeInfoCount; 17679 const VkRenderPassStripeInfoARM* pStripeInfos; 17680 } VkRenderPassStripeBeginInfoARM; 17681 17682 typedef struct VkRenderPassStripeSubmitInfoARM { 17683 VkStructureType sType; 17684 const void* pNext; 17685 uint32_t stripeSemaphoreInfoCount; 17686 const VkSemaphoreSubmitInfo* pStripeSemaphoreInfos; 17687 } VkRenderPassStripeSubmitInfoARM; 17688 17689 17690 17691 // VK_QCOM_fragment_density_map_offset is a preprocessor guard. Do not pass it to API calls. 17692 #define VK_QCOM_fragment_density_map_offset 1 17693 #define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION 1 17694 #define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME "VK_QCOM_fragment_density_map_offset" 17695 typedef struct VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM { 17696 VkStructureType sType; 17697 void* pNext; 17698 VkBool32 fragmentDensityMapOffset; 17699 } VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM; 17700 17701 typedef struct VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM { 17702 VkStructureType sType; 17703 void* pNext; 17704 VkExtent2D fragmentDensityOffsetGranularity; 17705 } VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM; 17706 17707 typedef struct VkSubpassFragmentDensityMapOffsetEndInfoQCOM { 17708 VkStructureType sType; 17709 const void* pNext; 17710 uint32_t fragmentDensityOffsetCount; 17711 const VkOffset2D* pFragmentDensityOffsets; 17712 } VkSubpassFragmentDensityMapOffsetEndInfoQCOM; 17713 17714 17715 17716 // VK_NV_copy_memory_indirect is a preprocessor guard. Do not pass it to API calls. 17717 #define VK_NV_copy_memory_indirect 1 17718 #define VK_NV_COPY_MEMORY_INDIRECT_SPEC_VERSION 1 17719 #define VK_NV_COPY_MEMORY_INDIRECT_EXTENSION_NAME "VK_NV_copy_memory_indirect" 17720 typedef struct VkCopyMemoryIndirectCommandNV { 17721 VkDeviceAddress srcAddress; 17722 VkDeviceAddress dstAddress; 17723 VkDeviceSize size; 17724 } VkCopyMemoryIndirectCommandNV; 17725 17726 typedef struct VkCopyMemoryToImageIndirectCommandNV { 17727 VkDeviceAddress srcAddress; 17728 uint32_t bufferRowLength; 17729 uint32_t bufferImageHeight; 17730 VkImageSubresourceLayers imageSubresource; 17731 VkOffset3D imageOffset; 17732 VkExtent3D imageExtent; 17733 } VkCopyMemoryToImageIndirectCommandNV; 17734 17735 typedef struct VkPhysicalDeviceCopyMemoryIndirectFeaturesNV { 17736 VkStructureType sType; 17737 void* pNext; 17738 VkBool32 indirectCopy; 17739 } VkPhysicalDeviceCopyMemoryIndirectFeaturesNV; 17740 17741 typedef struct VkPhysicalDeviceCopyMemoryIndirectPropertiesNV { 17742 VkStructureType sType; 17743 void* pNext; 17744 VkQueueFlags supportedQueues; 17745 } VkPhysicalDeviceCopyMemoryIndirectPropertiesNV; 17746 17747 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryIndirectNV)(VkCommandBuffer commandBuffer, VkDeviceAddress copyBufferAddress, uint32_t copyCount, uint32_t stride); 17748 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToImageIndirectNV)(VkCommandBuffer commandBuffer, VkDeviceAddress copyBufferAddress, uint32_t copyCount, uint32_t stride, VkImage dstImage, VkImageLayout dstImageLayout, const VkImageSubresourceLayers* pImageSubresources); 17749 17750 #ifndef VK_NO_PROTOTYPES 17751 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryIndirectNV( 17752 VkCommandBuffer commandBuffer, 17753 VkDeviceAddress copyBufferAddress, 17754 uint32_t copyCount, 17755 uint32_t stride); 17756 17757 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToImageIndirectNV( 17758 VkCommandBuffer commandBuffer, 17759 VkDeviceAddress copyBufferAddress, 17760 uint32_t copyCount, 17761 uint32_t stride, 17762 VkImage dstImage, 17763 VkImageLayout dstImageLayout, 17764 const VkImageSubresourceLayers* pImageSubresources); 17765 #endif 17766 17767 17768 // VK_NV_memory_decompression is a preprocessor guard. Do not pass it to API calls. 17769 #define VK_NV_memory_decompression 1 17770 #define VK_NV_MEMORY_DECOMPRESSION_SPEC_VERSION 1 17771 #define VK_NV_MEMORY_DECOMPRESSION_EXTENSION_NAME "VK_NV_memory_decompression" 17772 17773 // Flag bits for VkMemoryDecompressionMethodFlagBitsNV 17774 typedef VkFlags64 VkMemoryDecompressionMethodFlagBitsNV; 17775 static const VkMemoryDecompressionMethodFlagBitsNV VK_MEMORY_DECOMPRESSION_METHOD_GDEFLATE_1_0_BIT_NV = 0x00000001ULL; 17776 17777 typedef VkFlags64 VkMemoryDecompressionMethodFlagsNV; 17778 typedef struct VkDecompressMemoryRegionNV { 17779 VkDeviceAddress srcAddress; 17780 VkDeviceAddress dstAddress; 17781 VkDeviceSize compressedSize; 17782 VkDeviceSize decompressedSize; 17783 VkMemoryDecompressionMethodFlagsNV decompressionMethod; 17784 } VkDecompressMemoryRegionNV; 17785 17786 typedef struct VkPhysicalDeviceMemoryDecompressionFeaturesNV { 17787 VkStructureType sType; 17788 void* pNext; 17789 VkBool32 memoryDecompression; 17790 } VkPhysicalDeviceMemoryDecompressionFeaturesNV; 17791 17792 typedef struct VkPhysicalDeviceMemoryDecompressionPropertiesNV { 17793 VkStructureType sType; 17794 void* pNext; 17795 VkMemoryDecompressionMethodFlagsNV decompressionMethods; 17796 uint64_t maxDecompressionIndirectCount; 17797 } VkPhysicalDeviceMemoryDecompressionPropertiesNV; 17798 17799 typedef void (VKAPI_PTR *PFN_vkCmdDecompressMemoryNV)(VkCommandBuffer commandBuffer, uint32_t decompressRegionCount, const VkDecompressMemoryRegionNV* pDecompressMemoryRegions); 17800 typedef void (VKAPI_PTR *PFN_vkCmdDecompressMemoryIndirectCountNV)(VkCommandBuffer commandBuffer, VkDeviceAddress indirectCommandsAddress, VkDeviceAddress indirectCommandsCountAddress, uint32_t stride); 17801 17802 #ifndef VK_NO_PROTOTYPES 17803 VKAPI_ATTR void VKAPI_CALL vkCmdDecompressMemoryNV( 17804 VkCommandBuffer commandBuffer, 17805 uint32_t decompressRegionCount, 17806 const VkDecompressMemoryRegionNV* pDecompressMemoryRegions); 17807 17808 VKAPI_ATTR void VKAPI_CALL vkCmdDecompressMemoryIndirectCountNV( 17809 VkCommandBuffer commandBuffer, 17810 VkDeviceAddress indirectCommandsAddress, 17811 VkDeviceAddress indirectCommandsCountAddress, 17812 uint32_t stride); 17813 #endif 17814 17815 17816 // VK_NV_device_generated_commands_compute is a preprocessor guard. Do not pass it to API calls. 17817 #define VK_NV_device_generated_commands_compute 1 17818 #define VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_SPEC_VERSION 2 17819 #define VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_EXTENSION_NAME "VK_NV_device_generated_commands_compute" 17820 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV { 17821 VkStructureType sType; 17822 void* pNext; 17823 VkBool32 deviceGeneratedCompute; 17824 VkBool32 deviceGeneratedComputePipelines; 17825 VkBool32 deviceGeneratedComputeCaptureReplay; 17826 } VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV; 17827 17828 typedef struct VkComputePipelineIndirectBufferInfoNV { 17829 VkStructureType sType; 17830 const void* pNext; 17831 VkDeviceAddress deviceAddress; 17832 VkDeviceSize size; 17833 VkDeviceAddress pipelineDeviceAddressCaptureReplay; 17834 } VkComputePipelineIndirectBufferInfoNV; 17835 17836 typedef struct VkPipelineIndirectDeviceAddressInfoNV { 17837 VkStructureType sType; 17838 const void* pNext; 17839 VkPipelineBindPoint pipelineBindPoint; 17840 VkPipeline pipeline; 17841 } VkPipelineIndirectDeviceAddressInfoNV; 17842 17843 typedef struct VkBindPipelineIndirectCommandNV { 17844 VkDeviceAddress pipelineAddress; 17845 } VkBindPipelineIndirectCommandNV; 17846 17847 typedef void (VKAPI_PTR *PFN_vkGetPipelineIndirectMemoryRequirementsNV)(VkDevice device, const VkComputePipelineCreateInfo* pCreateInfo, VkMemoryRequirements2* pMemoryRequirements); 17848 typedef void (VKAPI_PTR *PFN_vkCmdUpdatePipelineIndirectBufferNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline); 17849 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetPipelineIndirectDeviceAddressNV)(VkDevice device, const VkPipelineIndirectDeviceAddressInfoNV* pInfo); 17850 17851 #ifndef VK_NO_PROTOTYPES 17852 VKAPI_ATTR void VKAPI_CALL vkGetPipelineIndirectMemoryRequirementsNV( 17853 VkDevice device, 17854 const VkComputePipelineCreateInfo* pCreateInfo, 17855 VkMemoryRequirements2* pMemoryRequirements); 17856 17857 VKAPI_ATTR void VKAPI_CALL vkCmdUpdatePipelineIndirectBufferNV( 17858 VkCommandBuffer commandBuffer, 17859 VkPipelineBindPoint pipelineBindPoint, 17860 VkPipeline pipeline); 17861 17862 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetPipelineIndirectDeviceAddressNV( 17863 VkDevice device, 17864 const VkPipelineIndirectDeviceAddressInfoNV* pInfo); 17865 #endif 17866 17867 17868 // VK_NV_linear_color_attachment is a preprocessor guard. Do not pass it to API calls. 17869 #define VK_NV_linear_color_attachment 1 17870 #define VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION 1 17871 #define VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME "VK_NV_linear_color_attachment" 17872 typedef struct VkPhysicalDeviceLinearColorAttachmentFeaturesNV { 17873 VkStructureType sType; 17874 void* pNext; 17875 VkBool32 linearColorAttachment; 17876 } VkPhysicalDeviceLinearColorAttachmentFeaturesNV; 17877 17878 17879 17880 // VK_GOOGLE_surfaceless_query is a preprocessor guard. Do not pass it to API calls. 17881 #define VK_GOOGLE_surfaceless_query 1 17882 #define VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION 2 17883 #define VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME "VK_GOOGLE_surfaceless_query" 17884 17885 17886 // VK_EXT_image_compression_control_swapchain is a preprocessor guard. Do not pass it to API calls. 17887 #define VK_EXT_image_compression_control_swapchain 1 17888 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_SPEC_VERSION 1 17889 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_EXTENSION_NAME "VK_EXT_image_compression_control_swapchain" 17890 typedef struct VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT { 17891 VkStructureType sType; 17892 void* pNext; 17893 VkBool32 imageCompressionControlSwapchain; 17894 } VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT; 17895 17896 17897 17898 // VK_QCOM_image_processing is a preprocessor guard. Do not pass it to API calls. 17899 #define VK_QCOM_image_processing 1 17900 #define VK_QCOM_IMAGE_PROCESSING_SPEC_VERSION 1 17901 #define VK_QCOM_IMAGE_PROCESSING_EXTENSION_NAME "VK_QCOM_image_processing" 17902 typedef struct VkImageViewSampleWeightCreateInfoQCOM { 17903 VkStructureType sType; 17904 const void* pNext; 17905 VkOffset2D filterCenter; 17906 VkExtent2D filterSize; 17907 uint32_t numPhases; 17908 } VkImageViewSampleWeightCreateInfoQCOM; 17909 17910 typedef struct VkPhysicalDeviceImageProcessingFeaturesQCOM { 17911 VkStructureType sType; 17912 void* pNext; 17913 VkBool32 textureSampleWeighted; 17914 VkBool32 textureBoxFilter; 17915 VkBool32 textureBlockMatch; 17916 } VkPhysicalDeviceImageProcessingFeaturesQCOM; 17917 17918 typedef struct VkPhysicalDeviceImageProcessingPropertiesQCOM { 17919 VkStructureType sType; 17920 void* pNext; 17921 uint32_t maxWeightFilterPhases; 17922 VkExtent2D maxWeightFilterDimension; 17923 VkExtent2D maxBlockMatchRegion; 17924 VkExtent2D maxBoxFilterBlockSize; 17925 } VkPhysicalDeviceImageProcessingPropertiesQCOM; 17926 17927 17928 17929 // VK_EXT_nested_command_buffer is a preprocessor guard. Do not pass it to API calls. 17930 #define VK_EXT_nested_command_buffer 1 17931 #define VK_EXT_NESTED_COMMAND_BUFFER_SPEC_VERSION 1 17932 #define VK_EXT_NESTED_COMMAND_BUFFER_EXTENSION_NAME "VK_EXT_nested_command_buffer" 17933 typedef struct VkPhysicalDeviceNestedCommandBufferFeaturesEXT { 17934 VkStructureType sType; 17935 void* pNext; 17936 VkBool32 nestedCommandBuffer; 17937 VkBool32 nestedCommandBufferRendering; 17938 VkBool32 nestedCommandBufferSimultaneousUse; 17939 } VkPhysicalDeviceNestedCommandBufferFeaturesEXT; 17940 17941 typedef struct VkPhysicalDeviceNestedCommandBufferPropertiesEXT { 17942 VkStructureType sType; 17943 void* pNext; 17944 uint32_t maxCommandBufferNestingLevel; 17945 } VkPhysicalDeviceNestedCommandBufferPropertiesEXT; 17946 17947 17948 17949 // VK_EXT_external_memory_acquire_unmodified is a preprocessor guard. Do not pass it to API calls. 17950 #define VK_EXT_external_memory_acquire_unmodified 1 17951 #define VK_EXT_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_SPEC_VERSION 1 17952 #define VK_EXT_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXTENSION_NAME "VK_EXT_external_memory_acquire_unmodified" 17953 typedef struct VkExternalMemoryAcquireUnmodifiedEXT { 17954 VkStructureType sType; 17955 const void* pNext; 17956 VkBool32 acquireUnmodifiedMemory; 17957 } VkExternalMemoryAcquireUnmodifiedEXT; 17958 17959 17960 17961 // VK_EXT_extended_dynamic_state3 is a preprocessor guard. Do not pass it to API calls. 17962 #define VK_EXT_extended_dynamic_state3 1 17963 #define VK_EXT_EXTENDED_DYNAMIC_STATE_3_SPEC_VERSION 2 17964 #define VK_EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME "VK_EXT_extended_dynamic_state3" 17965 typedef struct VkPhysicalDeviceExtendedDynamicState3FeaturesEXT { 17966 VkStructureType sType; 17967 void* pNext; 17968 VkBool32 extendedDynamicState3TessellationDomainOrigin; 17969 VkBool32 extendedDynamicState3DepthClampEnable; 17970 VkBool32 extendedDynamicState3PolygonMode; 17971 VkBool32 extendedDynamicState3RasterizationSamples; 17972 VkBool32 extendedDynamicState3SampleMask; 17973 VkBool32 extendedDynamicState3AlphaToCoverageEnable; 17974 VkBool32 extendedDynamicState3AlphaToOneEnable; 17975 VkBool32 extendedDynamicState3LogicOpEnable; 17976 VkBool32 extendedDynamicState3ColorBlendEnable; 17977 VkBool32 extendedDynamicState3ColorBlendEquation; 17978 VkBool32 extendedDynamicState3ColorWriteMask; 17979 VkBool32 extendedDynamicState3RasterizationStream; 17980 VkBool32 extendedDynamicState3ConservativeRasterizationMode; 17981 VkBool32 extendedDynamicState3ExtraPrimitiveOverestimationSize; 17982 VkBool32 extendedDynamicState3DepthClipEnable; 17983 VkBool32 extendedDynamicState3SampleLocationsEnable; 17984 VkBool32 extendedDynamicState3ColorBlendAdvanced; 17985 VkBool32 extendedDynamicState3ProvokingVertexMode; 17986 VkBool32 extendedDynamicState3LineRasterizationMode; 17987 VkBool32 extendedDynamicState3LineStippleEnable; 17988 VkBool32 extendedDynamicState3DepthClipNegativeOneToOne; 17989 VkBool32 extendedDynamicState3ViewportWScalingEnable; 17990 VkBool32 extendedDynamicState3ViewportSwizzle; 17991 VkBool32 extendedDynamicState3CoverageToColorEnable; 17992 VkBool32 extendedDynamicState3CoverageToColorLocation; 17993 VkBool32 extendedDynamicState3CoverageModulationMode; 17994 VkBool32 extendedDynamicState3CoverageModulationTableEnable; 17995 VkBool32 extendedDynamicState3CoverageModulationTable; 17996 VkBool32 extendedDynamicState3CoverageReductionMode; 17997 VkBool32 extendedDynamicState3RepresentativeFragmentTestEnable; 17998 VkBool32 extendedDynamicState3ShadingRateImageEnable; 17999 } VkPhysicalDeviceExtendedDynamicState3FeaturesEXT; 18000 18001 typedef struct VkPhysicalDeviceExtendedDynamicState3PropertiesEXT { 18002 VkStructureType sType; 18003 void* pNext; 18004 VkBool32 dynamicPrimitiveTopologyUnrestricted; 18005 } VkPhysicalDeviceExtendedDynamicState3PropertiesEXT; 18006 18007 typedef struct VkColorBlendEquationEXT { 18008 VkBlendFactor srcColorBlendFactor; 18009 VkBlendFactor dstColorBlendFactor; 18010 VkBlendOp colorBlendOp; 18011 VkBlendFactor srcAlphaBlendFactor; 18012 VkBlendFactor dstAlphaBlendFactor; 18013 VkBlendOp alphaBlendOp; 18014 } VkColorBlendEquationEXT; 18015 18016 typedef struct VkColorBlendAdvancedEXT { 18017 VkBlendOp advancedBlendOp; 18018 VkBool32 srcPremultiplied; 18019 VkBool32 dstPremultiplied; 18020 VkBlendOverlapEXT blendOverlap; 18021 VkBool32 clampResults; 18022 } VkColorBlendAdvancedEXT; 18023 18024 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClampEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthClampEnable); 18025 typedef void (VKAPI_PTR *PFN_vkCmdSetPolygonModeEXT)(VkCommandBuffer commandBuffer, VkPolygonMode polygonMode); 18026 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizationSamplesEXT)(VkCommandBuffer commandBuffer, VkSampleCountFlagBits rasterizationSamples); 18027 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleMaskEXT)(VkCommandBuffer commandBuffer, VkSampleCountFlagBits samples, const VkSampleMask* pSampleMask); 18028 typedef void (VKAPI_PTR *PFN_vkCmdSetAlphaToCoverageEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 alphaToCoverageEnable); 18029 typedef void (VKAPI_PTR *PFN_vkCmdSetAlphaToOneEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 alphaToOneEnable); 18030 typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 logicOpEnable); 18031 typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendEnableEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkBool32* pColorBlendEnables); 18032 typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendEquationEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendEquationEXT* pColorBlendEquations); 18033 typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteMaskEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorComponentFlags* pColorWriteMasks); 18034 typedef void (VKAPI_PTR *PFN_vkCmdSetTessellationDomainOriginEXT)(VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin); 18035 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizationStreamEXT)(VkCommandBuffer commandBuffer, uint32_t rasterizationStream); 18036 typedef void (VKAPI_PTR *PFN_vkCmdSetConservativeRasterizationModeEXT)(VkCommandBuffer commandBuffer, VkConservativeRasterizationModeEXT conservativeRasterizationMode); 18037 typedef void (VKAPI_PTR *PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT)(VkCommandBuffer commandBuffer, float extraPrimitiveOverestimationSize); 18038 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClipEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthClipEnable); 18039 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 sampleLocationsEnable); 18040 typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendAdvancedEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendAdvancedEXT* pColorBlendAdvanced); 18041 typedef void (VKAPI_PTR *PFN_vkCmdSetProvokingVertexModeEXT)(VkCommandBuffer commandBuffer, VkProvokingVertexModeEXT provokingVertexMode); 18042 typedef void (VKAPI_PTR *PFN_vkCmdSetLineRasterizationModeEXT)(VkCommandBuffer commandBuffer, VkLineRasterizationModeEXT lineRasterizationMode); 18043 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stippledLineEnable); 18044 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClipNegativeOneToOneEXT)(VkCommandBuffer commandBuffer, VkBool32 negativeOneToOne); 18045 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingEnableNV)(VkCommandBuffer commandBuffer, VkBool32 viewportWScalingEnable); 18046 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportSwizzleNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportSwizzleNV* pViewportSwizzles); 18047 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageToColorEnableNV)(VkCommandBuffer commandBuffer, VkBool32 coverageToColorEnable); 18048 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageToColorLocationNV)(VkCommandBuffer commandBuffer, uint32_t coverageToColorLocation); 18049 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageModulationModeNV)(VkCommandBuffer commandBuffer, VkCoverageModulationModeNV coverageModulationMode); 18050 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageModulationTableEnableNV)(VkCommandBuffer commandBuffer, VkBool32 coverageModulationTableEnable); 18051 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageModulationTableNV)(VkCommandBuffer commandBuffer, uint32_t coverageModulationTableCount, const float* pCoverageModulationTable); 18052 typedef void (VKAPI_PTR *PFN_vkCmdSetShadingRateImageEnableNV)(VkCommandBuffer commandBuffer, VkBool32 shadingRateImageEnable); 18053 typedef void (VKAPI_PTR *PFN_vkCmdSetRepresentativeFragmentTestEnableNV)(VkCommandBuffer commandBuffer, VkBool32 representativeFragmentTestEnable); 18054 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageReductionModeNV)(VkCommandBuffer commandBuffer, VkCoverageReductionModeNV coverageReductionMode); 18055 18056 #ifndef VK_NO_PROTOTYPES 18057 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClampEnableEXT( 18058 VkCommandBuffer commandBuffer, 18059 VkBool32 depthClampEnable); 18060 18061 VKAPI_ATTR void VKAPI_CALL vkCmdSetPolygonModeEXT( 18062 VkCommandBuffer commandBuffer, 18063 VkPolygonMode polygonMode); 18064 18065 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizationSamplesEXT( 18066 VkCommandBuffer commandBuffer, 18067 VkSampleCountFlagBits rasterizationSamples); 18068 18069 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleMaskEXT( 18070 VkCommandBuffer commandBuffer, 18071 VkSampleCountFlagBits samples, 18072 const VkSampleMask* pSampleMask); 18073 18074 VKAPI_ATTR void VKAPI_CALL vkCmdSetAlphaToCoverageEnableEXT( 18075 VkCommandBuffer commandBuffer, 18076 VkBool32 alphaToCoverageEnable); 18077 18078 VKAPI_ATTR void VKAPI_CALL vkCmdSetAlphaToOneEnableEXT( 18079 VkCommandBuffer commandBuffer, 18080 VkBool32 alphaToOneEnable); 18081 18082 VKAPI_ATTR void VKAPI_CALL vkCmdSetLogicOpEnableEXT( 18083 VkCommandBuffer commandBuffer, 18084 VkBool32 logicOpEnable); 18085 18086 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorBlendEnableEXT( 18087 VkCommandBuffer commandBuffer, 18088 uint32_t firstAttachment, 18089 uint32_t attachmentCount, 18090 const VkBool32* pColorBlendEnables); 18091 18092 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorBlendEquationEXT( 18093 VkCommandBuffer commandBuffer, 18094 uint32_t firstAttachment, 18095 uint32_t attachmentCount, 18096 const VkColorBlendEquationEXT* pColorBlendEquations); 18097 18098 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteMaskEXT( 18099 VkCommandBuffer commandBuffer, 18100 uint32_t firstAttachment, 18101 uint32_t attachmentCount, 18102 const VkColorComponentFlags* pColorWriteMasks); 18103 18104 VKAPI_ATTR void VKAPI_CALL vkCmdSetTessellationDomainOriginEXT( 18105 VkCommandBuffer commandBuffer, 18106 VkTessellationDomainOrigin domainOrigin); 18107 18108 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizationStreamEXT( 18109 VkCommandBuffer commandBuffer, 18110 uint32_t rasterizationStream); 18111 18112 VKAPI_ATTR void VKAPI_CALL vkCmdSetConservativeRasterizationModeEXT( 18113 VkCommandBuffer commandBuffer, 18114 VkConservativeRasterizationModeEXT conservativeRasterizationMode); 18115 18116 VKAPI_ATTR void VKAPI_CALL vkCmdSetExtraPrimitiveOverestimationSizeEXT( 18117 VkCommandBuffer commandBuffer, 18118 float extraPrimitiveOverestimationSize); 18119 18120 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClipEnableEXT( 18121 VkCommandBuffer commandBuffer, 18122 VkBool32 depthClipEnable); 18123 18124 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEnableEXT( 18125 VkCommandBuffer commandBuffer, 18126 VkBool32 sampleLocationsEnable); 18127 18128 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorBlendAdvancedEXT( 18129 VkCommandBuffer commandBuffer, 18130 uint32_t firstAttachment, 18131 uint32_t attachmentCount, 18132 const VkColorBlendAdvancedEXT* pColorBlendAdvanced); 18133 18134 VKAPI_ATTR void VKAPI_CALL vkCmdSetProvokingVertexModeEXT( 18135 VkCommandBuffer commandBuffer, 18136 VkProvokingVertexModeEXT provokingVertexMode); 18137 18138 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineRasterizationModeEXT( 18139 VkCommandBuffer commandBuffer, 18140 VkLineRasterizationModeEXT lineRasterizationMode); 18141 18142 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEnableEXT( 18143 VkCommandBuffer commandBuffer, 18144 VkBool32 stippledLineEnable); 18145 18146 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClipNegativeOneToOneEXT( 18147 VkCommandBuffer commandBuffer, 18148 VkBool32 negativeOneToOne); 18149 18150 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingEnableNV( 18151 VkCommandBuffer commandBuffer, 18152 VkBool32 viewportWScalingEnable); 18153 18154 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportSwizzleNV( 18155 VkCommandBuffer commandBuffer, 18156 uint32_t firstViewport, 18157 uint32_t viewportCount, 18158 const VkViewportSwizzleNV* pViewportSwizzles); 18159 18160 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageToColorEnableNV( 18161 VkCommandBuffer commandBuffer, 18162 VkBool32 coverageToColorEnable); 18163 18164 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageToColorLocationNV( 18165 VkCommandBuffer commandBuffer, 18166 uint32_t coverageToColorLocation); 18167 18168 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageModulationModeNV( 18169 VkCommandBuffer commandBuffer, 18170 VkCoverageModulationModeNV coverageModulationMode); 18171 18172 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageModulationTableEnableNV( 18173 VkCommandBuffer commandBuffer, 18174 VkBool32 coverageModulationTableEnable); 18175 18176 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageModulationTableNV( 18177 VkCommandBuffer commandBuffer, 18178 uint32_t coverageModulationTableCount, 18179 const float* pCoverageModulationTable); 18180 18181 VKAPI_ATTR void VKAPI_CALL vkCmdSetShadingRateImageEnableNV( 18182 VkCommandBuffer commandBuffer, 18183 VkBool32 shadingRateImageEnable); 18184 18185 VKAPI_ATTR void VKAPI_CALL vkCmdSetRepresentativeFragmentTestEnableNV( 18186 VkCommandBuffer commandBuffer, 18187 VkBool32 representativeFragmentTestEnable); 18188 18189 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageReductionModeNV( 18190 VkCommandBuffer commandBuffer, 18191 VkCoverageReductionModeNV coverageReductionMode); 18192 #endif 18193 18194 18195 // VK_EXT_subpass_merge_feedback is a preprocessor guard. Do not pass it to API calls. 18196 #define VK_EXT_subpass_merge_feedback 1 18197 #define VK_EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION 2 18198 #define VK_EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME "VK_EXT_subpass_merge_feedback" 18199 18200 typedef enum VkSubpassMergeStatusEXT { 18201 VK_SUBPASS_MERGE_STATUS_MERGED_EXT = 0, 18202 VK_SUBPASS_MERGE_STATUS_DISALLOWED_EXT = 1, 18203 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SIDE_EFFECTS_EXT = 2, 18204 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SAMPLES_MISMATCH_EXT = 3, 18205 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_VIEWS_MISMATCH_EXT = 4, 18206 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_ALIASING_EXT = 5, 18207 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPENDENCIES_EXT = 6, 18208 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INCOMPATIBLE_INPUT_ATTACHMENT_EXT = 7, 18209 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_TOO_MANY_ATTACHMENTS_EXT = 8, 18210 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INSUFFICIENT_STORAGE_EXT = 9, 18211 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPTH_STENCIL_COUNT_EXT = 10, 18212 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_RESOLVE_ATTACHMENT_REUSE_EXT = 11, 18213 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SINGLE_SUBPASS_EXT = 12, 18214 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_UNSPECIFIED_EXT = 13, 18215 VK_SUBPASS_MERGE_STATUS_MAX_ENUM_EXT = 0x7FFFFFFF 18216 } VkSubpassMergeStatusEXT; 18217 typedef struct VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT { 18218 VkStructureType sType; 18219 void* pNext; 18220 VkBool32 subpassMergeFeedback; 18221 } VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT; 18222 18223 typedef struct VkRenderPassCreationControlEXT { 18224 VkStructureType sType; 18225 const void* pNext; 18226 VkBool32 disallowMerging; 18227 } VkRenderPassCreationControlEXT; 18228 18229 typedef struct VkRenderPassCreationFeedbackInfoEXT { 18230 uint32_t postMergeSubpassCount; 18231 } VkRenderPassCreationFeedbackInfoEXT; 18232 18233 typedef struct VkRenderPassCreationFeedbackCreateInfoEXT { 18234 VkStructureType sType; 18235 const void* pNext; 18236 VkRenderPassCreationFeedbackInfoEXT* pRenderPassFeedback; 18237 } VkRenderPassCreationFeedbackCreateInfoEXT; 18238 18239 typedef struct VkRenderPassSubpassFeedbackInfoEXT { 18240 VkSubpassMergeStatusEXT subpassMergeStatus; 18241 char description[VK_MAX_DESCRIPTION_SIZE]; 18242 uint32_t postMergeIndex; 18243 } VkRenderPassSubpassFeedbackInfoEXT; 18244 18245 typedef struct VkRenderPassSubpassFeedbackCreateInfoEXT { 18246 VkStructureType sType; 18247 const void* pNext; 18248 VkRenderPassSubpassFeedbackInfoEXT* pSubpassFeedback; 18249 } VkRenderPassSubpassFeedbackCreateInfoEXT; 18250 18251 18252 18253 // VK_LUNARG_direct_driver_loading is a preprocessor guard. Do not pass it to API calls. 18254 #define VK_LUNARG_direct_driver_loading 1 18255 #define VK_LUNARG_DIRECT_DRIVER_LOADING_SPEC_VERSION 1 18256 #define VK_LUNARG_DIRECT_DRIVER_LOADING_EXTENSION_NAME "VK_LUNARG_direct_driver_loading" 18257 18258 typedef enum VkDirectDriverLoadingModeLUNARG { 18259 VK_DIRECT_DRIVER_LOADING_MODE_EXCLUSIVE_LUNARG = 0, 18260 VK_DIRECT_DRIVER_LOADING_MODE_INCLUSIVE_LUNARG = 1, 18261 VK_DIRECT_DRIVER_LOADING_MODE_MAX_ENUM_LUNARG = 0x7FFFFFFF 18262 } VkDirectDriverLoadingModeLUNARG; 18263 typedef VkFlags VkDirectDriverLoadingFlagsLUNARG; 18264 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddrLUNARG)( 18265 VkInstance instance, const char* pName); 18266 18267 typedef struct VkDirectDriverLoadingInfoLUNARG { 18268 VkStructureType sType; 18269 void* pNext; 18270 VkDirectDriverLoadingFlagsLUNARG flags; 18271 PFN_vkGetInstanceProcAddrLUNARG pfnGetInstanceProcAddr; 18272 } VkDirectDriverLoadingInfoLUNARG; 18273 18274 typedef struct VkDirectDriverLoadingListLUNARG { 18275 VkStructureType sType; 18276 const void* pNext; 18277 VkDirectDriverLoadingModeLUNARG mode; 18278 uint32_t driverCount; 18279 const VkDirectDriverLoadingInfoLUNARG* pDrivers; 18280 } VkDirectDriverLoadingListLUNARG; 18281 18282 18283 18284 // VK_EXT_shader_module_identifier is a preprocessor guard. Do not pass it to API calls. 18285 #define VK_EXT_shader_module_identifier 1 18286 #define VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT 32U 18287 #define VK_EXT_SHADER_MODULE_IDENTIFIER_SPEC_VERSION 1 18288 #define VK_EXT_SHADER_MODULE_IDENTIFIER_EXTENSION_NAME "VK_EXT_shader_module_identifier" 18289 typedef struct VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT { 18290 VkStructureType sType; 18291 void* pNext; 18292 VkBool32 shaderModuleIdentifier; 18293 } VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT; 18294 18295 typedef struct VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT { 18296 VkStructureType sType; 18297 void* pNext; 18298 uint8_t shaderModuleIdentifierAlgorithmUUID[VK_UUID_SIZE]; 18299 } VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT; 18300 18301 typedef struct VkPipelineShaderStageModuleIdentifierCreateInfoEXT { 18302 VkStructureType sType; 18303 const void* pNext; 18304 uint32_t identifierSize; 18305 const uint8_t* pIdentifier; 18306 } VkPipelineShaderStageModuleIdentifierCreateInfoEXT; 18307 18308 typedef struct VkShaderModuleIdentifierEXT { 18309 VkStructureType sType; 18310 void* pNext; 18311 uint32_t identifierSize; 18312 uint8_t identifier[VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT]; 18313 } VkShaderModuleIdentifierEXT; 18314 18315 typedef void (VKAPI_PTR *PFN_vkGetShaderModuleIdentifierEXT)(VkDevice device, VkShaderModule shaderModule, VkShaderModuleIdentifierEXT* pIdentifier); 18316 typedef void (VKAPI_PTR *PFN_vkGetShaderModuleCreateInfoIdentifierEXT)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, VkShaderModuleIdentifierEXT* pIdentifier); 18317 18318 #ifndef VK_NO_PROTOTYPES 18319 VKAPI_ATTR void VKAPI_CALL vkGetShaderModuleIdentifierEXT( 18320 VkDevice device, 18321 VkShaderModule shaderModule, 18322 VkShaderModuleIdentifierEXT* pIdentifier); 18323 18324 VKAPI_ATTR void VKAPI_CALL vkGetShaderModuleCreateInfoIdentifierEXT( 18325 VkDevice device, 18326 const VkShaderModuleCreateInfo* pCreateInfo, 18327 VkShaderModuleIdentifierEXT* pIdentifier); 18328 #endif 18329 18330 18331 // VK_EXT_rasterization_order_attachment_access is a preprocessor guard. Do not pass it to API calls. 18332 #define VK_EXT_rasterization_order_attachment_access 1 18333 #define VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION 1 18334 #define VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME "VK_EXT_rasterization_order_attachment_access" 18335 18336 18337 // VK_NV_optical_flow is a preprocessor guard. Do not pass it to API calls. 18338 #define VK_NV_optical_flow 1 18339 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkOpticalFlowSessionNV) 18340 #define VK_NV_OPTICAL_FLOW_SPEC_VERSION 1 18341 #define VK_NV_OPTICAL_FLOW_EXTENSION_NAME "VK_NV_optical_flow" 18342 18343 typedef enum VkOpticalFlowPerformanceLevelNV { 18344 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_UNKNOWN_NV = 0, 18345 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_SLOW_NV = 1, 18346 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MEDIUM_NV = 2, 18347 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_FAST_NV = 3, 18348 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MAX_ENUM_NV = 0x7FFFFFFF 18349 } VkOpticalFlowPerformanceLevelNV; 18350 18351 typedef enum VkOpticalFlowSessionBindingPointNV { 18352 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_UNKNOWN_NV = 0, 18353 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_INPUT_NV = 1, 18354 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_REFERENCE_NV = 2, 18355 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_HINT_NV = 3, 18356 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_FLOW_VECTOR_NV = 4, 18357 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_FLOW_VECTOR_NV = 5, 18358 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_COST_NV = 6, 18359 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_COST_NV = 7, 18360 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_GLOBAL_FLOW_NV = 8, 18361 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_MAX_ENUM_NV = 0x7FFFFFFF 18362 } VkOpticalFlowSessionBindingPointNV; 18363 18364 typedef enum VkOpticalFlowGridSizeFlagBitsNV { 18365 VK_OPTICAL_FLOW_GRID_SIZE_UNKNOWN_NV = 0, 18366 VK_OPTICAL_FLOW_GRID_SIZE_1X1_BIT_NV = 0x00000001, 18367 VK_OPTICAL_FLOW_GRID_SIZE_2X2_BIT_NV = 0x00000002, 18368 VK_OPTICAL_FLOW_GRID_SIZE_4X4_BIT_NV = 0x00000004, 18369 VK_OPTICAL_FLOW_GRID_SIZE_8X8_BIT_NV = 0x00000008, 18370 VK_OPTICAL_FLOW_GRID_SIZE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 18371 } VkOpticalFlowGridSizeFlagBitsNV; 18372 typedef VkFlags VkOpticalFlowGridSizeFlagsNV; 18373 18374 typedef enum VkOpticalFlowUsageFlagBitsNV { 18375 VK_OPTICAL_FLOW_USAGE_UNKNOWN_NV = 0, 18376 VK_OPTICAL_FLOW_USAGE_INPUT_BIT_NV = 0x00000001, 18377 VK_OPTICAL_FLOW_USAGE_OUTPUT_BIT_NV = 0x00000002, 18378 VK_OPTICAL_FLOW_USAGE_HINT_BIT_NV = 0x00000004, 18379 VK_OPTICAL_FLOW_USAGE_COST_BIT_NV = 0x00000008, 18380 VK_OPTICAL_FLOW_USAGE_GLOBAL_FLOW_BIT_NV = 0x00000010, 18381 VK_OPTICAL_FLOW_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 18382 } VkOpticalFlowUsageFlagBitsNV; 18383 typedef VkFlags VkOpticalFlowUsageFlagsNV; 18384 18385 typedef enum VkOpticalFlowSessionCreateFlagBitsNV { 18386 VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_HINT_BIT_NV = 0x00000001, 18387 VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_COST_BIT_NV = 0x00000002, 18388 VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_GLOBAL_FLOW_BIT_NV = 0x00000004, 18389 VK_OPTICAL_FLOW_SESSION_CREATE_ALLOW_REGIONS_BIT_NV = 0x00000008, 18390 VK_OPTICAL_FLOW_SESSION_CREATE_BOTH_DIRECTIONS_BIT_NV = 0x00000010, 18391 VK_OPTICAL_FLOW_SESSION_CREATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 18392 } VkOpticalFlowSessionCreateFlagBitsNV; 18393 typedef VkFlags VkOpticalFlowSessionCreateFlagsNV; 18394 18395 typedef enum VkOpticalFlowExecuteFlagBitsNV { 18396 VK_OPTICAL_FLOW_EXECUTE_DISABLE_TEMPORAL_HINTS_BIT_NV = 0x00000001, 18397 VK_OPTICAL_FLOW_EXECUTE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 18398 } VkOpticalFlowExecuteFlagBitsNV; 18399 typedef VkFlags VkOpticalFlowExecuteFlagsNV; 18400 typedef struct VkPhysicalDeviceOpticalFlowFeaturesNV { 18401 VkStructureType sType; 18402 void* pNext; 18403 VkBool32 opticalFlow; 18404 } VkPhysicalDeviceOpticalFlowFeaturesNV; 18405 18406 typedef struct VkPhysicalDeviceOpticalFlowPropertiesNV { 18407 VkStructureType sType; 18408 void* pNext; 18409 VkOpticalFlowGridSizeFlagsNV supportedOutputGridSizes; 18410 VkOpticalFlowGridSizeFlagsNV supportedHintGridSizes; 18411 VkBool32 hintSupported; 18412 VkBool32 costSupported; 18413 VkBool32 bidirectionalFlowSupported; 18414 VkBool32 globalFlowSupported; 18415 uint32_t minWidth; 18416 uint32_t minHeight; 18417 uint32_t maxWidth; 18418 uint32_t maxHeight; 18419 uint32_t maxNumRegionsOfInterest; 18420 } VkPhysicalDeviceOpticalFlowPropertiesNV; 18421 18422 typedef struct VkOpticalFlowImageFormatInfoNV { 18423 VkStructureType sType; 18424 const void* pNext; 18425 VkOpticalFlowUsageFlagsNV usage; 18426 } VkOpticalFlowImageFormatInfoNV; 18427 18428 typedef struct VkOpticalFlowImageFormatPropertiesNV { 18429 VkStructureType sType; 18430 const void* pNext; 18431 VkFormat format; 18432 } VkOpticalFlowImageFormatPropertiesNV; 18433 18434 typedef struct VkOpticalFlowSessionCreateInfoNV { 18435 VkStructureType sType; 18436 void* pNext; 18437 uint32_t width; 18438 uint32_t height; 18439 VkFormat imageFormat; 18440 VkFormat flowVectorFormat; 18441 VkFormat costFormat; 18442 VkOpticalFlowGridSizeFlagsNV outputGridSize; 18443 VkOpticalFlowGridSizeFlagsNV hintGridSize; 18444 VkOpticalFlowPerformanceLevelNV performanceLevel; 18445 VkOpticalFlowSessionCreateFlagsNV flags; 18446 } VkOpticalFlowSessionCreateInfoNV; 18447 18448 typedef struct VkOpticalFlowSessionCreatePrivateDataInfoNV { 18449 VkStructureType sType; 18450 void* pNext; 18451 uint32_t id; 18452 uint32_t size; 18453 const void* pPrivateData; 18454 } VkOpticalFlowSessionCreatePrivateDataInfoNV; 18455 18456 typedef struct VkOpticalFlowExecuteInfoNV { 18457 VkStructureType sType; 18458 void* pNext; 18459 VkOpticalFlowExecuteFlagsNV flags; 18460 uint32_t regionCount; 18461 const VkRect2D* pRegions; 18462 } VkOpticalFlowExecuteInfoNV; 18463 18464 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV)(VkPhysicalDevice physicalDevice, const VkOpticalFlowImageFormatInfoNV* pOpticalFlowImageFormatInfo, uint32_t* pFormatCount, VkOpticalFlowImageFormatPropertiesNV* pImageFormatProperties); 18465 typedef VkResult (VKAPI_PTR *PFN_vkCreateOpticalFlowSessionNV)(VkDevice device, const VkOpticalFlowSessionCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkOpticalFlowSessionNV* pSession); 18466 typedef void (VKAPI_PTR *PFN_vkDestroyOpticalFlowSessionNV)(VkDevice device, VkOpticalFlowSessionNV session, const VkAllocationCallbacks* pAllocator); 18467 typedef VkResult (VKAPI_PTR *PFN_vkBindOpticalFlowSessionImageNV)(VkDevice device, VkOpticalFlowSessionNV session, VkOpticalFlowSessionBindingPointNV bindingPoint, VkImageView view, VkImageLayout layout); 18468 typedef void (VKAPI_PTR *PFN_vkCmdOpticalFlowExecuteNV)(VkCommandBuffer commandBuffer, VkOpticalFlowSessionNV session, const VkOpticalFlowExecuteInfoNV* pExecuteInfo); 18469 18470 #ifndef VK_NO_PROTOTYPES 18471 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceOpticalFlowImageFormatsNV( 18472 VkPhysicalDevice physicalDevice, 18473 const VkOpticalFlowImageFormatInfoNV* pOpticalFlowImageFormatInfo, 18474 uint32_t* pFormatCount, 18475 VkOpticalFlowImageFormatPropertiesNV* pImageFormatProperties); 18476 18477 VKAPI_ATTR VkResult VKAPI_CALL vkCreateOpticalFlowSessionNV( 18478 VkDevice device, 18479 const VkOpticalFlowSessionCreateInfoNV* pCreateInfo, 18480 const VkAllocationCallbacks* pAllocator, 18481 VkOpticalFlowSessionNV* pSession); 18482 18483 VKAPI_ATTR void VKAPI_CALL vkDestroyOpticalFlowSessionNV( 18484 VkDevice device, 18485 VkOpticalFlowSessionNV session, 18486 const VkAllocationCallbacks* pAllocator); 18487 18488 VKAPI_ATTR VkResult VKAPI_CALL vkBindOpticalFlowSessionImageNV( 18489 VkDevice device, 18490 VkOpticalFlowSessionNV session, 18491 VkOpticalFlowSessionBindingPointNV bindingPoint, 18492 VkImageView view, 18493 VkImageLayout layout); 18494 18495 VKAPI_ATTR void VKAPI_CALL vkCmdOpticalFlowExecuteNV( 18496 VkCommandBuffer commandBuffer, 18497 VkOpticalFlowSessionNV session, 18498 const VkOpticalFlowExecuteInfoNV* pExecuteInfo); 18499 #endif 18500 18501 18502 // VK_EXT_legacy_dithering is a preprocessor guard. Do not pass it to API calls. 18503 #define VK_EXT_legacy_dithering 1 18504 #define VK_EXT_LEGACY_DITHERING_SPEC_VERSION 1 18505 #define VK_EXT_LEGACY_DITHERING_EXTENSION_NAME "VK_EXT_legacy_dithering" 18506 typedef struct VkPhysicalDeviceLegacyDitheringFeaturesEXT { 18507 VkStructureType sType; 18508 void* pNext; 18509 VkBool32 legacyDithering; 18510 } VkPhysicalDeviceLegacyDitheringFeaturesEXT; 18511 18512 18513 18514 // VK_EXT_pipeline_protected_access is a preprocessor guard. Do not pass it to API calls. 18515 #define VK_EXT_pipeline_protected_access 1 18516 #define VK_EXT_PIPELINE_PROTECTED_ACCESS_SPEC_VERSION 1 18517 #define VK_EXT_PIPELINE_PROTECTED_ACCESS_EXTENSION_NAME "VK_EXT_pipeline_protected_access" 18518 typedef struct VkPhysicalDevicePipelineProtectedAccessFeaturesEXT { 18519 VkStructureType sType; 18520 void* pNext; 18521 VkBool32 pipelineProtectedAccess; 18522 } VkPhysicalDevicePipelineProtectedAccessFeaturesEXT; 18523 18524 18525 18526 // VK_EXT_shader_object is a preprocessor guard. Do not pass it to API calls. 18527 #define VK_EXT_shader_object 1 18528 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderEXT) 18529 #define VK_EXT_SHADER_OBJECT_SPEC_VERSION 1 18530 #define VK_EXT_SHADER_OBJECT_EXTENSION_NAME "VK_EXT_shader_object" 18531 18532 typedef enum VkShaderCodeTypeEXT { 18533 VK_SHADER_CODE_TYPE_BINARY_EXT = 0, 18534 VK_SHADER_CODE_TYPE_SPIRV_EXT = 1, 18535 VK_SHADER_CODE_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 18536 } VkShaderCodeTypeEXT; 18537 18538 typedef enum VkShaderCreateFlagBitsEXT { 18539 VK_SHADER_CREATE_LINK_STAGE_BIT_EXT = 0x00000001, 18540 VK_SHADER_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 0x00000002, 18541 VK_SHADER_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 0x00000004, 18542 VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXT = 0x00000008, 18543 VK_SHADER_CREATE_DISPATCH_BASE_BIT_EXT = 0x00000010, 18544 VK_SHADER_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_EXT = 0x00000020, 18545 VK_SHADER_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00000040, 18546 VK_SHADER_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 18547 } VkShaderCreateFlagBitsEXT; 18548 typedef VkFlags VkShaderCreateFlagsEXT; 18549 typedef struct VkPhysicalDeviceShaderObjectFeaturesEXT { 18550 VkStructureType sType; 18551 void* pNext; 18552 VkBool32 shaderObject; 18553 } VkPhysicalDeviceShaderObjectFeaturesEXT; 18554 18555 typedef struct VkPhysicalDeviceShaderObjectPropertiesEXT { 18556 VkStructureType sType; 18557 void* pNext; 18558 uint8_t shaderBinaryUUID[VK_UUID_SIZE]; 18559 uint32_t shaderBinaryVersion; 18560 } VkPhysicalDeviceShaderObjectPropertiesEXT; 18561 18562 typedef struct VkShaderCreateInfoEXT { 18563 VkStructureType sType; 18564 const void* pNext; 18565 VkShaderCreateFlagsEXT flags; 18566 VkShaderStageFlagBits stage; 18567 VkShaderStageFlags nextStage; 18568 VkShaderCodeTypeEXT codeType; 18569 size_t codeSize; 18570 const void* pCode; 18571 const char* pName; 18572 uint32_t setLayoutCount; 18573 const VkDescriptorSetLayout* pSetLayouts; 18574 uint32_t pushConstantRangeCount; 18575 const VkPushConstantRange* pPushConstantRanges; 18576 const VkSpecializationInfo* pSpecializationInfo; 18577 } VkShaderCreateInfoEXT; 18578 18579 typedef VkPipelineShaderStageRequiredSubgroupSizeCreateInfo VkShaderRequiredSubgroupSizeCreateInfoEXT; 18580 18581 typedef VkResult (VKAPI_PTR *PFN_vkCreateShadersEXT)(VkDevice device, uint32_t createInfoCount, const VkShaderCreateInfoEXT* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkShaderEXT* pShaders); 18582 typedef void (VKAPI_PTR *PFN_vkDestroyShaderEXT)(VkDevice device, VkShaderEXT shader, const VkAllocationCallbacks* pAllocator); 18583 typedef VkResult (VKAPI_PTR *PFN_vkGetShaderBinaryDataEXT)(VkDevice device, VkShaderEXT shader, size_t* pDataSize, void* pData); 18584 typedef void (VKAPI_PTR *PFN_vkCmdBindShadersEXT)(VkCommandBuffer commandBuffer, uint32_t stageCount, const VkShaderStageFlagBits* pStages, const VkShaderEXT* pShaders); 18585 18586 #ifndef VK_NO_PROTOTYPES 18587 VKAPI_ATTR VkResult VKAPI_CALL vkCreateShadersEXT( 18588 VkDevice device, 18589 uint32_t createInfoCount, 18590 const VkShaderCreateInfoEXT* pCreateInfos, 18591 const VkAllocationCallbacks* pAllocator, 18592 VkShaderEXT* pShaders); 18593 18594 VKAPI_ATTR void VKAPI_CALL vkDestroyShaderEXT( 18595 VkDevice device, 18596 VkShaderEXT shader, 18597 const VkAllocationCallbacks* pAllocator); 18598 18599 VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderBinaryDataEXT( 18600 VkDevice device, 18601 VkShaderEXT shader, 18602 size_t* pDataSize, 18603 void* pData); 18604 18605 VKAPI_ATTR void VKAPI_CALL vkCmdBindShadersEXT( 18606 VkCommandBuffer commandBuffer, 18607 uint32_t stageCount, 18608 const VkShaderStageFlagBits* pStages, 18609 const VkShaderEXT* pShaders); 18610 #endif 18611 18612 18613 // VK_QCOM_tile_properties is a preprocessor guard. Do not pass it to API calls. 18614 #define VK_QCOM_tile_properties 1 18615 #define VK_QCOM_TILE_PROPERTIES_SPEC_VERSION 1 18616 #define VK_QCOM_TILE_PROPERTIES_EXTENSION_NAME "VK_QCOM_tile_properties" 18617 typedef struct VkPhysicalDeviceTilePropertiesFeaturesQCOM { 18618 VkStructureType sType; 18619 void* pNext; 18620 VkBool32 tileProperties; 18621 } VkPhysicalDeviceTilePropertiesFeaturesQCOM; 18622 18623 typedef struct VkTilePropertiesQCOM { 18624 VkStructureType sType; 18625 void* pNext; 18626 VkExtent3D tileSize; 18627 VkExtent2D apronSize; 18628 VkOffset2D origin; 18629 } VkTilePropertiesQCOM; 18630 18631 typedef VkResult (VKAPI_PTR *PFN_vkGetFramebufferTilePropertiesQCOM)(VkDevice device, VkFramebuffer framebuffer, uint32_t* pPropertiesCount, VkTilePropertiesQCOM* pProperties); 18632 typedef VkResult (VKAPI_PTR *PFN_vkGetDynamicRenderingTilePropertiesQCOM)(VkDevice device, const VkRenderingInfo* pRenderingInfo, VkTilePropertiesQCOM* pProperties); 18633 18634 #ifndef VK_NO_PROTOTYPES 18635 VKAPI_ATTR VkResult VKAPI_CALL vkGetFramebufferTilePropertiesQCOM( 18636 VkDevice device, 18637 VkFramebuffer framebuffer, 18638 uint32_t* pPropertiesCount, 18639 VkTilePropertiesQCOM* pProperties); 18640 18641 VKAPI_ATTR VkResult VKAPI_CALL vkGetDynamicRenderingTilePropertiesQCOM( 18642 VkDevice device, 18643 const VkRenderingInfo* pRenderingInfo, 18644 VkTilePropertiesQCOM* pProperties); 18645 #endif 18646 18647 18648 // VK_SEC_amigo_profiling is a preprocessor guard. Do not pass it to API calls. 18649 #define VK_SEC_amigo_profiling 1 18650 #define VK_SEC_AMIGO_PROFILING_SPEC_VERSION 1 18651 #define VK_SEC_AMIGO_PROFILING_EXTENSION_NAME "VK_SEC_amigo_profiling" 18652 typedef struct VkPhysicalDeviceAmigoProfilingFeaturesSEC { 18653 VkStructureType sType; 18654 void* pNext; 18655 VkBool32 amigoProfiling; 18656 } VkPhysicalDeviceAmigoProfilingFeaturesSEC; 18657 18658 typedef struct VkAmigoProfilingSubmitInfoSEC { 18659 VkStructureType sType; 18660 const void* pNext; 18661 uint64_t firstDrawTimestamp; 18662 uint64_t swapBufferTimestamp; 18663 } VkAmigoProfilingSubmitInfoSEC; 18664 18665 18666 18667 // VK_QCOM_multiview_per_view_viewports is a preprocessor guard. Do not pass it to API calls. 18668 #define VK_QCOM_multiview_per_view_viewports 1 18669 #define VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_SPEC_VERSION 1 18670 #define VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_EXTENSION_NAME "VK_QCOM_multiview_per_view_viewports" 18671 typedef struct VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM { 18672 VkStructureType sType; 18673 void* pNext; 18674 VkBool32 multiviewPerViewViewports; 18675 } VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM; 18676 18677 18678 18679 // VK_NV_ray_tracing_invocation_reorder is a preprocessor guard. Do not pass it to API calls. 18680 #define VK_NV_ray_tracing_invocation_reorder 1 18681 #define VK_NV_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION 1 18682 #define VK_NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME "VK_NV_ray_tracing_invocation_reorder" 18683 18684 typedef enum VkRayTracingInvocationReorderModeNV { 18685 VK_RAY_TRACING_INVOCATION_REORDER_MODE_NONE_NV = 0, 18686 VK_RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_NV = 1, 18687 VK_RAY_TRACING_INVOCATION_REORDER_MODE_MAX_ENUM_NV = 0x7FFFFFFF 18688 } VkRayTracingInvocationReorderModeNV; 18689 typedef struct VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV { 18690 VkStructureType sType; 18691 void* pNext; 18692 VkRayTracingInvocationReorderModeNV rayTracingInvocationReorderReorderingHint; 18693 } VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV; 18694 18695 typedef struct VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV { 18696 VkStructureType sType; 18697 void* pNext; 18698 VkBool32 rayTracingInvocationReorder; 18699 } VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV; 18700 18701 18702 18703 // VK_NV_extended_sparse_address_space is a preprocessor guard. Do not pass it to API calls. 18704 #define VK_NV_extended_sparse_address_space 1 18705 #define VK_NV_EXTENDED_SPARSE_ADDRESS_SPACE_SPEC_VERSION 1 18706 #define VK_NV_EXTENDED_SPARSE_ADDRESS_SPACE_EXTENSION_NAME "VK_NV_extended_sparse_address_space" 18707 typedef struct VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV { 18708 VkStructureType sType; 18709 void* pNext; 18710 VkBool32 extendedSparseAddressSpace; 18711 } VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV; 18712 18713 typedef struct VkPhysicalDeviceExtendedSparseAddressSpacePropertiesNV { 18714 VkStructureType sType; 18715 void* pNext; 18716 VkDeviceSize extendedSparseAddressSpaceSize; 18717 VkImageUsageFlags extendedSparseImageUsageFlags; 18718 VkBufferUsageFlags extendedSparseBufferUsageFlags; 18719 } VkPhysicalDeviceExtendedSparseAddressSpacePropertiesNV; 18720 18721 18722 18723 // VK_EXT_mutable_descriptor_type is a preprocessor guard. Do not pass it to API calls. 18724 #define VK_EXT_mutable_descriptor_type 1 18725 #define VK_EXT_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1 18726 #define VK_EXT_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_EXT_mutable_descriptor_type" 18727 18728 18729 // VK_EXT_layer_settings is a preprocessor guard. Do not pass it to API calls. 18730 #define VK_EXT_layer_settings 1 18731 #define VK_EXT_LAYER_SETTINGS_SPEC_VERSION 2 18732 #define VK_EXT_LAYER_SETTINGS_EXTENSION_NAME "VK_EXT_layer_settings" 18733 18734 typedef enum VkLayerSettingTypeEXT { 18735 VK_LAYER_SETTING_TYPE_BOOL32_EXT = 0, 18736 VK_LAYER_SETTING_TYPE_INT32_EXT = 1, 18737 VK_LAYER_SETTING_TYPE_INT64_EXT = 2, 18738 VK_LAYER_SETTING_TYPE_UINT32_EXT = 3, 18739 VK_LAYER_SETTING_TYPE_UINT64_EXT = 4, 18740 VK_LAYER_SETTING_TYPE_FLOAT32_EXT = 5, 18741 VK_LAYER_SETTING_TYPE_FLOAT64_EXT = 6, 18742 VK_LAYER_SETTING_TYPE_STRING_EXT = 7, 18743 VK_LAYER_SETTING_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 18744 } VkLayerSettingTypeEXT; 18745 typedef struct VkLayerSettingEXT { 18746 const char* pLayerName; 18747 const char* pSettingName; 18748 VkLayerSettingTypeEXT type; 18749 uint32_t valueCount; 18750 const void* pValues; 18751 } VkLayerSettingEXT; 18752 18753 typedef struct VkLayerSettingsCreateInfoEXT { 18754 VkStructureType sType; 18755 const void* pNext; 18756 uint32_t settingCount; 18757 const VkLayerSettingEXT* pSettings; 18758 } VkLayerSettingsCreateInfoEXT; 18759 18760 18761 18762 // VK_ARM_shader_core_builtins is a preprocessor guard. Do not pass it to API calls. 18763 #define VK_ARM_shader_core_builtins 1 18764 #define VK_ARM_SHADER_CORE_BUILTINS_SPEC_VERSION 2 18765 #define VK_ARM_SHADER_CORE_BUILTINS_EXTENSION_NAME "VK_ARM_shader_core_builtins" 18766 typedef struct VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM { 18767 VkStructureType sType; 18768 void* pNext; 18769 VkBool32 shaderCoreBuiltins; 18770 } VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM; 18771 18772 typedef struct VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM { 18773 VkStructureType sType; 18774 void* pNext; 18775 uint64_t shaderCoreMask; 18776 uint32_t shaderCoreCount; 18777 uint32_t shaderWarpsPerCore; 18778 } VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM; 18779 18780 18781 18782 // VK_EXT_pipeline_library_group_handles is a preprocessor guard. Do not pass it to API calls. 18783 #define VK_EXT_pipeline_library_group_handles 1 18784 #define VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_SPEC_VERSION 1 18785 #define VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_EXTENSION_NAME "VK_EXT_pipeline_library_group_handles" 18786 typedef struct VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT { 18787 VkStructureType sType; 18788 void* pNext; 18789 VkBool32 pipelineLibraryGroupHandles; 18790 } VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT; 18791 18792 18793 18794 // VK_EXT_dynamic_rendering_unused_attachments is a preprocessor guard. Do not pass it to API calls. 18795 #define VK_EXT_dynamic_rendering_unused_attachments 1 18796 #define VK_EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_SPEC_VERSION 1 18797 #define VK_EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_EXTENSION_NAME "VK_EXT_dynamic_rendering_unused_attachments" 18798 typedef struct VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT { 18799 VkStructureType sType; 18800 void* pNext; 18801 VkBool32 dynamicRenderingUnusedAttachments; 18802 } VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT; 18803 18804 18805 18806 // VK_NV_low_latency2 is a preprocessor guard. Do not pass it to API calls. 18807 #define VK_NV_low_latency2 1 18808 #define VK_NV_LOW_LATENCY_2_SPEC_VERSION 2 18809 #define VK_NV_LOW_LATENCY_2_EXTENSION_NAME "VK_NV_low_latency2" 18810 18811 typedef enum VkLatencyMarkerNV { 18812 VK_LATENCY_MARKER_SIMULATION_START_NV = 0, 18813 VK_LATENCY_MARKER_SIMULATION_END_NV = 1, 18814 VK_LATENCY_MARKER_RENDERSUBMIT_START_NV = 2, 18815 VK_LATENCY_MARKER_RENDERSUBMIT_END_NV = 3, 18816 VK_LATENCY_MARKER_PRESENT_START_NV = 4, 18817 VK_LATENCY_MARKER_PRESENT_END_NV = 5, 18818 VK_LATENCY_MARKER_INPUT_SAMPLE_NV = 6, 18819 VK_LATENCY_MARKER_TRIGGER_FLASH_NV = 7, 18820 VK_LATENCY_MARKER_OUT_OF_BAND_RENDERSUBMIT_START_NV = 8, 18821 VK_LATENCY_MARKER_OUT_OF_BAND_RENDERSUBMIT_END_NV = 9, 18822 VK_LATENCY_MARKER_OUT_OF_BAND_PRESENT_START_NV = 10, 18823 VK_LATENCY_MARKER_OUT_OF_BAND_PRESENT_END_NV = 11, 18824 VK_LATENCY_MARKER_MAX_ENUM_NV = 0x7FFFFFFF 18825 } VkLatencyMarkerNV; 18826 18827 typedef enum VkOutOfBandQueueTypeNV { 18828 VK_OUT_OF_BAND_QUEUE_TYPE_RENDER_NV = 0, 18829 VK_OUT_OF_BAND_QUEUE_TYPE_PRESENT_NV = 1, 18830 VK_OUT_OF_BAND_QUEUE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 18831 } VkOutOfBandQueueTypeNV; 18832 typedef struct VkLatencySleepModeInfoNV { 18833 VkStructureType sType; 18834 const void* pNext; 18835 VkBool32 lowLatencyMode; 18836 VkBool32 lowLatencyBoost; 18837 uint32_t minimumIntervalUs; 18838 } VkLatencySleepModeInfoNV; 18839 18840 typedef struct VkLatencySleepInfoNV { 18841 VkStructureType sType; 18842 const void* pNext; 18843 VkSemaphore signalSemaphore; 18844 uint64_t value; 18845 } VkLatencySleepInfoNV; 18846 18847 typedef struct VkSetLatencyMarkerInfoNV { 18848 VkStructureType sType; 18849 const void* pNext; 18850 uint64_t presentID; 18851 VkLatencyMarkerNV marker; 18852 } VkSetLatencyMarkerInfoNV; 18853 18854 typedef struct VkLatencyTimingsFrameReportNV { 18855 VkStructureType sType; 18856 const void* pNext; 18857 uint64_t presentID; 18858 uint64_t inputSampleTimeUs; 18859 uint64_t simStartTimeUs; 18860 uint64_t simEndTimeUs; 18861 uint64_t renderSubmitStartTimeUs; 18862 uint64_t renderSubmitEndTimeUs; 18863 uint64_t presentStartTimeUs; 18864 uint64_t presentEndTimeUs; 18865 uint64_t driverStartTimeUs; 18866 uint64_t driverEndTimeUs; 18867 uint64_t osRenderQueueStartTimeUs; 18868 uint64_t osRenderQueueEndTimeUs; 18869 uint64_t gpuRenderStartTimeUs; 18870 uint64_t gpuRenderEndTimeUs; 18871 } VkLatencyTimingsFrameReportNV; 18872 18873 typedef struct VkGetLatencyMarkerInfoNV { 18874 VkStructureType sType; 18875 const void* pNext; 18876 uint32_t timingCount; 18877 VkLatencyTimingsFrameReportNV* pTimings; 18878 } VkGetLatencyMarkerInfoNV; 18879 18880 typedef struct VkLatencySubmissionPresentIdNV { 18881 VkStructureType sType; 18882 const void* pNext; 18883 uint64_t presentID; 18884 } VkLatencySubmissionPresentIdNV; 18885 18886 typedef struct VkSwapchainLatencyCreateInfoNV { 18887 VkStructureType sType; 18888 const void* pNext; 18889 VkBool32 latencyModeEnable; 18890 } VkSwapchainLatencyCreateInfoNV; 18891 18892 typedef struct VkOutOfBandQueueTypeInfoNV { 18893 VkStructureType sType; 18894 const void* pNext; 18895 VkOutOfBandQueueTypeNV queueType; 18896 } VkOutOfBandQueueTypeInfoNV; 18897 18898 typedef struct VkLatencySurfaceCapabilitiesNV { 18899 VkStructureType sType; 18900 const void* pNext; 18901 uint32_t presentModeCount; 18902 VkPresentModeKHR* pPresentModes; 18903 } VkLatencySurfaceCapabilitiesNV; 18904 18905 typedef VkResult (VKAPI_PTR *PFN_vkSetLatencySleepModeNV)(VkDevice device, VkSwapchainKHR swapchain, const VkLatencySleepModeInfoNV* pSleepModeInfo); 18906 typedef VkResult (VKAPI_PTR *PFN_vkLatencySleepNV)(VkDevice device, VkSwapchainKHR swapchain, const VkLatencySleepInfoNV* pSleepInfo); 18907 typedef void (VKAPI_PTR *PFN_vkSetLatencyMarkerNV)(VkDevice device, VkSwapchainKHR swapchain, const VkSetLatencyMarkerInfoNV* pLatencyMarkerInfo); 18908 typedef void (VKAPI_PTR *PFN_vkGetLatencyTimingsNV)(VkDevice device, VkSwapchainKHR swapchain, VkGetLatencyMarkerInfoNV* pLatencyMarkerInfo); 18909 typedef void (VKAPI_PTR *PFN_vkQueueNotifyOutOfBandNV)(VkQueue queue, const VkOutOfBandQueueTypeInfoNV* pQueueTypeInfo); 18910 18911 #ifndef VK_NO_PROTOTYPES 18912 VKAPI_ATTR VkResult VKAPI_CALL vkSetLatencySleepModeNV( 18913 VkDevice device, 18914 VkSwapchainKHR swapchain, 18915 const VkLatencySleepModeInfoNV* pSleepModeInfo); 18916 18917 VKAPI_ATTR VkResult VKAPI_CALL vkLatencySleepNV( 18918 VkDevice device, 18919 VkSwapchainKHR swapchain, 18920 const VkLatencySleepInfoNV* pSleepInfo); 18921 18922 VKAPI_ATTR void VKAPI_CALL vkSetLatencyMarkerNV( 18923 VkDevice device, 18924 VkSwapchainKHR swapchain, 18925 const VkSetLatencyMarkerInfoNV* pLatencyMarkerInfo); 18926 18927 VKAPI_ATTR void VKAPI_CALL vkGetLatencyTimingsNV( 18928 VkDevice device, 18929 VkSwapchainKHR swapchain, 18930 VkGetLatencyMarkerInfoNV* pLatencyMarkerInfo); 18931 18932 VKAPI_ATTR void VKAPI_CALL vkQueueNotifyOutOfBandNV( 18933 VkQueue queue, 18934 const VkOutOfBandQueueTypeInfoNV* pQueueTypeInfo); 18935 #endif 18936 18937 18938 // VK_QCOM_multiview_per_view_render_areas is a preprocessor guard. Do not pass it to API calls. 18939 #define VK_QCOM_multiview_per_view_render_areas 1 18940 #define VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_SPEC_VERSION 1 18941 #define VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_EXTENSION_NAME "VK_QCOM_multiview_per_view_render_areas" 18942 typedef struct VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM { 18943 VkStructureType sType; 18944 void* pNext; 18945 VkBool32 multiviewPerViewRenderAreas; 18946 } VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM; 18947 18948 typedef struct VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM { 18949 VkStructureType sType; 18950 const void* pNext; 18951 uint32_t perViewRenderAreaCount; 18952 const VkRect2D* pPerViewRenderAreas; 18953 } VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM; 18954 18955 18956 18957 // VK_NV_per_stage_descriptor_set is a preprocessor guard. Do not pass it to API calls. 18958 #define VK_NV_per_stage_descriptor_set 1 18959 #define VK_NV_PER_STAGE_DESCRIPTOR_SET_SPEC_VERSION 1 18960 #define VK_NV_PER_STAGE_DESCRIPTOR_SET_EXTENSION_NAME "VK_NV_per_stage_descriptor_set" 18961 typedef struct VkPhysicalDevicePerStageDescriptorSetFeaturesNV { 18962 VkStructureType sType; 18963 void* pNext; 18964 VkBool32 perStageDescriptorSet; 18965 VkBool32 dynamicPipelineLayout; 18966 } VkPhysicalDevicePerStageDescriptorSetFeaturesNV; 18967 18968 18969 18970 // VK_QCOM_image_processing2 is a preprocessor guard. Do not pass it to API calls. 18971 #define VK_QCOM_image_processing2 1 18972 #define VK_QCOM_IMAGE_PROCESSING_2_SPEC_VERSION 1 18973 #define VK_QCOM_IMAGE_PROCESSING_2_EXTENSION_NAME "VK_QCOM_image_processing2" 18974 18975 typedef enum VkBlockMatchWindowCompareModeQCOM { 18976 VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MIN_QCOM = 0, 18977 VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MAX_QCOM = 1, 18978 VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MAX_ENUM_QCOM = 0x7FFFFFFF 18979 } VkBlockMatchWindowCompareModeQCOM; 18980 typedef struct VkPhysicalDeviceImageProcessing2FeaturesQCOM { 18981 VkStructureType sType; 18982 void* pNext; 18983 VkBool32 textureBlockMatch2; 18984 } VkPhysicalDeviceImageProcessing2FeaturesQCOM; 18985 18986 typedef struct VkPhysicalDeviceImageProcessing2PropertiesQCOM { 18987 VkStructureType sType; 18988 void* pNext; 18989 VkExtent2D maxBlockMatchWindow; 18990 } VkPhysicalDeviceImageProcessing2PropertiesQCOM; 18991 18992 typedef struct VkSamplerBlockMatchWindowCreateInfoQCOM { 18993 VkStructureType sType; 18994 const void* pNext; 18995 VkExtent2D windowExtent; 18996 VkBlockMatchWindowCompareModeQCOM windowCompareMode; 18997 } VkSamplerBlockMatchWindowCreateInfoQCOM; 18998 18999 19000 19001 // VK_QCOM_filter_cubic_weights is a preprocessor guard. Do not pass it to API calls. 19002 #define VK_QCOM_filter_cubic_weights 1 19003 #define VK_QCOM_FILTER_CUBIC_WEIGHTS_SPEC_VERSION 1 19004 #define VK_QCOM_FILTER_CUBIC_WEIGHTS_EXTENSION_NAME "VK_QCOM_filter_cubic_weights" 19005 19006 typedef enum VkCubicFilterWeightsQCOM { 19007 VK_CUBIC_FILTER_WEIGHTS_CATMULL_ROM_QCOM = 0, 19008 VK_CUBIC_FILTER_WEIGHTS_ZERO_TANGENT_CARDINAL_QCOM = 1, 19009 VK_CUBIC_FILTER_WEIGHTS_B_SPLINE_QCOM = 2, 19010 VK_CUBIC_FILTER_WEIGHTS_MITCHELL_NETRAVALI_QCOM = 3, 19011 VK_CUBIC_FILTER_WEIGHTS_MAX_ENUM_QCOM = 0x7FFFFFFF 19012 } VkCubicFilterWeightsQCOM; 19013 typedef struct VkPhysicalDeviceCubicWeightsFeaturesQCOM { 19014 VkStructureType sType; 19015 void* pNext; 19016 VkBool32 selectableCubicWeights; 19017 } VkPhysicalDeviceCubicWeightsFeaturesQCOM; 19018 19019 typedef struct VkSamplerCubicWeightsCreateInfoQCOM { 19020 VkStructureType sType; 19021 const void* pNext; 19022 VkCubicFilterWeightsQCOM cubicWeights; 19023 } VkSamplerCubicWeightsCreateInfoQCOM; 19024 19025 typedef struct VkBlitImageCubicWeightsInfoQCOM { 19026 VkStructureType sType; 19027 const void* pNext; 19028 VkCubicFilterWeightsQCOM cubicWeights; 19029 } VkBlitImageCubicWeightsInfoQCOM; 19030 19031 19032 19033 // VK_QCOM_ycbcr_degamma is a preprocessor guard. Do not pass it to API calls. 19034 #define VK_QCOM_ycbcr_degamma 1 19035 #define VK_QCOM_YCBCR_DEGAMMA_SPEC_VERSION 1 19036 #define VK_QCOM_YCBCR_DEGAMMA_EXTENSION_NAME "VK_QCOM_ycbcr_degamma" 19037 typedef struct VkPhysicalDeviceYcbcrDegammaFeaturesQCOM { 19038 VkStructureType sType; 19039 void* pNext; 19040 VkBool32 ycbcrDegamma; 19041 } VkPhysicalDeviceYcbcrDegammaFeaturesQCOM; 19042 19043 typedef struct VkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM { 19044 VkStructureType sType; 19045 void* pNext; 19046 VkBool32 enableYDegamma; 19047 VkBool32 enableCbCrDegamma; 19048 } VkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM; 19049 19050 19051 19052 // VK_QCOM_filter_cubic_clamp is a preprocessor guard. Do not pass it to API calls. 19053 #define VK_QCOM_filter_cubic_clamp 1 19054 #define VK_QCOM_FILTER_CUBIC_CLAMP_SPEC_VERSION 1 19055 #define VK_QCOM_FILTER_CUBIC_CLAMP_EXTENSION_NAME "VK_QCOM_filter_cubic_clamp" 19056 typedef struct VkPhysicalDeviceCubicClampFeaturesQCOM { 19057 VkStructureType sType; 19058 void* pNext; 19059 VkBool32 cubicRangeClamp; 19060 } VkPhysicalDeviceCubicClampFeaturesQCOM; 19061 19062 19063 19064 // VK_EXT_attachment_feedback_loop_dynamic_state is a preprocessor guard. Do not pass it to API calls. 19065 #define VK_EXT_attachment_feedback_loop_dynamic_state 1 19066 #define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_SPEC_VERSION 1 19067 #define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_attachment_feedback_loop_dynamic_state" 19068 typedef struct VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT { 19069 VkStructureType sType; 19070 void* pNext; 19071 VkBool32 attachmentFeedbackLoopDynamicState; 19072 } VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT; 19073 19074 typedef void (VKAPI_PTR *PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT)(VkCommandBuffer commandBuffer, VkImageAspectFlags aspectMask); 19075 19076 #ifndef VK_NO_PROTOTYPES 19077 VKAPI_ATTR void VKAPI_CALL vkCmdSetAttachmentFeedbackLoopEnableEXT( 19078 VkCommandBuffer commandBuffer, 19079 VkImageAspectFlags aspectMask); 19080 #endif 19081 19082 19083 // VK_MSFT_layered_driver is a preprocessor guard. Do not pass it to API calls. 19084 #define VK_MSFT_layered_driver 1 19085 #define VK_MSFT_LAYERED_DRIVER_SPEC_VERSION 1 19086 #define VK_MSFT_LAYERED_DRIVER_EXTENSION_NAME "VK_MSFT_layered_driver" 19087 19088 typedef enum VkLayeredDriverUnderlyingApiMSFT { 19089 VK_LAYERED_DRIVER_UNDERLYING_API_NONE_MSFT = 0, 19090 VK_LAYERED_DRIVER_UNDERLYING_API_D3D12_MSFT = 1, 19091 VK_LAYERED_DRIVER_UNDERLYING_API_MAX_ENUM_MSFT = 0x7FFFFFFF 19092 } VkLayeredDriverUnderlyingApiMSFT; 19093 typedef struct VkPhysicalDeviceLayeredDriverPropertiesMSFT { 19094 VkStructureType sType; 19095 void* pNext; 19096 VkLayeredDriverUnderlyingApiMSFT underlyingAPI; 19097 } VkPhysicalDeviceLayeredDriverPropertiesMSFT; 19098 19099 19100 19101 // VK_NV_descriptor_pool_overallocation is a preprocessor guard. Do not pass it to API calls. 19102 #define VK_NV_descriptor_pool_overallocation 1 19103 #define VK_NV_DESCRIPTOR_POOL_OVERALLOCATION_SPEC_VERSION 1 19104 #define VK_NV_DESCRIPTOR_POOL_OVERALLOCATION_EXTENSION_NAME "VK_NV_descriptor_pool_overallocation" 19105 typedef struct VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV { 19106 VkStructureType sType; 19107 void* pNext; 19108 VkBool32 descriptorPoolOverallocation; 19109 } VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV; 19110 19111 19112 19113 // VK_NV_raw_access_chains is a preprocessor guard. Do not pass it to API calls. 19114 #define VK_NV_raw_access_chains 1 19115 #define VK_NV_RAW_ACCESS_CHAINS_SPEC_VERSION 1 19116 #define VK_NV_RAW_ACCESS_CHAINS_EXTENSION_NAME "VK_NV_raw_access_chains" 19117 typedef struct VkPhysicalDeviceRawAccessChainsFeaturesNV { 19118 VkStructureType sType; 19119 void* pNext; 19120 VkBool32 shaderRawAccessChains; 19121 } VkPhysicalDeviceRawAccessChainsFeaturesNV; 19122 19123 19124 19125 // VK_NV_shader_atomic_float16_vector is a preprocessor guard. Do not pass it to API calls. 19126 #define VK_NV_shader_atomic_float16_vector 1 19127 #define VK_NV_SHADER_ATOMIC_FLOAT16_VECTOR_SPEC_VERSION 1 19128 #define VK_NV_SHADER_ATOMIC_FLOAT16_VECTOR_EXTENSION_NAME "VK_NV_shader_atomic_float16_vector" 19129 typedef struct VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV { 19130 VkStructureType sType; 19131 void* pNext; 19132 VkBool32 shaderFloat16VectorAtomics; 19133 } VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV; 19134 19135 19136 19137 // VK_KHR_acceleration_structure is a preprocessor guard. Do not pass it to API calls. 19138 #define VK_KHR_acceleration_structure 1 19139 #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 13 19140 #define VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_KHR_acceleration_structure" 19141 19142 typedef enum VkBuildAccelerationStructureModeKHR { 19143 VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR = 0, 19144 VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR = 1, 19145 VK_BUILD_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 19146 } VkBuildAccelerationStructureModeKHR; 19147 19148 typedef enum VkAccelerationStructureCreateFlagBitsKHR { 19149 VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 0x00000001, 19150 VK_ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000008, 19151 VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 0x00000004, 19152 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 19153 } VkAccelerationStructureCreateFlagBitsKHR; 19154 typedef VkFlags VkAccelerationStructureCreateFlagsKHR; 19155 typedef struct VkAccelerationStructureBuildRangeInfoKHR { 19156 uint32_t primitiveCount; 19157 uint32_t primitiveOffset; 19158 uint32_t firstVertex; 19159 uint32_t transformOffset; 19160 } VkAccelerationStructureBuildRangeInfoKHR; 19161 19162 typedef struct VkAccelerationStructureGeometryTrianglesDataKHR { 19163 VkStructureType sType; 19164 const void* pNext; 19165 VkFormat vertexFormat; 19166 VkDeviceOrHostAddressConstKHR vertexData; 19167 VkDeviceSize vertexStride; 19168 uint32_t maxVertex; 19169 VkIndexType indexType; 19170 VkDeviceOrHostAddressConstKHR indexData; 19171 VkDeviceOrHostAddressConstKHR transformData; 19172 } VkAccelerationStructureGeometryTrianglesDataKHR; 19173 19174 typedef struct VkAccelerationStructureGeometryAabbsDataKHR { 19175 VkStructureType sType; 19176 const void* pNext; 19177 VkDeviceOrHostAddressConstKHR data; 19178 VkDeviceSize stride; 19179 } VkAccelerationStructureGeometryAabbsDataKHR; 19180 19181 typedef struct VkAccelerationStructureGeometryInstancesDataKHR { 19182 VkStructureType sType; 19183 const void* pNext; 19184 VkBool32 arrayOfPointers; 19185 VkDeviceOrHostAddressConstKHR data; 19186 } VkAccelerationStructureGeometryInstancesDataKHR; 19187 19188 typedef union VkAccelerationStructureGeometryDataKHR { 19189 VkAccelerationStructureGeometryTrianglesDataKHR triangles; 19190 VkAccelerationStructureGeometryAabbsDataKHR aabbs; 19191 VkAccelerationStructureGeometryInstancesDataKHR instances; 19192 } VkAccelerationStructureGeometryDataKHR; 19193 19194 typedef struct VkAccelerationStructureGeometryKHR { 19195 VkStructureType sType; 19196 const void* pNext; 19197 VkGeometryTypeKHR geometryType; 19198 VkAccelerationStructureGeometryDataKHR geometry; 19199 VkGeometryFlagsKHR flags; 19200 } VkAccelerationStructureGeometryKHR; 19201 19202 typedef struct VkAccelerationStructureBuildGeometryInfoKHR { 19203 VkStructureType sType; 19204 const void* pNext; 19205 VkAccelerationStructureTypeKHR type; 19206 VkBuildAccelerationStructureFlagsKHR flags; 19207 VkBuildAccelerationStructureModeKHR mode; 19208 VkAccelerationStructureKHR srcAccelerationStructure; 19209 VkAccelerationStructureKHR dstAccelerationStructure; 19210 uint32_t geometryCount; 19211 const VkAccelerationStructureGeometryKHR* pGeometries; 19212 const VkAccelerationStructureGeometryKHR* const* ppGeometries; 19213 VkDeviceOrHostAddressKHR scratchData; 19214 } VkAccelerationStructureBuildGeometryInfoKHR; 19215 19216 typedef struct VkAccelerationStructureCreateInfoKHR { 19217 VkStructureType sType; 19218 const void* pNext; 19219 VkAccelerationStructureCreateFlagsKHR createFlags; 19220 VkBuffer buffer; 19221 VkDeviceSize offset; 19222 VkDeviceSize size; 19223 VkAccelerationStructureTypeKHR type; 19224 VkDeviceAddress deviceAddress; 19225 } VkAccelerationStructureCreateInfoKHR; 19226 19227 typedef struct VkWriteDescriptorSetAccelerationStructureKHR { 19228 VkStructureType sType; 19229 const void* pNext; 19230 uint32_t accelerationStructureCount; 19231 const VkAccelerationStructureKHR* pAccelerationStructures; 19232 } VkWriteDescriptorSetAccelerationStructureKHR; 19233 19234 typedef struct VkPhysicalDeviceAccelerationStructureFeaturesKHR { 19235 VkStructureType sType; 19236 void* pNext; 19237 VkBool32 accelerationStructure; 19238 VkBool32 accelerationStructureCaptureReplay; 19239 VkBool32 accelerationStructureIndirectBuild; 19240 VkBool32 accelerationStructureHostCommands; 19241 VkBool32 descriptorBindingAccelerationStructureUpdateAfterBind; 19242 } VkPhysicalDeviceAccelerationStructureFeaturesKHR; 19243 19244 typedef struct VkPhysicalDeviceAccelerationStructurePropertiesKHR { 19245 VkStructureType sType; 19246 void* pNext; 19247 uint64_t maxGeometryCount; 19248 uint64_t maxInstanceCount; 19249 uint64_t maxPrimitiveCount; 19250 uint32_t maxPerStageDescriptorAccelerationStructures; 19251 uint32_t maxPerStageDescriptorUpdateAfterBindAccelerationStructures; 19252 uint32_t maxDescriptorSetAccelerationStructures; 19253 uint32_t maxDescriptorSetUpdateAfterBindAccelerationStructures; 19254 uint32_t minAccelerationStructureScratchOffsetAlignment; 19255 } VkPhysicalDeviceAccelerationStructurePropertiesKHR; 19256 19257 typedef struct VkAccelerationStructureDeviceAddressInfoKHR { 19258 VkStructureType sType; 19259 const void* pNext; 19260 VkAccelerationStructureKHR accelerationStructure; 19261 } VkAccelerationStructureDeviceAddressInfoKHR; 19262 19263 typedef struct VkAccelerationStructureVersionInfoKHR { 19264 VkStructureType sType; 19265 const void* pNext; 19266 const uint8_t* pVersionData; 19267 } VkAccelerationStructureVersionInfoKHR; 19268 19269 typedef struct VkCopyAccelerationStructureToMemoryInfoKHR { 19270 VkStructureType sType; 19271 const void* pNext; 19272 VkAccelerationStructureKHR src; 19273 VkDeviceOrHostAddressKHR dst; 19274 VkCopyAccelerationStructureModeKHR mode; 19275 } VkCopyAccelerationStructureToMemoryInfoKHR; 19276 19277 typedef struct VkCopyMemoryToAccelerationStructureInfoKHR { 19278 VkStructureType sType; 19279 const void* pNext; 19280 VkDeviceOrHostAddressConstKHR src; 19281 VkAccelerationStructureKHR dst; 19282 VkCopyAccelerationStructureModeKHR mode; 19283 } VkCopyMemoryToAccelerationStructureInfoKHR; 19284 19285 typedef struct VkCopyAccelerationStructureInfoKHR { 19286 VkStructureType sType; 19287 const void* pNext; 19288 VkAccelerationStructureKHR src; 19289 VkAccelerationStructureKHR dst; 19290 VkCopyAccelerationStructureModeKHR mode; 19291 } VkCopyAccelerationStructureInfoKHR; 19292 19293 typedef struct VkAccelerationStructureBuildSizesInfoKHR { 19294 VkStructureType sType; 19295 const void* pNext; 19296 VkDeviceSize accelerationStructureSize; 19297 VkDeviceSize updateScratchSize; 19298 VkDeviceSize buildScratchSize; 19299 } VkAccelerationStructureBuildSizesInfoKHR; 19300 19301 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureKHR)(VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure); 19302 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureKHR)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator); 19303 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresKHR)(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos); 19304 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); 19305 typedef VkResult (VKAPI_PTR *PFN_vkBuildAccelerationStructuresKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos); 19306 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR* pInfo); 19307 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureToMemoryKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); 19308 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); 19309 typedef VkResult (VKAPI_PTR *PFN_vkWriteAccelerationStructuresPropertiesKHR)(VkDevice device, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, size_t dataSize, void* pData, size_t stride); 19310 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo); 19311 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureToMemoryKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); 19312 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); 19313 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetAccelerationStructureDeviceAddressKHR)(VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo); 19314 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery); 19315 typedef void (VKAPI_PTR *PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)(VkDevice device, const VkAccelerationStructureVersionInfoKHR* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility); 19316 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureBuildSizesKHR)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, const uint32_t* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo); 19317 19318 #ifndef VK_NO_PROTOTYPES 19319 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureKHR( 19320 VkDevice device, 19321 const VkAccelerationStructureCreateInfoKHR* pCreateInfo, 19322 const VkAllocationCallbacks* pAllocator, 19323 VkAccelerationStructureKHR* pAccelerationStructure); 19324 19325 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureKHR( 19326 VkDevice device, 19327 VkAccelerationStructureKHR accelerationStructure, 19328 const VkAllocationCallbacks* pAllocator); 19329 19330 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresKHR( 19331 VkCommandBuffer commandBuffer, 19332 uint32_t infoCount, 19333 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, 19334 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos); 19335 19336 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresIndirectKHR( 19337 VkCommandBuffer commandBuffer, 19338 uint32_t infoCount, 19339 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, 19340 const VkDeviceAddress* pIndirectDeviceAddresses, 19341 const uint32_t* pIndirectStrides, 19342 const uint32_t* const* ppMaxPrimitiveCounts); 19343 19344 VKAPI_ATTR VkResult VKAPI_CALL vkBuildAccelerationStructuresKHR( 19345 VkDevice device, 19346 VkDeferredOperationKHR deferredOperation, 19347 uint32_t infoCount, 19348 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, 19349 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos); 19350 19351 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureKHR( 19352 VkDevice device, 19353 VkDeferredOperationKHR deferredOperation, 19354 const VkCopyAccelerationStructureInfoKHR* pInfo); 19355 19356 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureToMemoryKHR( 19357 VkDevice device, 19358 VkDeferredOperationKHR deferredOperation, 19359 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); 19360 19361 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToAccelerationStructureKHR( 19362 VkDevice device, 19363 VkDeferredOperationKHR deferredOperation, 19364 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); 19365 19366 VKAPI_ATTR VkResult VKAPI_CALL vkWriteAccelerationStructuresPropertiesKHR( 19367 VkDevice device, 19368 uint32_t accelerationStructureCount, 19369 const VkAccelerationStructureKHR* pAccelerationStructures, 19370 VkQueryType queryType, 19371 size_t dataSize, 19372 void* pData, 19373 size_t stride); 19374 19375 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureKHR( 19376 VkCommandBuffer commandBuffer, 19377 const VkCopyAccelerationStructureInfoKHR* pInfo); 19378 19379 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureToMemoryKHR( 19380 VkCommandBuffer commandBuffer, 19381 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); 19382 19383 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToAccelerationStructureKHR( 19384 VkCommandBuffer commandBuffer, 19385 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); 19386 19387 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetAccelerationStructureDeviceAddressKHR( 19388 VkDevice device, 19389 const VkAccelerationStructureDeviceAddressInfoKHR* pInfo); 19390 19391 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesKHR( 19392 VkCommandBuffer commandBuffer, 19393 uint32_t accelerationStructureCount, 19394 const VkAccelerationStructureKHR* pAccelerationStructures, 19395 VkQueryType queryType, 19396 VkQueryPool queryPool, 19397 uint32_t firstQuery); 19398 19399 VKAPI_ATTR void VKAPI_CALL vkGetDeviceAccelerationStructureCompatibilityKHR( 19400 VkDevice device, 19401 const VkAccelerationStructureVersionInfoKHR* pVersionInfo, 19402 VkAccelerationStructureCompatibilityKHR* pCompatibility); 19403 19404 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureBuildSizesKHR( 19405 VkDevice device, 19406 VkAccelerationStructureBuildTypeKHR buildType, 19407 const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, 19408 const uint32_t* pMaxPrimitiveCounts, 19409 VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo); 19410 #endif 19411 19412 19413 // VK_KHR_ray_tracing_pipeline is a preprocessor guard. Do not pass it to API calls. 19414 #define VK_KHR_ray_tracing_pipeline 1 19415 #define VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION 1 19416 #define VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME "VK_KHR_ray_tracing_pipeline" 19417 19418 typedef enum VkShaderGroupShaderKHR { 19419 VK_SHADER_GROUP_SHADER_GENERAL_KHR = 0, 19420 VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR = 1, 19421 VK_SHADER_GROUP_SHADER_ANY_HIT_KHR = 2, 19422 VK_SHADER_GROUP_SHADER_INTERSECTION_KHR = 3, 19423 VK_SHADER_GROUP_SHADER_MAX_ENUM_KHR = 0x7FFFFFFF 19424 } VkShaderGroupShaderKHR; 19425 typedef struct VkRayTracingShaderGroupCreateInfoKHR { 19426 VkStructureType sType; 19427 const void* pNext; 19428 VkRayTracingShaderGroupTypeKHR type; 19429 uint32_t generalShader; 19430 uint32_t closestHitShader; 19431 uint32_t anyHitShader; 19432 uint32_t intersectionShader; 19433 const void* pShaderGroupCaptureReplayHandle; 19434 } VkRayTracingShaderGroupCreateInfoKHR; 19435 19436 typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR { 19437 VkStructureType sType; 19438 const void* pNext; 19439 uint32_t maxPipelineRayPayloadSize; 19440 uint32_t maxPipelineRayHitAttributeSize; 19441 } VkRayTracingPipelineInterfaceCreateInfoKHR; 19442 19443 typedef struct VkRayTracingPipelineCreateInfoKHR { 19444 VkStructureType sType; 19445 const void* pNext; 19446 VkPipelineCreateFlags flags; 19447 uint32_t stageCount; 19448 const VkPipelineShaderStageCreateInfo* pStages; 19449 uint32_t groupCount; 19450 const VkRayTracingShaderGroupCreateInfoKHR* pGroups; 19451 uint32_t maxPipelineRayRecursionDepth; 19452 const VkPipelineLibraryCreateInfoKHR* pLibraryInfo; 19453 const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface; 19454 const VkPipelineDynamicStateCreateInfo* pDynamicState; 19455 VkPipelineLayout layout; 19456 VkPipeline basePipelineHandle; 19457 int32_t basePipelineIndex; 19458 } VkRayTracingPipelineCreateInfoKHR; 19459 19460 typedef struct VkPhysicalDeviceRayTracingPipelineFeaturesKHR { 19461 VkStructureType sType; 19462 void* pNext; 19463 VkBool32 rayTracingPipeline; 19464 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplay; 19465 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplayMixed; 19466 VkBool32 rayTracingPipelineTraceRaysIndirect; 19467 VkBool32 rayTraversalPrimitiveCulling; 19468 } VkPhysicalDeviceRayTracingPipelineFeaturesKHR; 19469 19470 typedef struct VkPhysicalDeviceRayTracingPipelinePropertiesKHR { 19471 VkStructureType sType; 19472 void* pNext; 19473 uint32_t shaderGroupHandleSize; 19474 uint32_t maxRayRecursionDepth; 19475 uint32_t maxShaderGroupStride; 19476 uint32_t shaderGroupBaseAlignment; 19477 uint32_t shaderGroupHandleCaptureReplaySize; 19478 uint32_t maxRayDispatchInvocationCount; 19479 uint32_t shaderGroupHandleAlignment; 19480 uint32_t maxRayHitAttributeSize; 19481 } VkPhysicalDeviceRayTracingPipelinePropertiesKHR; 19482 19483 typedef struct VkStridedDeviceAddressRegionKHR { 19484 VkDeviceAddress deviceAddress; 19485 VkDeviceSize stride; 19486 VkDeviceSize size; 19487 } VkStridedDeviceAddressRegionKHR; 19488 19489 typedef struct VkTraceRaysIndirectCommandKHR { 19490 uint32_t width; 19491 uint32_t height; 19492 uint32_t depth; 19493 } VkTraceRaysIndirectCommandKHR; 19494 19495 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); 19496 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 19497 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData); 19498 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirectKHR)(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress); 19499 typedef VkDeviceSize (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupStackSizeKHR)(VkDevice device, VkPipeline pipeline, uint32_t group, VkShaderGroupShaderKHR groupShader); 19500 typedef void (VKAPI_PTR *PFN_vkCmdSetRayTracingPipelineStackSizeKHR)(VkCommandBuffer commandBuffer, uint32_t pipelineStackSize); 19501 19502 #ifndef VK_NO_PROTOTYPES 19503 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysKHR( 19504 VkCommandBuffer commandBuffer, 19505 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, 19506 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, 19507 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, 19508 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, 19509 uint32_t width, 19510 uint32_t height, 19511 uint32_t depth); 19512 19513 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesKHR( 19514 VkDevice device, 19515 VkDeferredOperationKHR deferredOperation, 19516 VkPipelineCache pipelineCache, 19517 uint32_t createInfoCount, 19518 const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, 19519 const VkAllocationCallbacks* pAllocator, 19520 VkPipeline* pPipelines); 19521 19522 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( 19523 VkDevice device, 19524 VkPipeline pipeline, 19525 uint32_t firstGroup, 19526 uint32_t groupCount, 19527 size_t dataSize, 19528 void* pData); 19529 19530 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirectKHR( 19531 VkCommandBuffer commandBuffer, 19532 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, 19533 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, 19534 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, 19535 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, 19536 VkDeviceAddress indirectDeviceAddress); 19537 19538 VKAPI_ATTR VkDeviceSize VKAPI_CALL vkGetRayTracingShaderGroupStackSizeKHR( 19539 VkDevice device, 19540 VkPipeline pipeline, 19541 uint32_t group, 19542 VkShaderGroupShaderKHR groupShader); 19543 19544 VKAPI_ATTR void VKAPI_CALL vkCmdSetRayTracingPipelineStackSizeKHR( 19545 VkCommandBuffer commandBuffer, 19546 uint32_t pipelineStackSize); 19547 #endif 19548 19549 19550 // VK_KHR_ray_query is a preprocessor guard. Do not pass it to API calls. 19551 #define VK_KHR_ray_query 1 19552 #define VK_KHR_RAY_QUERY_SPEC_VERSION 1 19553 #define VK_KHR_RAY_QUERY_EXTENSION_NAME "VK_KHR_ray_query" 19554 typedef struct VkPhysicalDeviceRayQueryFeaturesKHR { 19555 VkStructureType sType; 19556 void* pNext; 19557 VkBool32 rayQuery; 19558 } VkPhysicalDeviceRayQueryFeaturesKHR; 19559 19560 19561 19562 // VK_EXT_mesh_shader is a preprocessor guard. Do not pass it to API calls. 19563 #define VK_EXT_mesh_shader 1 19564 #define VK_EXT_MESH_SHADER_SPEC_VERSION 1 19565 #define VK_EXT_MESH_SHADER_EXTENSION_NAME "VK_EXT_mesh_shader" 19566 typedef struct VkPhysicalDeviceMeshShaderFeaturesEXT { 19567 VkStructureType sType; 19568 void* pNext; 19569 VkBool32 taskShader; 19570 VkBool32 meshShader; 19571 VkBool32 multiviewMeshShader; 19572 VkBool32 primitiveFragmentShadingRateMeshShader; 19573 VkBool32 meshShaderQueries; 19574 } VkPhysicalDeviceMeshShaderFeaturesEXT; 19575 19576 typedef struct VkPhysicalDeviceMeshShaderPropertiesEXT { 19577 VkStructureType sType; 19578 void* pNext; 19579 uint32_t maxTaskWorkGroupTotalCount; 19580 uint32_t maxTaskWorkGroupCount[3]; 19581 uint32_t maxTaskWorkGroupInvocations; 19582 uint32_t maxTaskWorkGroupSize[3]; 19583 uint32_t maxTaskPayloadSize; 19584 uint32_t maxTaskSharedMemorySize; 19585 uint32_t maxTaskPayloadAndSharedMemorySize; 19586 uint32_t maxMeshWorkGroupTotalCount; 19587 uint32_t maxMeshWorkGroupCount[3]; 19588 uint32_t maxMeshWorkGroupInvocations; 19589 uint32_t maxMeshWorkGroupSize[3]; 19590 uint32_t maxMeshSharedMemorySize; 19591 uint32_t maxMeshPayloadAndSharedMemorySize; 19592 uint32_t maxMeshOutputMemorySize; 19593 uint32_t maxMeshPayloadAndOutputMemorySize; 19594 uint32_t maxMeshOutputComponents; 19595 uint32_t maxMeshOutputVertices; 19596 uint32_t maxMeshOutputPrimitives; 19597 uint32_t maxMeshOutputLayers; 19598 uint32_t maxMeshMultiviewViewCount; 19599 uint32_t meshOutputPerVertexGranularity; 19600 uint32_t meshOutputPerPrimitiveGranularity; 19601 uint32_t maxPreferredTaskWorkGroupInvocations; 19602 uint32_t maxPreferredMeshWorkGroupInvocations; 19603 VkBool32 prefersLocalInvocationVertexOutput; 19604 VkBool32 prefersLocalInvocationPrimitiveOutput; 19605 VkBool32 prefersCompactVertexOutput; 19606 VkBool32 prefersCompactPrimitiveOutput; 19607 } VkPhysicalDeviceMeshShaderPropertiesEXT; 19608 19609 typedef struct VkDrawMeshTasksIndirectCommandEXT { 19610 uint32_t groupCountX; 19611 uint32_t groupCountY; 19612 uint32_t groupCountZ; 19613 } VkDrawMeshTasksIndirectCommandEXT; 19614 19615 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksEXT)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ); 19616 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectEXT)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); 19617 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountEXT)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 19618 19619 #ifndef VK_NO_PROTOTYPES 19620 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksEXT( 19621 VkCommandBuffer commandBuffer, 19622 uint32_t groupCountX, 19623 uint32_t groupCountY, 19624 uint32_t groupCountZ); 19625 19626 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectEXT( 19627 VkCommandBuffer commandBuffer, 19628 VkBuffer buffer, 19629 VkDeviceSize offset, 19630 uint32_t drawCount, 19631 uint32_t stride); 19632 19633 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountEXT( 19634 VkCommandBuffer commandBuffer, 19635 VkBuffer buffer, 19636 VkDeviceSize offset, 19637 VkBuffer countBuffer, 19638 VkDeviceSize countBufferOffset, 19639 uint32_t maxDrawCount, 19640 uint32_t stride); 19641 #endif 19642 19643 #ifdef __cplusplus 19644 } 19645 #endif 19646 19647 #endif