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 278 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_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV = 1000563000, 1113 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, 1114 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, 1115 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT, 1116 VK_STRUCTURE_TYPE_RENDERING_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_INFO, 1117 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO, 1118 VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO, 1119 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES, 1120 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO, 1121 VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_NV = VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD, 1122 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO, 1123 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES, 1124 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES, 1125 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2, 1126 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2, 1127 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2, 1128 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2, 1129 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2, 1130 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2, 1131 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2, 1132 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2, 1133 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2, 1134 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO, 1135 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO, 1136 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO, 1137 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO, 1138 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO, 1139 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO, 1140 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO, 1141 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES, 1142 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES, 1143 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO, 1144 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO, 1145 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES, 1146 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO, 1147 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES, 1148 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES, 1149 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO, 1150 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO, 1151 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO, 1152 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO, 1153 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES, 1154 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO, 1155 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES, 1156 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES, 1157 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES, 1158 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO, 1159 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT, 1160 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES, 1161 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO, 1162 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO, 1163 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO, 1164 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2, 1165 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, 1166 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2, 1167 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2, 1168 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2, 1169 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO, 1170 VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO, 1171 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO, 1172 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES, 1173 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO, 1174 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES, 1175 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO, 1176 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO, 1177 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO, 1178 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, 1179 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR, 1180 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS, 1181 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO, 1182 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES, 1183 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO, 1184 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES, 1185 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES, 1186 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK, 1187 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO, 1188 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2, 1189 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2, 1190 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2, 1191 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2, 1192 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2, 1193 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO, 1194 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO, 1195 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO, 1196 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO, 1197 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO, 1198 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES, 1199 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES, 1200 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO, 1201 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO, 1202 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO, 1203 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES, 1204 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES, 1205 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO, 1206 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT, 1207 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES, 1208 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT, 1209 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR, 1210 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES, 1211 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES, 1212 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES, 1213 VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_KHR, 1214 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_KHR, 1215 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR, 1216 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO, 1217 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES, 1218 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES, 1219 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES, 1220 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE, 1221 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR, 1222 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES, 1223 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES, 1224 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO, 1225 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO, 1226 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO, 1227 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO, 1228 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL, 1229 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES, 1230 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES, 1231 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES, 1232 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES, 1233 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO, 1234 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES, 1235 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES, 1236 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT, 1237 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT, 1238 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT, 1239 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO, 1240 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES, 1241 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO, 1242 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES, 1243 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES, 1244 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO, 1245 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO, 1246 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO, 1247 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO, 1248 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR, 1249 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR, 1250 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR, 1251 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES, 1252 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR, 1253 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES, 1254 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES, 1255 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES, 1256 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES, 1257 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES, 1258 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO, 1259 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO, 1260 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES, 1261 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_MEMORY_BARRIER_2, 1262 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2, 1263 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2, 1264 VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR = VK_STRUCTURE_TYPE_DEPENDENCY_INFO, 1265 VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR = VK_STRUCTURE_TYPE_SUBMIT_INFO_2, 1266 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO, 1267 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO, 1268 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES, 1269 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES, 1270 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES, 1271 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2, 1272 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2, 1273 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2, 1274 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2, 1275 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2, 1276 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2, 1277 VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_COPY_2, 1278 VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_IMAGE_COPY_2, 1279 VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR = VK_STRUCTURE_TYPE_IMAGE_BLIT_2, 1280 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2, 1281 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2, 1282 VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT = VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_KHR, 1283 VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT = VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_KHR, 1284 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT, 1285 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT, 1286 VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT, 1287 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3, 1288 VK_STRUCTURE_TYPE_PIPELINE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR, 1289 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR, 1290 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR, 1291 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES, 1292 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES, 1293 VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS, 1294 VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS, 1295 VK_STRUCTURE_TYPE_SHADER_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO, 1296 VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF 1297 } VkStructureType; 1298 1299 typedef enum VkPipelineCacheHeaderVersion { 1300 VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1, 1301 VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF 1302 } VkPipelineCacheHeaderVersion; 1303 1304 typedef enum VkImageLayout { 1305 VK_IMAGE_LAYOUT_UNDEFINED = 0, 1306 VK_IMAGE_LAYOUT_GENERAL = 1, 1307 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2, 1308 VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3, 1309 VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4, 1310 VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5, 1311 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6, 1312 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7, 1313 VK_IMAGE_LAYOUT_PREINITIALIZED = 8, 1314 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000, 1315 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001, 1316 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000, 1317 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001, 1318 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002, 1319 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003, 1320 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL = 1000314000, 1321 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL = 1000314001, 1322 VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002, 1323 VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR = 1000024000, 1324 VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR = 1000024001, 1325 VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR = 1000024002, 1326 VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000, 1327 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000, 1328 VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003, 1329 VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR = 1000232000, 1330 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR = 1000299000, 1331 VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR = 1000299001, 1332 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR = 1000299002, 1333 VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT = 1000339000, 1334 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL, 1335 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, 1336 VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR, 1337 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, 1338 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, 1339 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, 1340 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL, 1341 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL, 1342 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL, 1343 VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF 1344 } VkImageLayout; 1345 1346 typedef enum VkObjectType { 1347 VK_OBJECT_TYPE_UNKNOWN = 0, 1348 VK_OBJECT_TYPE_INSTANCE = 1, 1349 VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2, 1350 VK_OBJECT_TYPE_DEVICE = 3, 1351 VK_OBJECT_TYPE_QUEUE = 4, 1352 VK_OBJECT_TYPE_SEMAPHORE = 5, 1353 VK_OBJECT_TYPE_COMMAND_BUFFER = 6, 1354 VK_OBJECT_TYPE_FENCE = 7, 1355 VK_OBJECT_TYPE_DEVICE_MEMORY = 8, 1356 VK_OBJECT_TYPE_BUFFER = 9, 1357 VK_OBJECT_TYPE_IMAGE = 10, 1358 VK_OBJECT_TYPE_EVENT = 11, 1359 VK_OBJECT_TYPE_QUERY_POOL = 12, 1360 VK_OBJECT_TYPE_BUFFER_VIEW = 13, 1361 VK_OBJECT_TYPE_IMAGE_VIEW = 14, 1362 VK_OBJECT_TYPE_SHADER_MODULE = 15, 1363 VK_OBJECT_TYPE_PIPELINE_CACHE = 16, 1364 VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17, 1365 VK_OBJECT_TYPE_RENDER_PASS = 18, 1366 VK_OBJECT_TYPE_PIPELINE = 19, 1367 VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20, 1368 VK_OBJECT_TYPE_SAMPLER = 21, 1369 VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22, 1370 VK_OBJECT_TYPE_DESCRIPTOR_SET = 23, 1371 VK_OBJECT_TYPE_FRAMEBUFFER = 24, 1372 VK_OBJECT_TYPE_COMMAND_POOL = 25, 1373 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000, 1374 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000, 1375 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT = 1000295000, 1376 VK_OBJECT_TYPE_SURFACE_KHR = 1000000000, 1377 VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000, 1378 VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000, 1379 VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001, 1380 VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000, 1381 VK_OBJECT_TYPE_VIDEO_SESSION_KHR = 1000023000, 1382 VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR = 1000023001, 1383 VK_OBJECT_TYPE_CU_MODULE_NVX = 1000029000, 1384 VK_OBJECT_TYPE_CU_FUNCTION_NVX = 1000029001, 1385 VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000, 1386 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000, 1387 VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000, 1388 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000, 1389 VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000, 1390 VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000, 1391 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000, 1392 VK_OBJECT_TYPE_CUDA_MODULE_NV = 1000307000, 1393 VK_OBJECT_TYPE_CUDA_FUNCTION_NV = 1000307001, 1394 VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA = 1000366000, 1395 VK_OBJECT_TYPE_MICROMAP_EXT = 1000396000, 1396 VK_OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV = 1000464000, 1397 VK_OBJECT_TYPE_SHADER_EXT = 1000482000, 1398 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE, 1399 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION, 1400 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = VK_OBJECT_TYPE_PRIVATE_DATA_SLOT, 1401 VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF 1402 } VkObjectType; 1403 1404 typedef enum VkVendorId { 1405 VK_VENDOR_ID_VIV = 0x10001, 1406 VK_VENDOR_ID_VSI = 0x10002, 1407 VK_VENDOR_ID_KAZAN = 0x10003, 1408 VK_VENDOR_ID_CODEPLAY = 0x10004, 1409 VK_VENDOR_ID_MESA = 0x10005, 1410 VK_VENDOR_ID_POCL = 0x10006, 1411 VK_VENDOR_ID_MOBILEYE = 0x10007, 1412 VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF 1413 } VkVendorId; 1414 1415 typedef enum VkSystemAllocationScope { 1416 VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0, 1417 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1, 1418 VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2, 1419 VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3, 1420 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4, 1421 VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF 1422 } VkSystemAllocationScope; 1423 1424 typedef enum VkInternalAllocationType { 1425 VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0, 1426 VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF 1427 } VkInternalAllocationType; 1428 1429 typedef enum VkFormat { 1430 VK_FORMAT_UNDEFINED = 0, 1431 VK_FORMAT_R4G4_UNORM_PACK8 = 1, 1432 VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2, 1433 VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3, 1434 VK_FORMAT_R5G6B5_UNORM_PACK16 = 4, 1435 VK_FORMAT_B5G6R5_UNORM_PACK16 = 5, 1436 VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6, 1437 VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7, 1438 VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8, 1439 VK_FORMAT_R8_UNORM = 9, 1440 VK_FORMAT_R8_SNORM = 10, 1441 VK_FORMAT_R8_USCALED = 11, 1442 VK_FORMAT_R8_SSCALED = 12, 1443 VK_FORMAT_R8_UINT = 13, 1444 VK_FORMAT_R8_SINT = 14, 1445 VK_FORMAT_R8_SRGB = 15, 1446 VK_FORMAT_R8G8_UNORM = 16, 1447 VK_FORMAT_R8G8_SNORM = 17, 1448 VK_FORMAT_R8G8_USCALED = 18, 1449 VK_FORMAT_R8G8_SSCALED = 19, 1450 VK_FORMAT_R8G8_UINT = 20, 1451 VK_FORMAT_R8G8_SINT = 21, 1452 VK_FORMAT_R8G8_SRGB = 22, 1453 VK_FORMAT_R8G8B8_UNORM = 23, 1454 VK_FORMAT_R8G8B8_SNORM = 24, 1455 VK_FORMAT_R8G8B8_USCALED = 25, 1456 VK_FORMAT_R8G8B8_SSCALED = 26, 1457 VK_FORMAT_R8G8B8_UINT = 27, 1458 VK_FORMAT_R8G8B8_SINT = 28, 1459 VK_FORMAT_R8G8B8_SRGB = 29, 1460 VK_FORMAT_B8G8R8_UNORM = 30, 1461 VK_FORMAT_B8G8R8_SNORM = 31, 1462 VK_FORMAT_B8G8R8_USCALED = 32, 1463 VK_FORMAT_B8G8R8_SSCALED = 33, 1464 VK_FORMAT_B8G8R8_UINT = 34, 1465 VK_FORMAT_B8G8R8_SINT = 35, 1466 VK_FORMAT_B8G8R8_SRGB = 36, 1467 VK_FORMAT_R8G8B8A8_UNORM = 37, 1468 VK_FORMAT_R8G8B8A8_SNORM = 38, 1469 VK_FORMAT_R8G8B8A8_USCALED = 39, 1470 VK_FORMAT_R8G8B8A8_SSCALED = 40, 1471 VK_FORMAT_R8G8B8A8_UINT = 41, 1472 VK_FORMAT_R8G8B8A8_SINT = 42, 1473 VK_FORMAT_R8G8B8A8_SRGB = 43, 1474 VK_FORMAT_B8G8R8A8_UNORM = 44, 1475 VK_FORMAT_B8G8R8A8_SNORM = 45, 1476 VK_FORMAT_B8G8R8A8_USCALED = 46, 1477 VK_FORMAT_B8G8R8A8_SSCALED = 47, 1478 VK_FORMAT_B8G8R8A8_UINT = 48, 1479 VK_FORMAT_B8G8R8A8_SINT = 49, 1480 VK_FORMAT_B8G8R8A8_SRGB = 50, 1481 VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51, 1482 VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52, 1483 VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53, 1484 VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54, 1485 VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55, 1486 VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56, 1487 VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57, 1488 VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58, 1489 VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59, 1490 VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60, 1491 VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61, 1492 VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62, 1493 VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63, 1494 VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64, 1495 VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65, 1496 VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66, 1497 VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67, 1498 VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68, 1499 VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69, 1500 VK_FORMAT_R16_UNORM = 70, 1501 VK_FORMAT_R16_SNORM = 71, 1502 VK_FORMAT_R16_USCALED = 72, 1503 VK_FORMAT_R16_SSCALED = 73, 1504 VK_FORMAT_R16_UINT = 74, 1505 VK_FORMAT_R16_SINT = 75, 1506 VK_FORMAT_R16_SFLOAT = 76, 1507 VK_FORMAT_R16G16_UNORM = 77, 1508 VK_FORMAT_R16G16_SNORM = 78, 1509 VK_FORMAT_R16G16_USCALED = 79, 1510 VK_FORMAT_R16G16_SSCALED = 80, 1511 VK_FORMAT_R16G16_UINT = 81, 1512 VK_FORMAT_R16G16_SINT = 82, 1513 VK_FORMAT_R16G16_SFLOAT = 83, 1514 VK_FORMAT_R16G16B16_UNORM = 84, 1515 VK_FORMAT_R16G16B16_SNORM = 85, 1516 VK_FORMAT_R16G16B16_USCALED = 86, 1517 VK_FORMAT_R16G16B16_SSCALED = 87, 1518 VK_FORMAT_R16G16B16_UINT = 88, 1519 VK_FORMAT_R16G16B16_SINT = 89, 1520 VK_FORMAT_R16G16B16_SFLOAT = 90, 1521 VK_FORMAT_R16G16B16A16_UNORM = 91, 1522 VK_FORMAT_R16G16B16A16_SNORM = 92, 1523 VK_FORMAT_R16G16B16A16_USCALED = 93, 1524 VK_FORMAT_R16G16B16A16_SSCALED = 94, 1525 VK_FORMAT_R16G16B16A16_UINT = 95, 1526 VK_FORMAT_R16G16B16A16_SINT = 96, 1527 VK_FORMAT_R16G16B16A16_SFLOAT = 97, 1528 VK_FORMAT_R32_UINT = 98, 1529 VK_FORMAT_R32_SINT = 99, 1530 VK_FORMAT_R32_SFLOAT = 100, 1531 VK_FORMAT_R32G32_UINT = 101, 1532 VK_FORMAT_R32G32_SINT = 102, 1533 VK_FORMAT_R32G32_SFLOAT = 103, 1534 VK_FORMAT_R32G32B32_UINT = 104, 1535 VK_FORMAT_R32G32B32_SINT = 105, 1536 VK_FORMAT_R32G32B32_SFLOAT = 106, 1537 VK_FORMAT_R32G32B32A32_UINT = 107, 1538 VK_FORMAT_R32G32B32A32_SINT = 108, 1539 VK_FORMAT_R32G32B32A32_SFLOAT = 109, 1540 VK_FORMAT_R64_UINT = 110, 1541 VK_FORMAT_R64_SINT = 111, 1542 VK_FORMAT_R64_SFLOAT = 112, 1543 VK_FORMAT_R64G64_UINT = 113, 1544 VK_FORMAT_R64G64_SINT = 114, 1545 VK_FORMAT_R64G64_SFLOAT = 115, 1546 VK_FORMAT_R64G64B64_UINT = 116, 1547 VK_FORMAT_R64G64B64_SINT = 117, 1548 VK_FORMAT_R64G64B64_SFLOAT = 118, 1549 VK_FORMAT_R64G64B64A64_UINT = 119, 1550 VK_FORMAT_R64G64B64A64_SINT = 120, 1551 VK_FORMAT_R64G64B64A64_SFLOAT = 121, 1552 VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122, 1553 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123, 1554 VK_FORMAT_D16_UNORM = 124, 1555 VK_FORMAT_X8_D24_UNORM_PACK32 = 125, 1556 VK_FORMAT_D32_SFLOAT = 126, 1557 VK_FORMAT_S8_UINT = 127, 1558 VK_FORMAT_D16_UNORM_S8_UINT = 128, 1559 VK_FORMAT_D24_UNORM_S8_UINT = 129, 1560 VK_FORMAT_D32_SFLOAT_S8_UINT = 130, 1561 VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131, 1562 VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132, 1563 VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133, 1564 VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134, 1565 VK_FORMAT_BC2_UNORM_BLOCK = 135, 1566 VK_FORMAT_BC2_SRGB_BLOCK = 136, 1567 VK_FORMAT_BC3_UNORM_BLOCK = 137, 1568 VK_FORMAT_BC3_SRGB_BLOCK = 138, 1569 VK_FORMAT_BC4_UNORM_BLOCK = 139, 1570 VK_FORMAT_BC4_SNORM_BLOCK = 140, 1571 VK_FORMAT_BC5_UNORM_BLOCK = 141, 1572 VK_FORMAT_BC5_SNORM_BLOCK = 142, 1573 VK_FORMAT_BC6H_UFLOAT_BLOCK = 143, 1574 VK_FORMAT_BC6H_SFLOAT_BLOCK = 144, 1575 VK_FORMAT_BC7_UNORM_BLOCK = 145, 1576 VK_FORMAT_BC7_SRGB_BLOCK = 146, 1577 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147, 1578 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148, 1579 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149, 1580 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150, 1581 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151, 1582 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152, 1583 VK_FORMAT_EAC_R11_UNORM_BLOCK = 153, 1584 VK_FORMAT_EAC_R11_SNORM_BLOCK = 154, 1585 VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155, 1586 VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156, 1587 VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157, 1588 VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158, 1589 VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159, 1590 VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160, 1591 VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161, 1592 VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162, 1593 VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163, 1594 VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164, 1595 VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165, 1596 VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166, 1597 VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167, 1598 VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168, 1599 VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169, 1600 VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170, 1601 VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171, 1602 VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172, 1603 VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173, 1604 VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174, 1605 VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175, 1606 VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176, 1607 VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177, 1608 VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178, 1609 VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179, 1610 VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180, 1611 VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181, 1612 VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182, 1613 VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183, 1614 VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184, 1615 VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000, 1616 VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001, 1617 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002, 1618 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003, 1619 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004, 1620 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005, 1621 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006, 1622 VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007, 1623 VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008, 1624 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009, 1625 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010, 1626 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011, 1627 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012, 1628 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013, 1629 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014, 1630 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015, 1631 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016, 1632 VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017, 1633 VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018, 1634 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019, 1635 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020, 1636 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021, 1637 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022, 1638 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023, 1639 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024, 1640 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025, 1641 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026, 1642 VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027, 1643 VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028, 1644 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029, 1645 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030, 1646 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031, 1647 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032, 1648 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033, 1649 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM = 1000330000, 1650 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 = 1000330001, 1651 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 = 1000330002, 1652 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM = 1000330003, 1653 VK_FORMAT_A4R4G4B4_UNORM_PACK16 = 1000340000, 1654 VK_FORMAT_A4B4G4R4_UNORM_PACK16 = 1000340001, 1655 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK = 1000066000, 1656 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK = 1000066001, 1657 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK = 1000066002, 1658 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK = 1000066003, 1659 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK = 1000066004, 1660 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK = 1000066005, 1661 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK = 1000066006, 1662 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK = 1000066007, 1663 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK = 1000066008, 1664 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK = 1000066009, 1665 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK = 1000066010, 1666 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK = 1000066011, 1667 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK = 1000066012, 1668 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK = 1000066013, 1669 VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000, 1670 VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001, 1671 VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002, 1672 VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003, 1673 VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004, 1674 VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005, 1675 VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006, 1676 VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007, 1677 VK_FORMAT_R16G16_S10_5_NV = 1000464000, 1678 VK_FORMAT_A1B5G5R5_UNORM_PACK16_KHR = 1000470000, 1679 VK_FORMAT_A8_UNORM_KHR = 1000470001, 1680 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK, 1681 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK, 1682 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK, 1683 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK, 1684 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK, 1685 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK, 1686 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK, 1687 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK, 1688 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK, 1689 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK, 1690 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK, 1691 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK, 1692 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK, 1693 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK, 1694 VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM, 1695 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM, 1696 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM, 1697 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM, 1698 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM, 1699 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM, 1700 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM, 1701 VK_FORMAT_R10X6_UNORM_PACK16_KHR = VK_FORMAT_R10X6_UNORM_PACK16, 1702 VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16, 1703 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16, 1704 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16, 1705 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16, 1706 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16, 1707 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16, 1708 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16, 1709 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16, 1710 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16, 1711 VK_FORMAT_R12X4_UNORM_PACK16_KHR = VK_FORMAT_R12X4_UNORM_PACK16, 1712 VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16, 1713 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16, 1714 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16, 1715 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16, 1716 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16, 1717 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16, 1718 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16, 1719 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16, 1720 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16, 1721 VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VK_FORMAT_G16B16G16R16_422_UNORM, 1722 VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VK_FORMAT_B16G16R16G16_422_UNORM, 1723 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM, 1724 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM, 1725 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM, 1726 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM, 1727 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM, 1728 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT = VK_FORMAT_G8_B8R8_2PLANE_444_UNORM, 1729 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16, 1730 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16, 1731 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT = VK_FORMAT_G16_B16R16_2PLANE_444_UNORM, 1732 VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT = VK_FORMAT_A4R4G4B4_UNORM_PACK16, 1733 VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT = VK_FORMAT_A4B4G4R4_UNORM_PACK16, 1734 VK_FORMAT_MAX_ENUM = 0x7FFFFFFF 1735 } VkFormat; 1736 1737 typedef enum VkImageTiling { 1738 VK_IMAGE_TILING_OPTIMAL = 0, 1739 VK_IMAGE_TILING_LINEAR = 1, 1740 VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000, 1741 VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF 1742 } VkImageTiling; 1743 1744 typedef enum VkImageType { 1745 VK_IMAGE_TYPE_1D = 0, 1746 VK_IMAGE_TYPE_2D = 1, 1747 VK_IMAGE_TYPE_3D = 2, 1748 VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF 1749 } VkImageType; 1750 1751 typedef enum VkPhysicalDeviceType { 1752 VK_PHYSICAL_DEVICE_TYPE_OTHER = 0, 1753 VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1, 1754 VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2, 1755 VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3, 1756 VK_PHYSICAL_DEVICE_TYPE_CPU = 4, 1757 VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF 1758 } VkPhysicalDeviceType; 1759 1760 typedef enum VkQueryType { 1761 VK_QUERY_TYPE_OCCLUSION = 0, 1762 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1, 1763 VK_QUERY_TYPE_TIMESTAMP = 2, 1764 VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR = 1000023000, 1765 VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004, 1766 VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000, 1767 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000150000, 1768 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150001, 1769 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000, 1770 VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000, 1771 VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR = 1000299000, 1772 VK_QUERY_TYPE_MESH_PRIMITIVES_GENERATED_EXT = 1000328000, 1773 VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT = 1000382000, 1774 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR = 1000386000, 1775 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR = 1000386001, 1776 VK_QUERY_TYPE_MICROMAP_SERIALIZATION_SIZE_EXT = 1000396000, 1777 VK_QUERY_TYPE_MICROMAP_COMPACTED_SIZE_EXT = 1000396001, 1778 VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF 1779 } VkQueryType; 1780 1781 typedef enum VkSharingMode { 1782 VK_SHARING_MODE_EXCLUSIVE = 0, 1783 VK_SHARING_MODE_CONCURRENT = 1, 1784 VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF 1785 } VkSharingMode; 1786 1787 typedef enum VkComponentSwizzle { 1788 VK_COMPONENT_SWIZZLE_IDENTITY = 0, 1789 VK_COMPONENT_SWIZZLE_ZERO = 1, 1790 VK_COMPONENT_SWIZZLE_ONE = 2, 1791 VK_COMPONENT_SWIZZLE_R = 3, 1792 VK_COMPONENT_SWIZZLE_G = 4, 1793 VK_COMPONENT_SWIZZLE_B = 5, 1794 VK_COMPONENT_SWIZZLE_A = 6, 1795 VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF 1796 } VkComponentSwizzle; 1797 1798 typedef enum VkImageViewType { 1799 VK_IMAGE_VIEW_TYPE_1D = 0, 1800 VK_IMAGE_VIEW_TYPE_2D = 1, 1801 VK_IMAGE_VIEW_TYPE_3D = 2, 1802 VK_IMAGE_VIEW_TYPE_CUBE = 3, 1803 VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4, 1804 VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5, 1805 VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6, 1806 VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF 1807 } VkImageViewType; 1808 1809 typedef enum VkBlendFactor { 1810 VK_BLEND_FACTOR_ZERO = 0, 1811 VK_BLEND_FACTOR_ONE = 1, 1812 VK_BLEND_FACTOR_SRC_COLOR = 2, 1813 VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3, 1814 VK_BLEND_FACTOR_DST_COLOR = 4, 1815 VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5, 1816 VK_BLEND_FACTOR_SRC_ALPHA = 6, 1817 VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7, 1818 VK_BLEND_FACTOR_DST_ALPHA = 8, 1819 VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9, 1820 VK_BLEND_FACTOR_CONSTANT_COLOR = 10, 1821 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11, 1822 VK_BLEND_FACTOR_CONSTANT_ALPHA = 12, 1823 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13, 1824 VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14, 1825 VK_BLEND_FACTOR_SRC1_COLOR = 15, 1826 VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16, 1827 VK_BLEND_FACTOR_SRC1_ALPHA = 17, 1828 VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18, 1829 VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF 1830 } VkBlendFactor; 1831 1832 typedef enum VkBlendOp { 1833 VK_BLEND_OP_ADD = 0, 1834 VK_BLEND_OP_SUBTRACT = 1, 1835 VK_BLEND_OP_REVERSE_SUBTRACT = 2, 1836 VK_BLEND_OP_MIN = 3, 1837 VK_BLEND_OP_MAX = 4, 1838 VK_BLEND_OP_ZERO_EXT = 1000148000, 1839 VK_BLEND_OP_SRC_EXT = 1000148001, 1840 VK_BLEND_OP_DST_EXT = 1000148002, 1841 VK_BLEND_OP_SRC_OVER_EXT = 1000148003, 1842 VK_BLEND_OP_DST_OVER_EXT = 1000148004, 1843 VK_BLEND_OP_SRC_IN_EXT = 1000148005, 1844 VK_BLEND_OP_DST_IN_EXT = 1000148006, 1845 VK_BLEND_OP_SRC_OUT_EXT = 1000148007, 1846 VK_BLEND_OP_DST_OUT_EXT = 1000148008, 1847 VK_BLEND_OP_SRC_ATOP_EXT = 1000148009, 1848 VK_BLEND_OP_DST_ATOP_EXT = 1000148010, 1849 VK_BLEND_OP_XOR_EXT = 1000148011, 1850 VK_BLEND_OP_MULTIPLY_EXT = 1000148012, 1851 VK_BLEND_OP_SCREEN_EXT = 1000148013, 1852 VK_BLEND_OP_OVERLAY_EXT = 1000148014, 1853 VK_BLEND_OP_DARKEN_EXT = 1000148015, 1854 VK_BLEND_OP_LIGHTEN_EXT = 1000148016, 1855 VK_BLEND_OP_COLORDODGE_EXT = 1000148017, 1856 VK_BLEND_OP_COLORBURN_EXT = 1000148018, 1857 VK_BLEND_OP_HARDLIGHT_EXT = 1000148019, 1858 VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020, 1859 VK_BLEND_OP_DIFFERENCE_EXT = 1000148021, 1860 VK_BLEND_OP_EXCLUSION_EXT = 1000148022, 1861 VK_BLEND_OP_INVERT_EXT = 1000148023, 1862 VK_BLEND_OP_INVERT_RGB_EXT = 1000148024, 1863 VK_BLEND_OP_LINEARDODGE_EXT = 1000148025, 1864 VK_BLEND_OP_LINEARBURN_EXT = 1000148026, 1865 VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027, 1866 VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028, 1867 VK_BLEND_OP_PINLIGHT_EXT = 1000148029, 1868 VK_BLEND_OP_HARDMIX_EXT = 1000148030, 1869 VK_BLEND_OP_HSL_HUE_EXT = 1000148031, 1870 VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032, 1871 VK_BLEND_OP_HSL_COLOR_EXT = 1000148033, 1872 VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034, 1873 VK_BLEND_OP_PLUS_EXT = 1000148035, 1874 VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036, 1875 VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037, 1876 VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038, 1877 VK_BLEND_OP_MINUS_EXT = 1000148039, 1878 VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040, 1879 VK_BLEND_OP_CONTRAST_EXT = 1000148041, 1880 VK_BLEND_OP_INVERT_OVG_EXT = 1000148042, 1881 VK_BLEND_OP_RED_EXT = 1000148043, 1882 VK_BLEND_OP_GREEN_EXT = 1000148044, 1883 VK_BLEND_OP_BLUE_EXT = 1000148045, 1884 VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF 1885 } VkBlendOp; 1886 1887 typedef enum VkCompareOp { 1888 VK_COMPARE_OP_NEVER = 0, 1889 VK_COMPARE_OP_LESS = 1, 1890 VK_COMPARE_OP_EQUAL = 2, 1891 VK_COMPARE_OP_LESS_OR_EQUAL = 3, 1892 VK_COMPARE_OP_GREATER = 4, 1893 VK_COMPARE_OP_NOT_EQUAL = 5, 1894 VK_COMPARE_OP_GREATER_OR_EQUAL = 6, 1895 VK_COMPARE_OP_ALWAYS = 7, 1896 VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF 1897 } VkCompareOp; 1898 1899 typedef enum VkDynamicState { 1900 VK_DYNAMIC_STATE_VIEWPORT = 0, 1901 VK_DYNAMIC_STATE_SCISSOR = 1, 1902 VK_DYNAMIC_STATE_LINE_WIDTH = 2, 1903 VK_DYNAMIC_STATE_DEPTH_BIAS = 3, 1904 VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4, 1905 VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5, 1906 VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6, 1907 VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7, 1908 VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8, 1909 VK_DYNAMIC_STATE_CULL_MODE = 1000267000, 1910 VK_DYNAMIC_STATE_FRONT_FACE = 1000267001, 1911 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY = 1000267002, 1912 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT = 1000267003, 1913 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT = 1000267004, 1914 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE = 1000267005, 1915 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE = 1000267006, 1916 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE = 1000267007, 1917 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP = 1000267008, 1918 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE = 1000267009, 1919 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE = 1000267010, 1920 VK_DYNAMIC_STATE_STENCIL_OP = 1000267011, 1921 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE = 1000377001, 1922 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE = 1000377002, 1923 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE = 1000377004, 1924 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000, 1925 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000, 1926 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT = 1000099001, 1927 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT = 1000099002, 1928 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000, 1929 VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000, 1930 VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004, 1931 VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006, 1932 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV = 1000205000, 1933 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001, 1934 VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000, 1935 VK_DYNAMIC_STATE_VERTEX_INPUT_EXT = 1000352000, 1936 VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000, 1937 VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003, 1938 VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000, 1939 VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT = 1000455003, 1940 VK_DYNAMIC_STATE_POLYGON_MODE_EXT = 1000455004, 1941 VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT = 1000455005, 1942 VK_DYNAMIC_STATE_SAMPLE_MASK_EXT = 1000455006, 1943 VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT = 1000455007, 1944 VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT = 1000455008, 1945 VK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT = 1000455009, 1946 VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT = 1000455010, 1947 VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT = 1000455011, 1948 VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT = 1000455012, 1949 VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT = 1000455002, 1950 VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT = 1000455013, 1951 VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT = 1000455014, 1952 VK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT = 1000455015, 1953 VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT = 1000455016, 1954 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT = 1000455017, 1955 VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT = 1000455018, 1956 VK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT = 1000455019, 1957 VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT = 1000455020, 1958 VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT = 1000455021, 1959 VK_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT = 1000455022, 1960 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV = 1000455023, 1961 VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV = 1000455024, 1962 VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV = 1000455025, 1963 VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV = 1000455026, 1964 VK_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV = 1000455027, 1965 VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV = 1000455028, 1966 VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV = 1000455029, 1967 VK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV = 1000455030, 1968 VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV = 1000455031, 1969 VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV = 1000455032, 1970 VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT = 1000524000, 1971 VK_DYNAMIC_STATE_LINE_STIPPLE_KHR = 1000259000, 1972 VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = VK_DYNAMIC_STATE_LINE_STIPPLE_KHR, 1973 VK_DYNAMIC_STATE_CULL_MODE_EXT = VK_DYNAMIC_STATE_CULL_MODE, 1974 VK_DYNAMIC_STATE_FRONT_FACE_EXT = VK_DYNAMIC_STATE_FRONT_FACE, 1975 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY, 1976 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT = VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT, 1977 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT = VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT, 1978 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT = VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE, 1979 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE, 1980 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE, 1981 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT = VK_DYNAMIC_STATE_DEPTH_COMPARE_OP, 1982 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE, 1983 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE, 1984 VK_DYNAMIC_STATE_STENCIL_OP_EXT = VK_DYNAMIC_STATE_STENCIL_OP, 1985 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT = VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE, 1986 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE, 1987 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT = VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE, 1988 VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF 1989 } VkDynamicState; 1990 1991 typedef enum VkFrontFace { 1992 VK_FRONT_FACE_COUNTER_CLOCKWISE = 0, 1993 VK_FRONT_FACE_CLOCKWISE = 1, 1994 VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF 1995 } VkFrontFace; 1996 1997 typedef enum VkVertexInputRate { 1998 VK_VERTEX_INPUT_RATE_VERTEX = 0, 1999 VK_VERTEX_INPUT_RATE_INSTANCE = 1, 2000 VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF 2001 } VkVertexInputRate; 2002 2003 typedef enum VkPrimitiveTopology { 2004 VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0, 2005 VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1, 2006 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2, 2007 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3, 2008 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4, 2009 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5, 2010 VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6, 2011 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7, 2012 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8, 2013 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9, 2014 VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10, 2015 VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF 2016 } VkPrimitiveTopology; 2017 2018 typedef enum VkPolygonMode { 2019 VK_POLYGON_MODE_FILL = 0, 2020 VK_POLYGON_MODE_LINE = 1, 2021 VK_POLYGON_MODE_POINT = 2, 2022 VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000, 2023 VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF 2024 } VkPolygonMode; 2025 2026 typedef enum VkStencilOp { 2027 VK_STENCIL_OP_KEEP = 0, 2028 VK_STENCIL_OP_ZERO = 1, 2029 VK_STENCIL_OP_REPLACE = 2, 2030 VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3, 2031 VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4, 2032 VK_STENCIL_OP_INVERT = 5, 2033 VK_STENCIL_OP_INCREMENT_AND_WRAP = 6, 2034 VK_STENCIL_OP_DECREMENT_AND_WRAP = 7, 2035 VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF 2036 } VkStencilOp; 2037 2038 typedef enum VkLogicOp { 2039 VK_LOGIC_OP_CLEAR = 0, 2040 VK_LOGIC_OP_AND = 1, 2041 VK_LOGIC_OP_AND_REVERSE = 2, 2042 VK_LOGIC_OP_COPY = 3, 2043 VK_LOGIC_OP_AND_INVERTED = 4, 2044 VK_LOGIC_OP_NO_OP = 5, 2045 VK_LOGIC_OP_XOR = 6, 2046 VK_LOGIC_OP_OR = 7, 2047 VK_LOGIC_OP_NOR = 8, 2048 VK_LOGIC_OP_EQUIVALENT = 9, 2049 VK_LOGIC_OP_INVERT = 10, 2050 VK_LOGIC_OP_OR_REVERSE = 11, 2051 VK_LOGIC_OP_COPY_INVERTED = 12, 2052 VK_LOGIC_OP_OR_INVERTED = 13, 2053 VK_LOGIC_OP_NAND = 14, 2054 VK_LOGIC_OP_SET = 15, 2055 VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF 2056 } VkLogicOp; 2057 2058 typedef enum VkBorderColor { 2059 VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0, 2060 VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1, 2061 VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2, 2062 VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3, 2063 VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4, 2064 VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5, 2065 VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003, 2066 VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004, 2067 VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF 2068 } VkBorderColor; 2069 2070 typedef enum VkFilter { 2071 VK_FILTER_NEAREST = 0, 2072 VK_FILTER_LINEAR = 1, 2073 VK_FILTER_CUBIC_EXT = 1000015000, 2074 VK_FILTER_CUBIC_IMG = VK_FILTER_CUBIC_EXT, 2075 VK_FILTER_MAX_ENUM = 0x7FFFFFFF 2076 } VkFilter; 2077 2078 typedef enum VkSamplerAddressMode { 2079 VK_SAMPLER_ADDRESS_MODE_REPEAT = 0, 2080 VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1, 2081 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2, 2082 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3, 2083 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4, 2084 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE, 2085 VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF 2086 } VkSamplerAddressMode; 2087 2088 typedef enum VkSamplerMipmapMode { 2089 VK_SAMPLER_MIPMAP_MODE_NEAREST = 0, 2090 VK_SAMPLER_MIPMAP_MODE_LINEAR = 1, 2091 VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF 2092 } VkSamplerMipmapMode; 2093 2094 typedef enum VkDescriptorType { 2095 VK_DESCRIPTOR_TYPE_SAMPLER = 0, 2096 VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1, 2097 VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2, 2098 VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3, 2099 VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4, 2100 VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5, 2101 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6, 2102 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7, 2103 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8, 2104 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9, 2105 VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10, 2106 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK = 1000138000, 2107 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000, 2108 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000, 2109 VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM = 1000440000, 2110 VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM = 1000440001, 2111 VK_DESCRIPTOR_TYPE_MUTABLE_EXT = 1000351000, 2112 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK, 2113 VK_DESCRIPTOR_TYPE_MUTABLE_VALVE = VK_DESCRIPTOR_TYPE_MUTABLE_EXT, 2114 VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF 2115 } VkDescriptorType; 2116 2117 typedef enum VkAttachmentLoadOp { 2118 VK_ATTACHMENT_LOAD_OP_LOAD = 0, 2119 VK_ATTACHMENT_LOAD_OP_CLEAR = 1, 2120 VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2, 2121 VK_ATTACHMENT_LOAD_OP_NONE_KHR = 1000400000, 2122 VK_ATTACHMENT_LOAD_OP_NONE_EXT = VK_ATTACHMENT_LOAD_OP_NONE_KHR, 2123 VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF 2124 } VkAttachmentLoadOp; 2125 2126 typedef enum VkAttachmentStoreOp { 2127 VK_ATTACHMENT_STORE_OP_STORE = 0, 2128 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1, 2129 VK_ATTACHMENT_STORE_OP_NONE = 1000301000, 2130 VK_ATTACHMENT_STORE_OP_NONE_KHR = VK_ATTACHMENT_STORE_OP_NONE, 2131 VK_ATTACHMENT_STORE_OP_NONE_QCOM = VK_ATTACHMENT_STORE_OP_NONE, 2132 VK_ATTACHMENT_STORE_OP_NONE_EXT = VK_ATTACHMENT_STORE_OP_NONE, 2133 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF 2134 } VkAttachmentStoreOp; 2135 2136 typedef enum VkPipelineBindPoint { 2137 VK_PIPELINE_BIND_POINT_GRAPHICS = 0, 2138 VK_PIPELINE_BIND_POINT_COMPUTE = 1, 2139 #ifdef VK_ENABLE_BETA_EXTENSIONS 2140 VK_PIPELINE_BIND_POINT_EXECUTION_GRAPH_AMDX = 1000134000, 2141 #endif 2142 VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR = 1000165000, 2143 VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI = 1000369003, 2144 VK_PIPELINE_BIND_POINT_RAY_TRACING_NV = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR, 2145 VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF 2146 } VkPipelineBindPoint; 2147 2148 typedef enum VkCommandBufferLevel { 2149 VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0, 2150 VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1, 2151 VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF 2152 } VkCommandBufferLevel; 2153 2154 typedef enum VkIndexType { 2155 VK_INDEX_TYPE_UINT16 = 0, 2156 VK_INDEX_TYPE_UINT32 = 1, 2157 VK_INDEX_TYPE_NONE_KHR = 1000165000, 2158 VK_INDEX_TYPE_UINT8_KHR = 1000265000, 2159 VK_INDEX_TYPE_NONE_NV = VK_INDEX_TYPE_NONE_KHR, 2160 VK_INDEX_TYPE_UINT8_EXT = VK_INDEX_TYPE_UINT8_KHR, 2161 VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF 2162 } VkIndexType; 2163 2164 typedef enum VkSubpassContents { 2165 VK_SUBPASS_CONTENTS_INLINE = 0, 2166 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1, 2167 VK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_EXT = 1000451000, 2168 VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF 2169 } VkSubpassContents; 2170 2171 typedef enum VkAccessFlagBits { 2172 VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001, 2173 VK_ACCESS_INDEX_READ_BIT = 0x00000002, 2174 VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004, 2175 VK_ACCESS_UNIFORM_READ_BIT = 0x00000008, 2176 VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010, 2177 VK_ACCESS_SHADER_READ_BIT = 0x00000020, 2178 VK_ACCESS_SHADER_WRITE_BIT = 0x00000040, 2179 VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080, 2180 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100, 2181 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200, 2182 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400, 2183 VK_ACCESS_TRANSFER_READ_BIT = 0x00000800, 2184 VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000, 2185 VK_ACCESS_HOST_READ_BIT = 0x00002000, 2186 VK_ACCESS_HOST_WRITE_BIT = 0x00004000, 2187 VK_ACCESS_MEMORY_READ_BIT = 0x00008000, 2188 VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000, 2189 VK_ACCESS_NONE = 0, 2190 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000, 2191 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000, 2192 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000, 2193 VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000, 2194 VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000, 2195 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000, 2196 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000, 2197 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000, 2198 VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000, 2199 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000, 2200 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000, 2201 VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR, 2202 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR, 2203 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR, 2204 VK_ACCESS_NONE_KHR = VK_ACCESS_NONE, 2205 VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2206 } VkAccessFlagBits; 2207 typedef VkFlags VkAccessFlags; 2208 2209 typedef enum VkImageAspectFlagBits { 2210 VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001, 2211 VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002, 2212 VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004, 2213 VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008, 2214 VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010, 2215 VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020, 2216 VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040, 2217 VK_IMAGE_ASPECT_NONE = 0, 2218 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080, 2219 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100, 2220 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200, 2221 VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400, 2222 VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT, 2223 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT, 2224 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT, 2225 VK_IMAGE_ASPECT_NONE_KHR = VK_IMAGE_ASPECT_NONE, 2226 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2227 } VkImageAspectFlagBits; 2228 typedef VkFlags VkImageAspectFlags; 2229 2230 typedef enum VkFormatFeatureFlagBits { 2231 VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001, 2232 VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002, 2233 VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004, 2234 VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008, 2235 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010, 2236 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020, 2237 VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040, 2238 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080, 2239 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100, 2240 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200, 2241 VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400, 2242 VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800, 2243 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000, 2244 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000, 2245 VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000, 2246 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000, 2247 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000, 2248 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000, 2249 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000, 2250 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000, 2251 VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000, 2252 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000, 2253 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000, 2254 VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000, 2255 VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000, 2256 VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000, 2257 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = 0x00002000, 2258 VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000, 2259 VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000, 2260 VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000, 2261 VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000, 2262 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT, 2263 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT, 2264 VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT, 2265 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT, 2266 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT, 2267 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT, 2268 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT, 2269 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT, 2270 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, 2271 VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT, 2272 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT, 2273 VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2274 } VkFormatFeatureFlagBits; 2275 typedef VkFlags VkFormatFeatureFlags; 2276 2277 typedef enum VkImageCreateFlagBits { 2278 VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001, 2279 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002, 2280 VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004, 2281 VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008, 2282 VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010, 2283 VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400, 2284 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040, 2285 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020, 2286 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080, 2287 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100, 2288 VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800, 2289 VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200, 2290 VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000, 2291 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000, 2292 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000, 2293 VK_IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00010000, 2294 VK_IMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT = 0x00040000, 2295 VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT = 0x00020000, 2296 VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM = 0x00008000, 2297 VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR = 0x00100000, 2298 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT, 2299 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT, 2300 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT, 2301 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT, 2302 VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VK_IMAGE_CREATE_DISJOINT_BIT, 2303 VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT, 2304 VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2305 } VkImageCreateFlagBits; 2306 typedef VkFlags VkImageCreateFlags; 2307 2308 typedef enum VkSampleCountFlagBits { 2309 VK_SAMPLE_COUNT_1_BIT = 0x00000001, 2310 VK_SAMPLE_COUNT_2_BIT = 0x00000002, 2311 VK_SAMPLE_COUNT_4_BIT = 0x00000004, 2312 VK_SAMPLE_COUNT_8_BIT = 0x00000008, 2313 VK_SAMPLE_COUNT_16_BIT = 0x00000010, 2314 VK_SAMPLE_COUNT_32_BIT = 0x00000020, 2315 VK_SAMPLE_COUNT_64_BIT = 0x00000040, 2316 VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2317 } VkSampleCountFlagBits; 2318 typedef VkFlags VkSampleCountFlags; 2319 2320 typedef enum VkImageUsageFlagBits { 2321 VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001, 2322 VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002, 2323 VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004, 2324 VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008, 2325 VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010, 2326 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020, 2327 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040, 2328 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080, 2329 VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00000400, 2330 VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00000800, 2331 VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR = 0x00001000, 2332 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200, 2333 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00000100, 2334 VK_IMAGE_USAGE_HOST_TRANSFER_BIT_EXT = 0x00400000, 2335 VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00002000, 2336 VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00004000, 2337 VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR = 0x00008000, 2338 VK_IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x00080000, 2339 VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI = 0x00040000, 2340 VK_IMAGE_USAGE_SAMPLE_WEIGHT_BIT_QCOM = 0x00100000, 2341 VK_IMAGE_USAGE_SAMPLE_BLOCK_MATCH_BIT_QCOM = 0x00200000, 2342 VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, 2343 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2344 } VkImageUsageFlagBits; 2345 typedef VkFlags VkImageUsageFlags; 2346 2347 typedef enum VkInstanceCreateFlagBits { 2348 VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR = 0x00000001, 2349 VK_INSTANCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2350 } VkInstanceCreateFlagBits; 2351 typedef VkFlags VkInstanceCreateFlags; 2352 2353 typedef enum VkMemoryHeapFlagBits { 2354 VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001, 2355 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002, 2356 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT, 2357 VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2358 } VkMemoryHeapFlagBits; 2359 typedef VkFlags VkMemoryHeapFlags; 2360 2361 typedef enum VkMemoryPropertyFlagBits { 2362 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001, 2363 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002, 2364 VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004, 2365 VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008, 2366 VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010, 2367 VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020, 2368 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 0x00000040, 2369 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 0x00000080, 2370 VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV = 0x00000100, 2371 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2372 } VkMemoryPropertyFlagBits; 2373 typedef VkFlags VkMemoryPropertyFlags; 2374 2375 typedef enum VkQueueFlagBits { 2376 VK_QUEUE_GRAPHICS_BIT = 0x00000001, 2377 VK_QUEUE_COMPUTE_BIT = 0x00000002, 2378 VK_QUEUE_TRANSFER_BIT = 0x00000004, 2379 VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008, 2380 VK_QUEUE_PROTECTED_BIT = 0x00000010, 2381 VK_QUEUE_VIDEO_DECODE_BIT_KHR = 0x00000020, 2382 VK_QUEUE_VIDEO_ENCODE_BIT_KHR = 0x00000040, 2383 VK_QUEUE_OPTICAL_FLOW_BIT_NV = 0x00000100, 2384 VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2385 } VkQueueFlagBits; 2386 typedef VkFlags VkQueueFlags; 2387 typedef VkFlags VkDeviceCreateFlags; 2388 2389 typedef enum VkDeviceQueueCreateFlagBits { 2390 VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001, 2391 VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2392 } VkDeviceQueueCreateFlagBits; 2393 typedef VkFlags VkDeviceQueueCreateFlags; 2394 2395 typedef enum VkPipelineStageFlagBits { 2396 VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001, 2397 VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002, 2398 VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004, 2399 VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008, 2400 VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010, 2401 VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020, 2402 VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040, 2403 VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080, 2404 VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100, 2405 VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200, 2406 VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400, 2407 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800, 2408 VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000, 2409 VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000, 2410 VK_PIPELINE_STAGE_HOST_BIT = 0x00004000, 2411 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000, 2412 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000, 2413 VK_PIPELINE_STAGE_NONE = 0, 2414 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000, 2415 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000, 2416 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000, 2417 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 0x00200000, 2418 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000, 2419 VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000, 2420 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 0x00020000, 2421 VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT = 0x00080000, 2422 VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT = 0x00100000, 2423 VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, 2424 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR, 2425 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, 2426 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT, 2427 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT, 2428 VK_PIPELINE_STAGE_NONE_KHR = VK_PIPELINE_STAGE_NONE, 2429 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2430 } VkPipelineStageFlagBits; 2431 typedef VkFlags VkPipelineStageFlags; 2432 2433 typedef enum VkMemoryMapFlagBits { 2434 VK_MEMORY_MAP_PLACED_BIT_EXT = 0x00000001, 2435 VK_MEMORY_MAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2436 } VkMemoryMapFlagBits; 2437 typedef VkFlags VkMemoryMapFlags; 2438 2439 typedef enum VkSparseMemoryBindFlagBits { 2440 VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001, 2441 VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2442 } VkSparseMemoryBindFlagBits; 2443 typedef VkFlags VkSparseMemoryBindFlags; 2444 2445 typedef enum VkSparseImageFormatFlagBits { 2446 VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001, 2447 VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002, 2448 VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004, 2449 VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2450 } VkSparseImageFormatFlagBits; 2451 typedef VkFlags VkSparseImageFormatFlags; 2452 2453 typedef enum VkFenceCreateFlagBits { 2454 VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001, 2455 VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2456 } VkFenceCreateFlagBits; 2457 typedef VkFlags VkFenceCreateFlags; 2458 typedef VkFlags VkSemaphoreCreateFlags; 2459 2460 typedef enum VkEventCreateFlagBits { 2461 VK_EVENT_CREATE_DEVICE_ONLY_BIT = 0x00000001, 2462 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = VK_EVENT_CREATE_DEVICE_ONLY_BIT, 2463 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2464 } VkEventCreateFlagBits; 2465 typedef VkFlags VkEventCreateFlags; 2466 2467 typedef enum VkQueryPipelineStatisticFlagBits { 2468 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001, 2469 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002, 2470 VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004, 2471 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008, 2472 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010, 2473 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020, 2474 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040, 2475 VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080, 2476 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100, 2477 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200, 2478 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400, 2479 VK_QUERY_PIPELINE_STATISTIC_TASK_SHADER_INVOCATIONS_BIT_EXT = 0x00000800, 2480 VK_QUERY_PIPELINE_STATISTIC_MESH_SHADER_INVOCATIONS_BIT_EXT = 0x00001000, 2481 VK_QUERY_PIPELINE_STATISTIC_CLUSTER_CULLING_SHADER_INVOCATIONS_BIT_HUAWEI = 0x00002000, 2482 VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2483 } VkQueryPipelineStatisticFlagBits; 2484 typedef VkFlags VkQueryPipelineStatisticFlags; 2485 typedef VkFlags VkQueryPoolCreateFlags; 2486 2487 typedef enum VkQueryResultFlagBits { 2488 VK_QUERY_RESULT_64_BIT = 0x00000001, 2489 VK_QUERY_RESULT_WAIT_BIT = 0x00000002, 2490 VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004, 2491 VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008, 2492 VK_QUERY_RESULT_WITH_STATUS_BIT_KHR = 0x00000010, 2493 VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2494 } VkQueryResultFlagBits; 2495 typedef VkFlags VkQueryResultFlags; 2496 2497 typedef enum VkBufferCreateFlagBits { 2498 VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001, 2499 VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002, 2500 VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004, 2501 VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008, 2502 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010, 2503 VK_BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000020, 2504 VK_BUFFER_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR = 0x00000040, 2505 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, 2506 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, 2507 VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2508 } VkBufferCreateFlagBits; 2509 typedef VkFlags VkBufferCreateFlags; 2510 2511 typedef enum VkBufferUsageFlagBits { 2512 VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001, 2513 VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002, 2514 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004, 2515 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008, 2516 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010, 2517 VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020, 2518 VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040, 2519 VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080, 2520 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100, 2521 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0x00020000, 2522 VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000, 2523 VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00004000, 2524 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800, 2525 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000, 2526 VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200, 2527 #ifdef VK_ENABLE_BETA_EXTENSIONS 2528 VK_BUFFER_USAGE_EXECUTION_GRAPH_SCRATCH_BIT_AMDX = 0x02000000, 2529 #endif 2530 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000, 2531 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000, 2532 VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400, 2533 VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000, 2534 VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000, 2535 VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT = 0x00200000, 2536 VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT = 0x00400000, 2537 VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT = 0x04000000, 2538 VK_BUFFER_USAGE_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT = 0x00800000, 2539 VK_BUFFER_USAGE_MICROMAP_STORAGE_BIT_EXT = 0x01000000, 2540 VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR, 2541 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT, 2542 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT, 2543 VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2544 } VkBufferUsageFlagBits; 2545 typedef VkFlags VkBufferUsageFlags; 2546 typedef VkFlags VkBufferViewCreateFlags; 2547 2548 typedef enum VkImageViewCreateFlagBits { 2549 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001, 2550 VK_IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000004, 2551 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT = 0x00000002, 2552 VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2553 } VkImageViewCreateFlagBits; 2554 typedef VkFlags VkImageViewCreateFlags; 2555 typedef VkFlags VkShaderModuleCreateFlags; 2556 2557 typedef enum VkPipelineCacheCreateFlagBits { 2558 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT = 0x00000001, 2559 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT, 2560 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2561 } VkPipelineCacheCreateFlagBits; 2562 typedef VkFlags VkPipelineCacheCreateFlags; 2563 2564 typedef enum VkColorComponentFlagBits { 2565 VK_COLOR_COMPONENT_R_BIT = 0x00000001, 2566 VK_COLOR_COMPONENT_G_BIT = 0x00000002, 2567 VK_COLOR_COMPONENT_B_BIT = 0x00000004, 2568 VK_COLOR_COMPONENT_A_BIT = 0x00000008, 2569 VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2570 } VkColorComponentFlagBits; 2571 typedef VkFlags VkColorComponentFlags; 2572 2573 typedef enum VkPipelineCreateFlagBits { 2574 VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001, 2575 VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002, 2576 VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004, 2577 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008, 2578 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0x00000010, 2579 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = 0x00000100, 2580 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT = 0x00000200, 2581 VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00200000, 2582 VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00400000, 2583 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000, 2584 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000, 2585 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000, 2586 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000, 2587 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000, 2588 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000, 2589 VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000, 2590 VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0x00000020, 2591 VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 0x00000040, 2592 VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080, 2593 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00040000, 2594 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 0x00000800, 2595 VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT = 0x20000000, 2596 VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT = 0x00800000, 2597 VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT = 0x00000400, 2598 VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000, 2599 VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x02000000, 2600 VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x04000000, 2601 VK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT = 0x01000000, 2602 #ifdef VK_ENABLE_BETA_EXTENSIONS 2603 VK_PIPELINE_CREATE_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV = 0x10000000, 2604 #endif 2605 VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT_EXT = 0x08000000, 2606 VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT_EXT = 0x40000000, 2607 VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT, 2608 VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, 2609 VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT, 2610 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT, 2611 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE, 2612 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT, 2613 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT, 2614 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2615 } VkPipelineCreateFlagBits; 2616 typedef VkFlags VkPipelineCreateFlags; 2617 2618 typedef enum VkPipelineShaderStageCreateFlagBits { 2619 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT = 0x00000001, 2620 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT = 0x00000002, 2621 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT, 2622 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT, 2623 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2624 } VkPipelineShaderStageCreateFlagBits; 2625 typedef VkFlags VkPipelineShaderStageCreateFlags; 2626 2627 typedef enum VkShaderStageFlagBits { 2628 VK_SHADER_STAGE_VERTEX_BIT = 0x00000001, 2629 VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002, 2630 VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004, 2631 VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008, 2632 VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010, 2633 VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020, 2634 VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F, 2635 VK_SHADER_STAGE_ALL = 0x7FFFFFFF, 2636 VK_SHADER_STAGE_RAYGEN_BIT_KHR = 0x00000100, 2637 VK_SHADER_STAGE_ANY_HIT_BIT_KHR = 0x00000200, 2638 VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR = 0x00000400, 2639 VK_SHADER_STAGE_MISS_BIT_KHR = 0x00000800, 2640 VK_SHADER_STAGE_INTERSECTION_BIT_KHR = 0x00001000, 2641 VK_SHADER_STAGE_CALLABLE_BIT_KHR = 0x00002000, 2642 VK_SHADER_STAGE_TASK_BIT_EXT = 0x00000040, 2643 VK_SHADER_STAGE_MESH_BIT_EXT = 0x00000080, 2644 VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 0x00004000, 2645 VK_SHADER_STAGE_CLUSTER_CULLING_BIT_HUAWEI = 0x00080000, 2646 VK_SHADER_STAGE_RAYGEN_BIT_NV = VK_SHADER_STAGE_RAYGEN_BIT_KHR, 2647 VK_SHADER_STAGE_ANY_HIT_BIT_NV = VK_SHADER_STAGE_ANY_HIT_BIT_KHR, 2648 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR, 2649 VK_SHADER_STAGE_MISS_BIT_NV = VK_SHADER_STAGE_MISS_BIT_KHR, 2650 VK_SHADER_STAGE_INTERSECTION_BIT_NV = VK_SHADER_STAGE_INTERSECTION_BIT_KHR, 2651 VK_SHADER_STAGE_CALLABLE_BIT_NV = VK_SHADER_STAGE_CALLABLE_BIT_KHR, 2652 VK_SHADER_STAGE_TASK_BIT_NV = VK_SHADER_STAGE_TASK_BIT_EXT, 2653 VK_SHADER_STAGE_MESH_BIT_NV = VK_SHADER_STAGE_MESH_BIT_EXT, 2654 VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2655 } VkShaderStageFlagBits; 2656 2657 typedef enum VkCullModeFlagBits { 2658 VK_CULL_MODE_NONE = 0, 2659 VK_CULL_MODE_FRONT_BIT = 0x00000001, 2660 VK_CULL_MODE_BACK_BIT = 0x00000002, 2661 VK_CULL_MODE_FRONT_AND_BACK = 0x00000003, 2662 VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2663 } VkCullModeFlagBits; 2664 typedef VkFlags VkCullModeFlags; 2665 typedef VkFlags VkPipelineVertexInputStateCreateFlags; 2666 typedef VkFlags VkPipelineInputAssemblyStateCreateFlags; 2667 typedef VkFlags VkPipelineTessellationStateCreateFlags; 2668 typedef VkFlags VkPipelineViewportStateCreateFlags; 2669 typedef VkFlags VkPipelineRasterizationStateCreateFlags; 2670 typedef VkFlags VkPipelineMultisampleStateCreateFlags; 2671 2672 typedef enum VkPipelineDepthStencilStateCreateFlagBits { 2673 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT = 0x00000001, 2674 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT = 0x00000002, 2675 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, 2676 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, 2677 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2678 } VkPipelineDepthStencilStateCreateFlagBits; 2679 typedef VkFlags VkPipelineDepthStencilStateCreateFlags; 2680 2681 typedef enum VkPipelineColorBlendStateCreateFlagBits { 2682 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT = 0x00000001, 2683 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM = VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT, 2684 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2685 } VkPipelineColorBlendStateCreateFlagBits; 2686 typedef VkFlags VkPipelineColorBlendStateCreateFlags; 2687 typedef VkFlags VkPipelineDynamicStateCreateFlags; 2688 2689 typedef enum VkPipelineLayoutCreateFlagBits { 2690 VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT = 0x00000002, 2691 VK_PIPELINE_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2692 } VkPipelineLayoutCreateFlagBits; 2693 typedef VkFlags VkPipelineLayoutCreateFlags; 2694 typedef VkFlags VkShaderStageFlags; 2695 2696 typedef enum VkSamplerCreateFlagBits { 2697 VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0x00000001, 2698 VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002, 2699 VK_SAMPLER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000008, 2700 VK_SAMPLER_CREATE_NON_SEAMLESS_CUBE_MAP_BIT_EXT = 0x00000004, 2701 VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM = 0x00000010, 2702 VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2703 } VkSamplerCreateFlagBits; 2704 typedef VkFlags VkSamplerCreateFlags; 2705 2706 typedef enum VkDescriptorPoolCreateFlagBits { 2707 VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001, 2708 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002, 2709 VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT = 0x00000004, 2710 VK_DESCRIPTOR_POOL_CREATE_ALLOW_OVERALLOCATION_SETS_BIT_NV = 0x00000008, 2711 VK_DESCRIPTOR_POOL_CREATE_ALLOW_OVERALLOCATION_POOLS_BIT_NV = 0x00000010, 2712 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT, 2713 VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE = VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT, 2714 VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2715 } VkDescriptorPoolCreateFlagBits; 2716 typedef VkFlags VkDescriptorPoolCreateFlags; 2717 typedef VkFlags VkDescriptorPoolResetFlags; 2718 2719 typedef enum VkDescriptorSetLayoutCreateFlagBits { 2720 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002, 2721 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001, 2722 VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT = 0x00000010, 2723 VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT = 0x00000020, 2724 VK_DESCRIPTOR_SET_LAYOUT_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00000080, 2725 VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT = 0x00000004, 2726 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV = 0x00000040, 2727 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT, 2728 VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE = VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT, 2729 VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2730 } VkDescriptorSetLayoutCreateFlagBits; 2731 typedef VkFlags VkDescriptorSetLayoutCreateFlags; 2732 2733 typedef enum VkAttachmentDescriptionFlagBits { 2734 VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001, 2735 VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2736 } VkAttachmentDescriptionFlagBits; 2737 typedef VkFlags VkAttachmentDescriptionFlags; 2738 2739 typedef enum VkDependencyFlagBits { 2740 VK_DEPENDENCY_BY_REGION_BIT = 0x00000001, 2741 VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004, 2742 VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002, 2743 VK_DEPENDENCY_FEEDBACK_LOOP_BIT_EXT = 0x00000008, 2744 VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT, 2745 VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT, 2746 VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2747 } VkDependencyFlagBits; 2748 typedef VkFlags VkDependencyFlags; 2749 2750 typedef enum VkFramebufferCreateFlagBits { 2751 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0x00000001, 2752 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT, 2753 VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2754 } VkFramebufferCreateFlagBits; 2755 typedef VkFlags VkFramebufferCreateFlags; 2756 2757 typedef enum VkRenderPassCreateFlagBits { 2758 VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM = 0x00000002, 2759 VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2760 } VkRenderPassCreateFlagBits; 2761 typedef VkFlags VkRenderPassCreateFlags; 2762 2763 typedef enum VkSubpassDescriptionFlagBits { 2764 VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001, 2765 VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002, 2766 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 0x00000004, 2767 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 0x00000008, 2768 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT = 0x00000010, 2769 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT = 0x00000020, 2770 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT = 0x00000040, 2771 VK_SUBPASS_DESCRIPTION_ENABLE_LEGACY_DITHERING_BIT_EXT = 0x00000080, 2772 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT, 2773 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT, 2774 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT, 2775 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2776 } VkSubpassDescriptionFlagBits; 2777 typedef VkFlags VkSubpassDescriptionFlags; 2778 2779 typedef enum VkCommandPoolCreateFlagBits { 2780 VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001, 2781 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002, 2782 VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004, 2783 VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2784 } VkCommandPoolCreateFlagBits; 2785 typedef VkFlags VkCommandPoolCreateFlags; 2786 2787 typedef enum VkCommandPoolResetFlagBits { 2788 VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001, 2789 VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2790 } VkCommandPoolResetFlagBits; 2791 typedef VkFlags VkCommandPoolResetFlags; 2792 2793 typedef enum VkCommandBufferUsageFlagBits { 2794 VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001, 2795 VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002, 2796 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004, 2797 VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2798 } VkCommandBufferUsageFlagBits; 2799 typedef VkFlags VkCommandBufferUsageFlags; 2800 2801 typedef enum VkQueryControlFlagBits { 2802 VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001, 2803 VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2804 } VkQueryControlFlagBits; 2805 typedef VkFlags VkQueryControlFlags; 2806 2807 typedef enum VkCommandBufferResetFlagBits { 2808 VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001, 2809 VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2810 } VkCommandBufferResetFlagBits; 2811 typedef VkFlags VkCommandBufferResetFlags; 2812 2813 typedef enum VkStencilFaceFlagBits { 2814 VK_STENCIL_FACE_FRONT_BIT = 0x00000001, 2815 VK_STENCIL_FACE_BACK_BIT = 0x00000002, 2816 VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003, 2817 VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK, 2818 VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2819 } VkStencilFaceFlagBits; 2820 typedef VkFlags VkStencilFaceFlags; 2821 typedef struct VkExtent2D { 2822 uint32_t width; 2823 uint32_t height; 2824 } VkExtent2D; 2825 2826 typedef struct VkExtent3D { 2827 uint32_t width; 2828 uint32_t height; 2829 uint32_t depth; 2830 } VkExtent3D; 2831 2832 typedef struct VkOffset2D { 2833 int32_t x; 2834 int32_t y; 2835 } VkOffset2D; 2836 2837 typedef struct VkOffset3D { 2838 int32_t x; 2839 int32_t y; 2840 int32_t z; 2841 } VkOffset3D; 2842 2843 typedef struct VkRect2D { 2844 VkOffset2D offset; 2845 VkExtent2D extent; 2846 } VkRect2D; 2847 2848 typedef struct VkBaseInStructure { 2849 VkStructureType sType; 2850 const struct VkBaseInStructure* pNext; 2851 } VkBaseInStructure; 2852 2853 typedef struct VkBaseOutStructure { 2854 VkStructureType sType; 2855 struct VkBaseOutStructure* pNext; 2856 } VkBaseOutStructure; 2857 2858 typedef struct VkBufferMemoryBarrier { 2859 VkStructureType sType; 2860 const void* pNext; 2861 VkAccessFlags srcAccessMask; 2862 VkAccessFlags dstAccessMask; 2863 uint32_t srcQueueFamilyIndex; 2864 uint32_t dstQueueFamilyIndex; 2865 VkBuffer buffer; 2866 VkDeviceSize offset; 2867 VkDeviceSize size; 2868 } VkBufferMemoryBarrier; 2869 2870 typedef struct VkDispatchIndirectCommand { 2871 uint32_t x; 2872 uint32_t y; 2873 uint32_t z; 2874 } VkDispatchIndirectCommand; 2875 2876 typedef struct VkDrawIndexedIndirectCommand { 2877 uint32_t indexCount; 2878 uint32_t instanceCount; 2879 uint32_t firstIndex; 2880 int32_t vertexOffset; 2881 uint32_t firstInstance; 2882 } VkDrawIndexedIndirectCommand; 2883 2884 typedef struct VkDrawIndirectCommand { 2885 uint32_t vertexCount; 2886 uint32_t instanceCount; 2887 uint32_t firstVertex; 2888 uint32_t firstInstance; 2889 } VkDrawIndirectCommand; 2890 2891 typedef struct VkImageSubresourceRange { 2892 VkImageAspectFlags aspectMask; 2893 uint32_t baseMipLevel; 2894 uint32_t levelCount; 2895 uint32_t baseArrayLayer; 2896 uint32_t layerCount; 2897 } VkImageSubresourceRange; 2898 2899 typedef struct VkImageMemoryBarrier { 2900 VkStructureType sType; 2901 const void* pNext; 2902 VkAccessFlags srcAccessMask; 2903 VkAccessFlags dstAccessMask; 2904 VkImageLayout oldLayout; 2905 VkImageLayout newLayout; 2906 uint32_t srcQueueFamilyIndex; 2907 uint32_t dstQueueFamilyIndex; 2908 VkImage image; 2909 VkImageSubresourceRange subresourceRange; 2910 } VkImageMemoryBarrier; 2911 2912 typedef struct VkMemoryBarrier { 2913 VkStructureType sType; 2914 const void* pNext; 2915 VkAccessFlags srcAccessMask; 2916 VkAccessFlags dstAccessMask; 2917 } VkMemoryBarrier; 2918 2919 typedef struct VkPipelineCacheHeaderVersionOne { 2920 uint32_t headerSize; 2921 VkPipelineCacheHeaderVersion headerVersion; 2922 uint32_t vendorID; 2923 uint32_t deviceID; 2924 uint8_t pipelineCacheUUID[VK_UUID_SIZE]; 2925 } VkPipelineCacheHeaderVersionOne; 2926 2927 typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)( 2928 void* pUserData, 2929 size_t size, 2930 size_t alignment, 2931 VkSystemAllocationScope allocationScope); 2932 2933 typedef void (VKAPI_PTR *PFN_vkFreeFunction)( 2934 void* pUserData, 2935 void* pMemory); 2936 2937 typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)( 2938 void* pUserData, 2939 size_t size, 2940 VkInternalAllocationType allocationType, 2941 VkSystemAllocationScope allocationScope); 2942 2943 typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)( 2944 void* pUserData, 2945 size_t size, 2946 VkInternalAllocationType allocationType, 2947 VkSystemAllocationScope allocationScope); 2948 2949 typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)( 2950 void* pUserData, 2951 void* pOriginal, 2952 size_t size, 2953 size_t alignment, 2954 VkSystemAllocationScope allocationScope); 2955 2956 typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void); 2957 typedef struct VkAllocationCallbacks { 2958 void* pUserData; 2959 PFN_vkAllocationFunction pfnAllocation; 2960 PFN_vkReallocationFunction pfnReallocation; 2961 PFN_vkFreeFunction pfnFree; 2962 PFN_vkInternalAllocationNotification pfnInternalAllocation; 2963 PFN_vkInternalFreeNotification pfnInternalFree; 2964 } VkAllocationCallbacks; 2965 2966 typedef struct VkApplicationInfo { 2967 VkStructureType sType; 2968 const void* pNext; 2969 const char* pApplicationName; 2970 uint32_t applicationVersion; 2971 const char* pEngineName; 2972 uint32_t engineVersion; 2973 uint32_t apiVersion; 2974 } VkApplicationInfo; 2975 2976 typedef struct VkFormatProperties { 2977 VkFormatFeatureFlags linearTilingFeatures; 2978 VkFormatFeatureFlags optimalTilingFeatures; 2979 VkFormatFeatureFlags bufferFeatures; 2980 } VkFormatProperties; 2981 2982 typedef struct VkImageFormatProperties { 2983 VkExtent3D maxExtent; 2984 uint32_t maxMipLevels; 2985 uint32_t maxArrayLayers; 2986 VkSampleCountFlags sampleCounts; 2987 VkDeviceSize maxResourceSize; 2988 } VkImageFormatProperties; 2989 2990 typedef struct VkInstanceCreateInfo { 2991 VkStructureType sType; 2992 const void* pNext; 2993 VkInstanceCreateFlags flags; 2994 const VkApplicationInfo* pApplicationInfo; 2995 uint32_t enabledLayerCount; 2996 const char* const* ppEnabledLayerNames; 2997 uint32_t enabledExtensionCount; 2998 const char* const* ppEnabledExtensionNames; 2999 } VkInstanceCreateInfo; 3000 3001 typedef struct VkMemoryHeap { 3002 VkDeviceSize size; 3003 VkMemoryHeapFlags flags; 3004 } VkMemoryHeap; 3005 3006 typedef struct VkMemoryType { 3007 VkMemoryPropertyFlags propertyFlags; 3008 uint32_t heapIndex; 3009 } VkMemoryType; 3010 3011 typedef struct VkPhysicalDeviceFeatures { 3012 VkBool32 robustBufferAccess; 3013 VkBool32 fullDrawIndexUint32; 3014 VkBool32 imageCubeArray; 3015 VkBool32 independentBlend; 3016 VkBool32 geometryShader; 3017 VkBool32 tessellationShader; 3018 VkBool32 sampleRateShading; 3019 VkBool32 dualSrcBlend; 3020 VkBool32 logicOp; 3021 VkBool32 multiDrawIndirect; 3022 VkBool32 drawIndirectFirstInstance; 3023 VkBool32 depthClamp; 3024 VkBool32 depthBiasClamp; 3025 VkBool32 fillModeNonSolid; 3026 VkBool32 depthBounds; 3027 VkBool32 wideLines; 3028 VkBool32 largePoints; 3029 VkBool32 alphaToOne; 3030 VkBool32 multiViewport; 3031 VkBool32 samplerAnisotropy; 3032 VkBool32 textureCompressionETC2; 3033 VkBool32 textureCompressionASTC_LDR; 3034 VkBool32 textureCompressionBC; 3035 VkBool32 occlusionQueryPrecise; 3036 VkBool32 pipelineStatisticsQuery; 3037 VkBool32 vertexPipelineStoresAndAtomics; 3038 VkBool32 fragmentStoresAndAtomics; 3039 VkBool32 shaderTessellationAndGeometryPointSize; 3040 VkBool32 shaderImageGatherExtended; 3041 VkBool32 shaderStorageImageExtendedFormats; 3042 VkBool32 shaderStorageImageMultisample; 3043 VkBool32 shaderStorageImageReadWithoutFormat; 3044 VkBool32 shaderStorageImageWriteWithoutFormat; 3045 VkBool32 shaderUniformBufferArrayDynamicIndexing; 3046 VkBool32 shaderSampledImageArrayDynamicIndexing; 3047 VkBool32 shaderStorageBufferArrayDynamicIndexing; 3048 VkBool32 shaderStorageImageArrayDynamicIndexing; 3049 VkBool32 shaderClipDistance; 3050 VkBool32 shaderCullDistance; 3051 VkBool32 shaderFloat64; 3052 VkBool32 shaderInt64; 3053 VkBool32 shaderInt16; 3054 VkBool32 shaderResourceResidency; 3055 VkBool32 shaderResourceMinLod; 3056 VkBool32 sparseBinding; 3057 VkBool32 sparseResidencyBuffer; 3058 VkBool32 sparseResidencyImage2D; 3059 VkBool32 sparseResidencyImage3D; 3060 VkBool32 sparseResidency2Samples; 3061 VkBool32 sparseResidency4Samples; 3062 VkBool32 sparseResidency8Samples; 3063 VkBool32 sparseResidency16Samples; 3064 VkBool32 sparseResidencyAliased; 3065 VkBool32 variableMultisampleRate; 3066 VkBool32 inheritedQueries; 3067 } VkPhysicalDeviceFeatures; 3068 3069 typedef struct VkPhysicalDeviceLimits { 3070 uint32_t maxImageDimension1D; 3071 uint32_t maxImageDimension2D; 3072 uint32_t maxImageDimension3D; 3073 uint32_t maxImageDimensionCube; 3074 uint32_t maxImageArrayLayers; 3075 uint32_t maxTexelBufferElements; 3076 uint32_t maxUniformBufferRange; 3077 uint32_t maxStorageBufferRange; 3078 uint32_t maxPushConstantsSize; 3079 uint32_t maxMemoryAllocationCount; 3080 uint32_t maxSamplerAllocationCount; 3081 VkDeviceSize bufferImageGranularity; 3082 VkDeviceSize sparseAddressSpaceSize; 3083 uint32_t maxBoundDescriptorSets; 3084 uint32_t maxPerStageDescriptorSamplers; 3085 uint32_t maxPerStageDescriptorUniformBuffers; 3086 uint32_t maxPerStageDescriptorStorageBuffers; 3087 uint32_t maxPerStageDescriptorSampledImages; 3088 uint32_t maxPerStageDescriptorStorageImages; 3089 uint32_t maxPerStageDescriptorInputAttachments; 3090 uint32_t maxPerStageResources; 3091 uint32_t maxDescriptorSetSamplers; 3092 uint32_t maxDescriptorSetUniformBuffers; 3093 uint32_t maxDescriptorSetUniformBuffersDynamic; 3094 uint32_t maxDescriptorSetStorageBuffers; 3095 uint32_t maxDescriptorSetStorageBuffersDynamic; 3096 uint32_t maxDescriptorSetSampledImages; 3097 uint32_t maxDescriptorSetStorageImages; 3098 uint32_t maxDescriptorSetInputAttachments; 3099 uint32_t maxVertexInputAttributes; 3100 uint32_t maxVertexInputBindings; 3101 uint32_t maxVertexInputAttributeOffset; 3102 uint32_t maxVertexInputBindingStride; 3103 uint32_t maxVertexOutputComponents; 3104 uint32_t maxTessellationGenerationLevel; 3105 uint32_t maxTessellationPatchSize; 3106 uint32_t maxTessellationControlPerVertexInputComponents; 3107 uint32_t maxTessellationControlPerVertexOutputComponents; 3108 uint32_t maxTessellationControlPerPatchOutputComponents; 3109 uint32_t maxTessellationControlTotalOutputComponents; 3110 uint32_t maxTessellationEvaluationInputComponents; 3111 uint32_t maxTessellationEvaluationOutputComponents; 3112 uint32_t maxGeometryShaderInvocations; 3113 uint32_t maxGeometryInputComponents; 3114 uint32_t maxGeometryOutputComponents; 3115 uint32_t maxGeometryOutputVertices; 3116 uint32_t maxGeometryTotalOutputComponents; 3117 uint32_t maxFragmentInputComponents; 3118 uint32_t maxFragmentOutputAttachments; 3119 uint32_t maxFragmentDualSrcAttachments; 3120 uint32_t maxFragmentCombinedOutputResources; 3121 uint32_t maxComputeSharedMemorySize; 3122 uint32_t maxComputeWorkGroupCount[3]; 3123 uint32_t maxComputeWorkGroupInvocations; 3124 uint32_t maxComputeWorkGroupSize[3]; 3125 uint32_t subPixelPrecisionBits; 3126 uint32_t subTexelPrecisionBits; 3127 uint32_t mipmapPrecisionBits; 3128 uint32_t maxDrawIndexedIndexValue; 3129 uint32_t maxDrawIndirectCount; 3130 float maxSamplerLodBias; 3131 float maxSamplerAnisotropy; 3132 uint32_t maxViewports; 3133 uint32_t maxViewportDimensions[2]; 3134 float viewportBoundsRange[2]; 3135 uint32_t viewportSubPixelBits; 3136 size_t minMemoryMapAlignment; 3137 VkDeviceSize minTexelBufferOffsetAlignment; 3138 VkDeviceSize minUniformBufferOffsetAlignment; 3139 VkDeviceSize minStorageBufferOffsetAlignment; 3140 int32_t minTexelOffset; 3141 uint32_t maxTexelOffset; 3142 int32_t minTexelGatherOffset; 3143 uint32_t maxTexelGatherOffset; 3144 float minInterpolationOffset; 3145 float maxInterpolationOffset; 3146 uint32_t subPixelInterpolationOffsetBits; 3147 uint32_t maxFramebufferWidth; 3148 uint32_t maxFramebufferHeight; 3149 uint32_t maxFramebufferLayers; 3150 VkSampleCountFlags framebufferColorSampleCounts; 3151 VkSampleCountFlags framebufferDepthSampleCounts; 3152 VkSampleCountFlags framebufferStencilSampleCounts; 3153 VkSampleCountFlags framebufferNoAttachmentsSampleCounts; 3154 uint32_t maxColorAttachments; 3155 VkSampleCountFlags sampledImageColorSampleCounts; 3156 VkSampleCountFlags sampledImageIntegerSampleCounts; 3157 VkSampleCountFlags sampledImageDepthSampleCounts; 3158 VkSampleCountFlags sampledImageStencilSampleCounts; 3159 VkSampleCountFlags storageImageSampleCounts; 3160 uint32_t maxSampleMaskWords; 3161 VkBool32 timestampComputeAndGraphics; 3162 float timestampPeriod; 3163 uint32_t maxClipDistances; 3164 uint32_t maxCullDistances; 3165 uint32_t maxCombinedClipAndCullDistances; 3166 uint32_t discreteQueuePriorities; 3167 float pointSizeRange[2]; 3168 float lineWidthRange[2]; 3169 float pointSizeGranularity; 3170 float lineWidthGranularity; 3171 VkBool32 strictLines; 3172 VkBool32 standardSampleLocations; 3173 VkDeviceSize optimalBufferCopyOffsetAlignment; 3174 VkDeviceSize optimalBufferCopyRowPitchAlignment; 3175 VkDeviceSize nonCoherentAtomSize; 3176 } VkPhysicalDeviceLimits; 3177 3178 typedef struct VkPhysicalDeviceMemoryProperties { 3179 uint32_t memoryTypeCount; 3180 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES]; 3181 uint32_t memoryHeapCount; 3182 VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS]; 3183 } VkPhysicalDeviceMemoryProperties; 3184 3185 typedef struct VkPhysicalDeviceSparseProperties { 3186 VkBool32 residencyStandard2DBlockShape; 3187 VkBool32 residencyStandard2DMultisampleBlockShape; 3188 VkBool32 residencyStandard3DBlockShape; 3189 VkBool32 residencyAlignedMipSize; 3190 VkBool32 residencyNonResidentStrict; 3191 } VkPhysicalDeviceSparseProperties; 3192 3193 typedef struct VkPhysicalDeviceProperties { 3194 uint32_t apiVersion; 3195 uint32_t driverVersion; 3196 uint32_t vendorID; 3197 uint32_t deviceID; 3198 VkPhysicalDeviceType deviceType; 3199 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE]; 3200 uint8_t pipelineCacheUUID[VK_UUID_SIZE]; 3201 VkPhysicalDeviceLimits limits; 3202 VkPhysicalDeviceSparseProperties sparseProperties; 3203 } VkPhysicalDeviceProperties; 3204 3205 typedef struct VkQueueFamilyProperties { 3206 VkQueueFlags queueFlags; 3207 uint32_t queueCount; 3208 uint32_t timestampValidBits; 3209 VkExtent3D minImageTransferGranularity; 3210 } VkQueueFamilyProperties; 3211 3212 typedef struct VkDeviceQueueCreateInfo { 3213 VkStructureType sType; 3214 const void* pNext; 3215 VkDeviceQueueCreateFlags flags; 3216 uint32_t queueFamilyIndex; 3217 uint32_t queueCount; 3218 const float* pQueuePriorities; 3219 } VkDeviceQueueCreateInfo; 3220 3221 typedef struct VkDeviceCreateInfo { 3222 VkStructureType sType; 3223 const void* pNext; 3224 VkDeviceCreateFlags flags; 3225 uint32_t queueCreateInfoCount; 3226 const VkDeviceQueueCreateInfo* pQueueCreateInfos; 3227 uint32_t enabledLayerCount; 3228 const char* const* ppEnabledLayerNames; 3229 uint32_t enabledExtensionCount; 3230 const char* const* ppEnabledExtensionNames; 3231 const VkPhysicalDeviceFeatures* pEnabledFeatures; 3232 } VkDeviceCreateInfo; 3233 3234 typedef struct VkExtensionProperties { 3235 char extensionName[VK_MAX_EXTENSION_NAME_SIZE]; 3236 uint32_t specVersion; 3237 } VkExtensionProperties; 3238 3239 typedef struct VkLayerProperties { 3240 char layerName[VK_MAX_EXTENSION_NAME_SIZE]; 3241 uint32_t specVersion; 3242 uint32_t implementationVersion; 3243 char description[VK_MAX_DESCRIPTION_SIZE]; 3244 } VkLayerProperties; 3245 3246 typedef struct VkSubmitInfo { 3247 VkStructureType sType; 3248 const void* pNext; 3249 uint32_t waitSemaphoreCount; 3250 const VkSemaphore* pWaitSemaphores; 3251 const VkPipelineStageFlags* pWaitDstStageMask; 3252 uint32_t commandBufferCount; 3253 const VkCommandBuffer* pCommandBuffers; 3254 uint32_t signalSemaphoreCount; 3255 const VkSemaphore* pSignalSemaphores; 3256 } VkSubmitInfo; 3257 3258 typedef struct VkMappedMemoryRange { 3259 VkStructureType sType; 3260 const void* pNext; 3261 VkDeviceMemory memory; 3262 VkDeviceSize offset; 3263 VkDeviceSize size; 3264 } VkMappedMemoryRange; 3265 3266 typedef struct VkMemoryAllocateInfo { 3267 VkStructureType sType; 3268 const void* pNext; 3269 VkDeviceSize allocationSize; 3270 uint32_t memoryTypeIndex; 3271 } VkMemoryAllocateInfo; 3272 3273 typedef struct VkMemoryRequirements { 3274 VkDeviceSize size; 3275 VkDeviceSize alignment; 3276 uint32_t memoryTypeBits; 3277 } VkMemoryRequirements; 3278 3279 typedef struct VkSparseMemoryBind { 3280 VkDeviceSize resourceOffset; 3281 VkDeviceSize size; 3282 VkDeviceMemory memory; 3283 VkDeviceSize memoryOffset; 3284 VkSparseMemoryBindFlags flags; 3285 } VkSparseMemoryBind; 3286 3287 typedef struct VkSparseBufferMemoryBindInfo { 3288 VkBuffer buffer; 3289 uint32_t bindCount; 3290 const VkSparseMemoryBind* pBinds; 3291 } VkSparseBufferMemoryBindInfo; 3292 3293 typedef struct VkSparseImageOpaqueMemoryBindInfo { 3294 VkImage image; 3295 uint32_t bindCount; 3296 const VkSparseMemoryBind* pBinds; 3297 } VkSparseImageOpaqueMemoryBindInfo; 3298 3299 typedef struct VkImageSubresource { 3300 VkImageAspectFlags aspectMask; 3301 uint32_t mipLevel; 3302 uint32_t arrayLayer; 3303 } VkImageSubresource; 3304 3305 typedef struct VkSparseImageMemoryBind { 3306 VkImageSubresource subresource; 3307 VkOffset3D offset; 3308 VkExtent3D extent; 3309 VkDeviceMemory memory; 3310 VkDeviceSize memoryOffset; 3311 VkSparseMemoryBindFlags flags; 3312 } VkSparseImageMemoryBind; 3313 3314 typedef struct VkSparseImageMemoryBindInfo { 3315 VkImage image; 3316 uint32_t bindCount; 3317 const VkSparseImageMemoryBind* pBinds; 3318 } VkSparseImageMemoryBindInfo; 3319 3320 typedef struct VkBindSparseInfo { 3321 VkStructureType sType; 3322 const void* pNext; 3323 uint32_t waitSemaphoreCount; 3324 const VkSemaphore* pWaitSemaphores; 3325 uint32_t bufferBindCount; 3326 const VkSparseBufferMemoryBindInfo* pBufferBinds; 3327 uint32_t imageOpaqueBindCount; 3328 const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds; 3329 uint32_t imageBindCount; 3330 const VkSparseImageMemoryBindInfo* pImageBinds; 3331 uint32_t signalSemaphoreCount; 3332 const VkSemaphore* pSignalSemaphores; 3333 } VkBindSparseInfo; 3334 3335 typedef struct VkSparseImageFormatProperties { 3336 VkImageAspectFlags aspectMask; 3337 VkExtent3D imageGranularity; 3338 VkSparseImageFormatFlags flags; 3339 } VkSparseImageFormatProperties; 3340 3341 typedef struct VkSparseImageMemoryRequirements { 3342 VkSparseImageFormatProperties formatProperties; 3343 uint32_t imageMipTailFirstLod; 3344 VkDeviceSize imageMipTailSize; 3345 VkDeviceSize imageMipTailOffset; 3346 VkDeviceSize imageMipTailStride; 3347 } VkSparseImageMemoryRequirements; 3348 3349 typedef struct VkFenceCreateInfo { 3350 VkStructureType sType; 3351 const void* pNext; 3352 VkFenceCreateFlags flags; 3353 } VkFenceCreateInfo; 3354 3355 typedef struct VkSemaphoreCreateInfo { 3356 VkStructureType sType; 3357 const void* pNext; 3358 VkSemaphoreCreateFlags flags; 3359 } VkSemaphoreCreateInfo; 3360 3361 typedef struct VkEventCreateInfo { 3362 VkStructureType sType; 3363 const void* pNext; 3364 VkEventCreateFlags flags; 3365 } VkEventCreateInfo; 3366 3367 typedef struct VkQueryPoolCreateInfo { 3368 VkStructureType sType; 3369 const void* pNext; 3370 VkQueryPoolCreateFlags flags; 3371 VkQueryType queryType; 3372 uint32_t queryCount; 3373 VkQueryPipelineStatisticFlags pipelineStatistics; 3374 } VkQueryPoolCreateInfo; 3375 3376 typedef struct VkBufferCreateInfo { 3377 VkStructureType sType; 3378 const void* pNext; 3379 VkBufferCreateFlags flags; 3380 VkDeviceSize size; 3381 VkBufferUsageFlags usage; 3382 VkSharingMode sharingMode; 3383 uint32_t queueFamilyIndexCount; 3384 const uint32_t* pQueueFamilyIndices; 3385 } VkBufferCreateInfo; 3386 3387 typedef struct VkBufferViewCreateInfo { 3388 VkStructureType sType; 3389 const void* pNext; 3390 VkBufferViewCreateFlags flags; 3391 VkBuffer buffer; 3392 VkFormat format; 3393 VkDeviceSize offset; 3394 VkDeviceSize range; 3395 } VkBufferViewCreateInfo; 3396 3397 typedef struct VkImageCreateInfo { 3398 VkStructureType sType; 3399 const void* pNext; 3400 VkImageCreateFlags flags; 3401 VkImageType imageType; 3402 VkFormat format; 3403 VkExtent3D extent; 3404 uint32_t mipLevels; 3405 uint32_t arrayLayers; 3406 VkSampleCountFlagBits samples; 3407 VkImageTiling tiling; 3408 VkImageUsageFlags usage; 3409 VkSharingMode sharingMode; 3410 uint32_t queueFamilyIndexCount; 3411 const uint32_t* pQueueFamilyIndices; 3412 VkImageLayout initialLayout; 3413 } VkImageCreateInfo; 3414 3415 typedef struct VkSubresourceLayout { 3416 VkDeviceSize offset; 3417 VkDeviceSize size; 3418 VkDeviceSize rowPitch; 3419 VkDeviceSize arrayPitch; 3420 VkDeviceSize depthPitch; 3421 } VkSubresourceLayout; 3422 3423 typedef struct VkComponentMapping { 3424 VkComponentSwizzle r; 3425 VkComponentSwizzle g; 3426 VkComponentSwizzle b; 3427 VkComponentSwizzle a; 3428 } VkComponentMapping; 3429 3430 typedef struct VkImageViewCreateInfo { 3431 VkStructureType sType; 3432 const void* pNext; 3433 VkImageViewCreateFlags flags; 3434 VkImage image; 3435 VkImageViewType viewType; 3436 VkFormat format; 3437 VkComponentMapping components; 3438 VkImageSubresourceRange subresourceRange; 3439 } VkImageViewCreateInfo; 3440 3441 typedef struct VkShaderModuleCreateInfo { 3442 VkStructureType sType; 3443 const void* pNext; 3444 VkShaderModuleCreateFlags flags; 3445 size_t codeSize; 3446 const uint32_t* pCode; 3447 } VkShaderModuleCreateInfo; 3448 3449 typedef struct VkPipelineCacheCreateInfo { 3450 VkStructureType sType; 3451 const void* pNext; 3452 VkPipelineCacheCreateFlags flags; 3453 size_t initialDataSize; 3454 const void* pInitialData; 3455 } VkPipelineCacheCreateInfo; 3456 3457 typedef struct VkSpecializationMapEntry { 3458 uint32_t constantID; 3459 uint32_t offset; 3460 size_t size; 3461 } VkSpecializationMapEntry; 3462 3463 typedef struct VkSpecializationInfo { 3464 uint32_t mapEntryCount; 3465 const VkSpecializationMapEntry* pMapEntries; 3466 size_t dataSize; 3467 const void* pData; 3468 } VkSpecializationInfo; 3469 3470 typedef struct VkPipelineShaderStageCreateInfo { 3471 VkStructureType sType; 3472 const void* pNext; 3473 VkPipelineShaderStageCreateFlags flags; 3474 VkShaderStageFlagBits stage; 3475 VkShaderModule module; 3476 const char* pName; 3477 const VkSpecializationInfo* pSpecializationInfo; 3478 } VkPipelineShaderStageCreateInfo; 3479 3480 typedef struct VkComputePipelineCreateInfo { 3481 VkStructureType sType; 3482 const void* pNext; 3483 VkPipelineCreateFlags flags; 3484 VkPipelineShaderStageCreateInfo stage; 3485 VkPipelineLayout layout; 3486 VkPipeline basePipelineHandle; 3487 int32_t basePipelineIndex; 3488 } VkComputePipelineCreateInfo; 3489 3490 typedef struct VkVertexInputBindingDescription { 3491 uint32_t binding; 3492 uint32_t stride; 3493 VkVertexInputRate inputRate; 3494 } VkVertexInputBindingDescription; 3495 3496 typedef struct VkVertexInputAttributeDescription { 3497 uint32_t location; 3498 uint32_t binding; 3499 VkFormat format; 3500 uint32_t offset; 3501 } VkVertexInputAttributeDescription; 3502 3503 typedef struct VkPipelineVertexInputStateCreateInfo { 3504 VkStructureType sType; 3505 const void* pNext; 3506 VkPipelineVertexInputStateCreateFlags flags; 3507 uint32_t vertexBindingDescriptionCount; 3508 const VkVertexInputBindingDescription* pVertexBindingDescriptions; 3509 uint32_t vertexAttributeDescriptionCount; 3510 const VkVertexInputAttributeDescription* pVertexAttributeDescriptions; 3511 } VkPipelineVertexInputStateCreateInfo; 3512 3513 typedef struct VkPipelineInputAssemblyStateCreateInfo { 3514 VkStructureType sType; 3515 const void* pNext; 3516 VkPipelineInputAssemblyStateCreateFlags flags; 3517 VkPrimitiveTopology topology; 3518 VkBool32 primitiveRestartEnable; 3519 } VkPipelineInputAssemblyStateCreateInfo; 3520 3521 typedef struct VkPipelineTessellationStateCreateInfo { 3522 VkStructureType sType; 3523 const void* pNext; 3524 VkPipelineTessellationStateCreateFlags flags; 3525 uint32_t patchControlPoints; 3526 } VkPipelineTessellationStateCreateInfo; 3527 3528 typedef struct VkViewport { 3529 float x; 3530 float y; 3531 float width; 3532 float height; 3533 float minDepth; 3534 float maxDepth; 3535 } VkViewport; 3536 3537 typedef struct VkPipelineViewportStateCreateInfo { 3538 VkStructureType sType; 3539 const void* pNext; 3540 VkPipelineViewportStateCreateFlags flags; 3541 uint32_t viewportCount; 3542 const VkViewport* pViewports; 3543 uint32_t scissorCount; 3544 const VkRect2D* pScissors; 3545 } VkPipelineViewportStateCreateInfo; 3546 3547 typedef struct VkPipelineRasterizationStateCreateInfo { 3548 VkStructureType sType; 3549 const void* pNext; 3550 VkPipelineRasterizationStateCreateFlags flags; 3551 VkBool32 depthClampEnable; 3552 VkBool32 rasterizerDiscardEnable; 3553 VkPolygonMode polygonMode; 3554 VkCullModeFlags cullMode; 3555 VkFrontFace frontFace; 3556 VkBool32 depthBiasEnable; 3557 float depthBiasConstantFactor; 3558 float depthBiasClamp; 3559 float depthBiasSlopeFactor; 3560 float lineWidth; 3561 } VkPipelineRasterizationStateCreateInfo; 3562 3563 typedef struct VkPipelineMultisampleStateCreateInfo { 3564 VkStructureType sType; 3565 const void* pNext; 3566 VkPipelineMultisampleStateCreateFlags flags; 3567 VkSampleCountFlagBits rasterizationSamples; 3568 VkBool32 sampleShadingEnable; 3569 float minSampleShading; 3570 const VkSampleMask* pSampleMask; 3571 VkBool32 alphaToCoverageEnable; 3572 VkBool32 alphaToOneEnable; 3573 } VkPipelineMultisampleStateCreateInfo; 3574 3575 typedef struct VkStencilOpState { 3576 VkStencilOp failOp; 3577 VkStencilOp passOp; 3578 VkStencilOp depthFailOp; 3579 VkCompareOp compareOp; 3580 uint32_t compareMask; 3581 uint32_t writeMask; 3582 uint32_t reference; 3583 } VkStencilOpState; 3584 3585 typedef struct VkPipelineDepthStencilStateCreateInfo { 3586 VkStructureType sType; 3587 const void* pNext; 3588 VkPipelineDepthStencilStateCreateFlags flags; 3589 VkBool32 depthTestEnable; 3590 VkBool32 depthWriteEnable; 3591 VkCompareOp depthCompareOp; 3592 VkBool32 depthBoundsTestEnable; 3593 VkBool32 stencilTestEnable; 3594 VkStencilOpState front; 3595 VkStencilOpState back; 3596 float minDepthBounds; 3597 float maxDepthBounds; 3598 } VkPipelineDepthStencilStateCreateInfo; 3599 3600 typedef struct VkPipelineColorBlendAttachmentState { 3601 VkBool32 blendEnable; 3602 VkBlendFactor srcColorBlendFactor; 3603 VkBlendFactor dstColorBlendFactor; 3604 VkBlendOp colorBlendOp; 3605 VkBlendFactor srcAlphaBlendFactor; 3606 VkBlendFactor dstAlphaBlendFactor; 3607 VkBlendOp alphaBlendOp; 3608 VkColorComponentFlags colorWriteMask; 3609 } VkPipelineColorBlendAttachmentState; 3610 3611 typedef struct VkPipelineColorBlendStateCreateInfo { 3612 VkStructureType sType; 3613 const void* pNext; 3614 VkPipelineColorBlendStateCreateFlags flags; 3615 VkBool32 logicOpEnable; 3616 VkLogicOp logicOp; 3617 uint32_t attachmentCount; 3618 const VkPipelineColorBlendAttachmentState* pAttachments; 3619 float blendConstants[4]; 3620 } VkPipelineColorBlendStateCreateInfo; 3621 3622 typedef struct VkPipelineDynamicStateCreateInfo { 3623 VkStructureType sType; 3624 const void* pNext; 3625 VkPipelineDynamicStateCreateFlags flags; 3626 uint32_t dynamicStateCount; 3627 const VkDynamicState* pDynamicStates; 3628 } VkPipelineDynamicStateCreateInfo; 3629 3630 typedef struct VkGraphicsPipelineCreateInfo { 3631 VkStructureType sType; 3632 const void* pNext; 3633 VkPipelineCreateFlags flags; 3634 uint32_t stageCount; 3635 const VkPipelineShaderStageCreateInfo* pStages; 3636 const VkPipelineVertexInputStateCreateInfo* pVertexInputState; 3637 const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState; 3638 const VkPipelineTessellationStateCreateInfo* pTessellationState; 3639 const VkPipelineViewportStateCreateInfo* pViewportState; 3640 const VkPipelineRasterizationStateCreateInfo* pRasterizationState; 3641 const VkPipelineMultisampleStateCreateInfo* pMultisampleState; 3642 const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState; 3643 const VkPipelineColorBlendStateCreateInfo* pColorBlendState; 3644 const VkPipelineDynamicStateCreateInfo* pDynamicState; 3645 VkPipelineLayout layout; 3646 VkRenderPass renderPass; 3647 uint32_t subpass; 3648 VkPipeline basePipelineHandle; 3649 int32_t basePipelineIndex; 3650 } VkGraphicsPipelineCreateInfo; 3651 3652 typedef struct VkPushConstantRange { 3653 VkShaderStageFlags stageFlags; 3654 uint32_t offset; 3655 uint32_t size; 3656 } VkPushConstantRange; 3657 3658 typedef struct VkPipelineLayoutCreateInfo { 3659 VkStructureType sType; 3660 const void* pNext; 3661 VkPipelineLayoutCreateFlags flags; 3662 uint32_t setLayoutCount; 3663 const VkDescriptorSetLayout* pSetLayouts; 3664 uint32_t pushConstantRangeCount; 3665 const VkPushConstantRange* pPushConstantRanges; 3666 } VkPipelineLayoutCreateInfo; 3667 3668 typedef struct VkSamplerCreateInfo { 3669 VkStructureType sType; 3670 const void* pNext; 3671 VkSamplerCreateFlags flags; 3672 VkFilter magFilter; 3673 VkFilter minFilter; 3674 VkSamplerMipmapMode mipmapMode; 3675 VkSamplerAddressMode addressModeU; 3676 VkSamplerAddressMode addressModeV; 3677 VkSamplerAddressMode addressModeW; 3678 float mipLodBias; 3679 VkBool32 anisotropyEnable; 3680 float maxAnisotropy; 3681 VkBool32 compareEnable; 3682 VkCompareOp compareOp; 3683 float minLod; 3684 float maxLod; 3685 VkBorderColor borderColor; 3686 VkBool32 unnormalizedCoordinates; 3687 } VkSamplerCreateInfo; 3688 3689 typedef struct VkCopyDescriptorSet { 3690 VkStructureType sType; 3691 const void* pNext; 3692 VkDescriptorSet srcSet; 3693 uint32_t srcBinding; 3694 uint32_t srcArrayElement; 3695 VkDescriptorSet dstSet; 3696 uint32_t dstBinding; 3697 uint32_t dstArrayElement; 3698 uint32_t descriptorCount; 3699 } VkCopyDescriptorSet; 3700 3701 typedef struct VkDescriptorBufferInfo { 3702 VkBuffer buffer; 3703 VkDeviceSize offset; 3704 VkDeviceSize range; 3705 } VkDescriptorBufferInfo; 3706 3707 typedef struct VkDescriptorImageInfo { 3708 VkSampler sampler; 3709 VkImageView imageView; 3710 VkImageLayout imageLayout; 3711 } VkDescriptorImageInfo; 3712 3713 typedef struct VkDescriptorPoolSize { 3714 VkDescriptorType type; 3715 uint32_t descriptorCount; 3716 } VkDescriptorPoolSize; 3717 3718 typedef struct VkDescriptorPoolCreateInfo { 3719 VkStructureType sType; 3720 const void* pNext; 3721 VkDescriptorPoolCreateFlags flags; 3722 uint32_t maxSets; 3723 uint32_t poolSizeCount; 3724 const VkDescriptorPoolSize* pPoolSizes; 3725 } VkDescriptorPoolCreateInfo; 3726 3727 typedef struct VkDescriptorSetAllocateInfo { 3728 VkStructureType sType; 3729 const void* pNext; 3730 VkDescriptorPool descriptorPool; 3731 uint32_t descriptorSetCount; 3732 const VkDescriptorSetLayout* pSetLayouts; 3733 } VkDescriptorSetAllocateInfo; 3734 3735 typedef struct VkDescriptorSetLayoutBinding { 3736 uint32_t binding; 3737 VkDescriptorType descriptorType; 3738 uint32_t descriptorCount; 3739 VkShaderStageFlags stageFlags; 3740 const VkSampler* pImmutableSamplers; 3741 } VkDescriptorSetLayoutBinding; 3742 3743 typedef struct VkDescriptorSetLayoutCreateInfo { 3744 VkStructureType sType; 3745 const void* pNext; 3746 VkDescriptorSetLayoutCreateFlags flags; 3747 uint32_t bindingCount; 3748 const VkDescriptorSetLayoutBinding* pBindings; 3749 } VkDescriptorSetLayoutCreateInfo; 3750 3751 typedef struct VkWriteDescriptorSet { 3752 VkStructureType sType; 3753 const void* pNext; 3754 VkDescriptorSet dstSet; 3755 uint32_t dstBinding; 3756 uint32_t dstArrayElement; 3757 uint32_t descriptorCount; 3758 VkDescriptorType descriptorType; 3759 const VkDescriptorImageInfo* pImageInfo; 3760 const VkDescriptorBufferInfo* pBufferInfo; 3761 const VkBufferView* pTexelBufferView; 3762 } VkWriteDescriptorSet; 3763 3764 typedef struct VkAttachmentDescription { 3765 VkAttachmentDescriptionFlags flags; 3766 VkFormat format; 3767 VkSampleCountFlagBits samples; 3768 VkAttachmentLoadOp loadOp; 3769 VkAttachmentStoreOp storeOp; 3770 VkAttachmentLoadOp stencilLoadOp; 3771 VkAttachmentStoreOp stencilStoreOp; 3772 VkImageLayout initialLayout; 3773 VkImageLayout finalLayout; 3774 } VkAttachmentDescription; 3775 3776 typedef struct VkAttachmentReference { 3777 uint32_t attachment; 3778 VkImageLayout layout; 3779 } VkAttachmentReference; 3780 3781 typedef struct VkFramebufferCreateInfo { 3782 VkStructureType sType; 3783 const void* pNext; 3784 VkFramebufferCreateFlags flags; 3785 VkRenderPass renderPass; 3786 uint32_t attachmentCount; 3787 const VkImageView* pAttachments; 3788 uint32_t width; 3789 uint32_t height; 3790 uint32_t layers; 3791 } VkFramebufferCreateInfo; 3792 3793 typedef struct VkSubpassDescription { 3794 VkSubpassDescriptionFlags flags; 3795 VkPipelineBindPoint pipelineBindPoint; 3796 uint32_t inputAttachmentCount; 3797 const VkAttachmentReference* pInputAttachments; 3798 uint32_t colorAttachmentCount; 3799 const VkAttachmentReference* pColorAttachments; 3800 const VkAttachmentReference* pResolveAttachments; 3801 const VkAttachmentReference* pDepthStencilAttachment; 3802 uint32_t preserveAttachmentCount; 3803 const uint32_t* pPreserveAttachments; 3804 } VkSubpassDescription; 3805 3806 typedef struct VkSubpassDependency { 3807 uint32_t srcSubpass; 3808 uint32_t dstSubpass; 3809 VkPipelineStageFlags srcStageMask; 3810 VkPipelineStageFlags dstStageMask; 3811 VkAccessFlags srcAccessMask; 3812 VkAccessFlags dstAccessMask; 3813 VkDependencyFlags dependencyFlags; 3814 } VkSubpassDependency; 3815 3816 typedef struct VkRenderPassCreateInfo { 3817 VkStructureType sType; 3818 const void* pNext; 3819 VkRenderPassCreateFlags flags; 3820 uint32_t attachmentCount; 3821 const VkAttachmentDescription* pAttachments; 3822 uint32_t subpassCount; 3823 const VkSubpassDescription* pSubpasses; 3824 uint32_t dependencyCount; 3825 const VkSubpassDependency* pDependencies; 3826 } VkRenderPassCreateInfo; 3827 3828 typedef struct VkCommandPoolCreateInfo { 3829 VkStructureType sType; 3830 const void* pNext; 3831 VkCommandPoolCreateFlags flags; 3832 uint32_t queueFamilyIndex; 3833 } VkCommandPoolCreateInfo; 3834 3835 typedef struct VkCommandBufferAllocateInfo { 3836 VkStructureType sType; 3837 const void* pNext; 3838 VkCommandPool commandPool; 3839 VkCommandBufferLevel level; 3840 uint32_t commandBufferCount; 3841 } VkCommandBufferAllocateInfo; 3842 3843 typedef struct VkCommandBufferInheritanceInfo { 3844 VkStructureType sType; 3845 const void* pNext; 3846 VkRenderPass renderPass; 3847 uint32_t subpass; 3848 VkFramebuffer framebuffer; 3849 VkBool32 occlusionQueryEnable; 3850 VkQueryControlFlags queryFlags; 3851 VkQueryPipelineStatisticFlags pipelineStatistics; 3852 } VkCommandBufferInheritanceInfo; 3853 3854 typedef struct VkCommandBufferBeginInfo { 3855 VkStructureType sType; 3856 const void* pNext; 3857 VkCommandBufferUsageFlags flags; 3858 const VkCommandBufferInheritanceInfo* pInheritanceInfo; 3859 } VkCommandBufferBeginInfo; 3860 3861 typedef struct VkBufferCopy { 3862 VkDeviceSize srcOffset; 3863 VkDeviceSize dstOffset; 3864 VkDeviceSize size; 3865 } VkBufferCopy; 3866 3867 typedef struct VkImageSubresourceLayers { 3868 VkImageAspectFlags aspectMask; 3869 uint32_t mipLevel; 3870 uint32_t baseArrayLayer; 3871 uint32_t layerCount; 3872 } VkImageSubresourceLayers; 3873 3874 typedef struct VkBufferImageCopy { 3875 VkDeviceSize bufferOffset; 3876 uint32_t bufferRowLength; 3877 uint32_t bufferImageHeight; 3878 VkImageSubresourceLayers imageSubresource; 3879 VkOffset3D imageOffset; 3880 VkExtent3D imageExtent; 3881 } VkBufferImageCopy; 3882 3883 typedef union VkClearColorValue { 3884 float float32[4]; 3885 int32_t int32[4]; 3886 uint32_t uint32[4]; 3887 } VkClearColorValue; 3888 3889 typedef struct VkClearDepthStencilValue { 3890 float depth; 3891 uint32_t stencil; 3892 } VkClearDepthStencilValue; 3893 3894 typedef union VkClearValue { 3895 VkClearColorValue color; 3896 VkClearDepthStencilValue depthStencil; 3897 } VkClearValue; 3898 3899 typedef struct VkClearAttachment { 3900 VkImageAspectFlags aspectMask; 3901 uint32_t colorAttachment; 3902 VkClearValue clearValue; 3903 } VkClearAttachment; 3904 3905 typedef struct VkClearRect { 3906 VkRect2D rect; 3907 uint32_t baseArrayLayer; 3908 uint32_t layerCount; 3909 } VkClearRect; 3910 3911 typedef struct VkImageBlit { 3912 VkImageSubresourceLayers srcSubresource; 3913 VkOffset3D srcOffsets[2]; 3914 VkImageSubresourceLayers dstSubresource; 3915 VkOffset3D dstOffsets[2]; 3916 } VkImageBlit; 3917 3918 typedef struct VkImageCopy { 3919 VkImageSubresourceLayers srcSubresource; 3920 VkOffset3D srcOffset; 3921 VkImageSubresourceLayers dstSubresource; 3922 VkOffset3D dstOffset; 3923 VkExtent3D extent; 3924 } VkImageCopy; 3925 3926 typedef struct VkImageResolve { 3927 VkImageSubresourceLayers srcSubresource; 3928 VkOffset3D srcOffset; 3929 VkImageSubresourceLayers dstSubresource; 3930 VkOffset3D dstOffset; 3931 VkExtent3D extent; 3932 } VkImageResolve; 3933 3934 typedef struct VkRenderPassBeginInfo { 3935 VkStructureType sType; 3936 const void* pNext; 3937 VkRenderPass renderPass; 3938 VkFramebuffer framebuffer; 3939 VkRect2D renderArea; 3940 uint32_t clearValueCount; 3941 const VkClearValue* pClearValues; 3942 } VkRenderPassBeginInfo; 3943 3944 typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance); 3945 typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator); 3946 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices); 3947 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures); 3948 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties); 3949 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties); 3950 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties); 3951 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties); 3952 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties); 3953 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName); 3954 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName); 3955 typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice); 3956 typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator); 3957 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties); 3958 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties); 3959 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(uint32_t* pPropertyCount, VkLayerProperties* pProperties); 3960 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties); 3961 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue); 3962 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence); 3963 typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue); 3964 typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device); 3965 typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory); 3966 typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator); 3967 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData); 3968 typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory); 3969 typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges); 3970 typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges); 3971 typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes); 3972 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset); 3973 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset); 3974 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements); 3975 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements); 3976 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements); 3977 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties); 3978 typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence); 3979 typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); 3980 typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator); 3981 typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences); 3982 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence); 3983 typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout); 3984 typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore); 3985 typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator); 3986 typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent); 3987 typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator); 3988 typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event); 3989 typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event); 3990 typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event); 3991 typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool); 3992 typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator); 3993 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); 3994 typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer); 3995 typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator); 3996 typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView); 3997 typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator); 3998 typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage); 3999 typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator); 4000 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout); 4001 typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView); 4002 typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator); 4003 typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule); 4004 typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator); 4005 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache); 4006 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator); 4007 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData); 4008 typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches); 4009 typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 4010 typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 4011 typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator); 4012 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout); 4013 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator); 4014 typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler); 4015 typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator); 4016 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout); 4017 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator); 4018 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool); 4019 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator); 4020 typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags); 4021 typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets); 4022 typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets); 4023 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies); 4024 typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer); 4025 typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator); 4026 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); 4027 typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator); 4028 typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity); 4029 typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool); 4030 typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator); 4031 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags); 4032 typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers); 4033 typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers); 4034 typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo); 4035 typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer); 4036 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags); 4037 typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline); 4038 typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports); 4039 typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors); 4040 typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth); 4041 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor); 4042 typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]); 4043 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds); 4044 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask); 4045 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask); 4046 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference); 4047 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); 4048 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType); 4049 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets); 4050 typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance); 4051 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance); 4052 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); 4053 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); 4054 typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ); 4055 typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset); 4056 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions); 4057 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions); 4058 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter); 4059 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions); 4060 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions); 4061 typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData); 4062 typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data); 4063 typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); 4064 typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); 4065 typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects); 4066 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions); 4067 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask); 4068 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask); 4069 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); 4070 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); 4071 typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags); 4072 typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query); 4073 typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount); 4074 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query); 4075 typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags); 4076 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues); 4077 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents); 4078 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents); 4079 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer); 4080 typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers); 4081 4082 #ifndef VK_NO_PROTOTYPES 4083 VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance( 4084 const VkInstanceCreateInfo* pCreateInfo, 4085 const VkAllocationCallbacks* pAllocator, 4086 VkInstance* pInstance); 4087 4088 VKAPI_ATTR void VKAPI_CALL vkDestroyInstance( 4089 VkInstance instance, 4090 const VkAllocationCallbacks* pAllocator); 4091 4092 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices( 4093 VkInstance instance, 4094 uint32_t* pPhysicalDeviceCount, 4095 VkPhysicalDevice* pPhysicalDevices); 4096 4097 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures( 4098 VkPhysicalDevice physicalDevice, 4099 VkPhysicalDeviceFeatures* pFeatures); 4100 4101 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties( 4102 VkPhysicalDevice physicalDevice, 4103 VkFormat format, 4104 VkFormatProperties* pFormatProperties); 4105 4106 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties( 4107 VkPhysicalDevice physicalDevice, 4108 VkFormat format, 4109 VkImageType type, 4110 VkImageTiling tiling, 4111 VkImageUsageFlags usage, 4112 VkImageCreateFlags flags, 4113 VkImageFormatProperties* pImageFormatProperties); 4114 4115 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties( 4116 VkPhysicalDevice physicalDevice, 4117 VkPhysicalDeviceProperties* pProperties); 4118 4119 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties( 4120 VkPhysicalDevice physicalDevice, 4121 uint32_t* pQueueFamilyPropertyCount, 4122 VkQueueFamilyProperties* pQueueFamilyProperties); 4123 4124 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties( 4125 VkPhysicalDevice physicalDevice, 4126 VkPhysicalDeviceMemoryProperties* pMemoryProperties); 4127 4128 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr( 4129 VkInstance instance, 4130 const char* pName); 4131 4132 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr( 4133 VkDevice device, 4134 const char* pName); 4135 4136 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice( 4137 VkPhysicalDevice physicalDevice, 4138 const VkDeviceCreateInfo* pCreateInfo, 4139 const VkAllocationCallbacks* pAllocator, 4140 VkDevice* pDevice); 4141 4142 VKAPI_ATTR void VKAPI_CALL vkDestroyDevice( 4143 VkDevice device, 4144 const VkAllocationCallbacks* pAllocator); 4145 4146 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties( 4147 const char* pLayerName, 4148 uint32_t* pPropertyCount, 4149 VkExtensionProperties* pProperties); 4150 4151 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties( 4152 VkPhysicalDevice physicalDevice, 4153 const char* pLayerName, 4154 uint32_t* pPropertyCount, 4155 VkExtensionProperties* pProperties); 4156 4157 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties( 4158 uint32_t* pPropertyCount, 4159 VkLayerProperties* pProperties); 4160 4161 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties( 4162 VkPhysicalDevice physicalDevice, 4163 uint32_t* pPropertyCount, 4164 VkLayerProperties* pProperties); 4165 4166 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue( 4167 VkDevice device, 4168 uint32_t queueFamilyIndex, 4169 uint32_t queueIndex, 4170 VkQueue* pQueue); 4171 4172 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit( 4173 VkQueue queue, 4174 uint32_t submitCount, 4175 const VkSubmitInfo* pSubmits, 4176 VkFence fence); 4177 4178 VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle( 4179 VkQueue queue); 4180 4181 VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle( 4182 VkDevice device); 4183 4184 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory( 4185 VkDevice device, 4186 const VkMemoryAllocateInfo* pAllocateInfo, 4187 const VkAllocationCallbacks* pAllocator, 4188 VkDeviceMemory* pMemory); 4189 4190 VKAPI_ATTR void VKAPI_CALL vkFreeMemory( 4191 VkDevice device, 4192 VkDeviceMemory memory, 4193 const VkAllocationCallbacks* pAllocator); 4194 4195 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory( 4196 VkDevice device, 4197 VkDeviceMemory memory, 4198 VkDeviceSize offset, 4199 VkDeviceSize size, 4200 VkMemoryMapFlags flags, 4201 void** ppData); 4202 4203 VKAPI_ATTR void VKAPI_CALL vkUnmapMemory( 4204 VkDevice device, 4205 VkDeviceMemory memory); 4206 4207 VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges( 4208 VkDevice device, 4209 uint32_t memoryRangeCount, 4210 const VkMappedMemoryRange* pMemoryRanges); 4211 4212 VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges( 4213 VkDevice device, 4214 uint32_t memoryRangeCount, 4215 const VkMappedMemoryRange* pMemoryRanges); 4216 4217 VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment( 4218 VkDevice device, 4219 VkDeviceMemory memory, 4220 VkDeviceSize* pCommittedMemoryInBytes); 4221 4222 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory( 4223 VkDevice device, 4224 VkBuffer buffer, 4225 VkDeviceMemory memory, 4226 VkDeviceSize memoryOffset); 4227 4228 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory( 4229 VkDevice device, 4230 VkImage image, 4231 VkDeviceMemory memory, 4232 VkDeviceSize memoryOffset); 4233 4234 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements( 4235 VkDevice device, 4236 VkBuffer buffer, 4237 VkMemoryRequirements* pMemoryRequirements); 4238 4239 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements( 4240 VkDevice device, 4241 VkImage image, 4242 VkMemoryRequirements* pMemoryRequirements); 4243 4244 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements( 4245 VkDevice device, 4246 VkImage image, 4247 uint32_t* pSparseMemoryRequirementCount, 4248 VkSparseImageMemoryRequirements* pSparseMemoryRequirements); 4249 4250 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties( 4251 VkPhysicalDevice physicalDevice, 4252 VkFormat format, 4253 VkImageType type, 4254 VkSampleCountFlagBits samples, 4255 VkImageUsageFlags usage, 4256 VkImageTiling tiling, 4257 uint32_t* pPropertyCount, 4258 VkSparseImageFormatProperties* pProperties); 4259 4260 VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse( 4261 VkQueue queue, 4262 uint32_t bindInfoCount, 4263 const VkBindSparseInfo* pBindInfo, 4264 VkFence fence); 4265 4266 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence( 4267 VkDevice device, 4268 const VkFenceCreateInfo* pCreateInfo, 4269 const VkAllocationCallbacks* pAllocator, 4270 VkFence* pFence); 4271 4272 VKAPI_ATTR void VKAPI_CALL vkDestroyFence( 4273 VkDevice device, 4274 VkFence fence, 4275 const VkAllocationCallbacks* pAllocator); 4276 4277 VKAPI_ATTR VkResult VKAPI_CALL vkResetFences( 4278 VkDevice device, 4279 uint32_t fenceCount, 4280 const VkFence* pFences); 4281 4282 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus( 4283 VkDevice device, 4284 VkFence fence); 4285 4286 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences( 4287 VkDevice device, 4288 uint32_t fenceCount, 4289 const VkFence* pFences, 4290 VkBool32 waitAll, 4291 uint64_t timeout); 4292 4293 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore( 4294 VkDevice device, 4295 const VkSemaphoreCreateInfo* pCreateInfo, 4296 const VkAllocationCallbacks* pAllocator, 4297 VkSemaphore* pSemaphore); 4298 4299 VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore( 4300 VkDevice device, 4301 VkSemaphore semaphore, 4302 const VkAllocationCallbacks* pAllocator); 4303 4304 VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent( 4305 VkDevice device, 4306 const VkEventCreateInfo* pCreateInfo, 4307 const VkAllocationCallbacks* pAllocator, 4308 VkEvent* pEvent); 4309 4310 VKAPI_ATTR void VKAPI_CALL vkDestroyEvent( 4311 VkDevice device, 4312 VkEvent event, 4313 const VkAllocationCallbacks* pAllocator); 4314 4315 VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus( 4316 VkDevice device, 4317 VkEvent event); 4318 4319 VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent( 4320 VkDevice device, 4321 VkEvent event); 4322 4323 VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent( 4324 VkDevice device, 4325 VkEvent event); 4326 4327 VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool( 4328 VkDevice device, 4329 const VkQueryPoolCreateInfo* pCreateInfo, 4330 const VkAllocationCallbacks* pAllocator, 4331 VkQueryPool* pQueryPool); 4332 4333 VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool( 4334 VkDevice device, 4335 VkQueryPool queryPool, 4336 const VkAllocationCallbacks* pAllocator); 4337 4338 VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults( 4339 VkDevice device, 4340 VkQueryPool queryPool, 4341 uint32_t firstQuery, 4342 uint32_t queryCount, 4343 size_t dataSize, 4344 void* pData, 4345 VkDeviceSize stride, 4346 VkQueryResultFlags flags); 4347 4348 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer( 4349 VkDevice device, 4350 const VkBufferCreateInfo* pCreateInfo, 4351 const VkAllocationCallbacks* pAllocator, 4352 VkBuffer* pBuffer); 4353 4354 VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer( 4355 VkDevice device, 4356 VkBuffer buffer, 4357 const VkAllocationCallbacks* pAllocator); 4358 4359 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView( 4360 VkDevice device, 4361 const VkBufferViewCreateInfo* pCreateInfo, 4362 const VkAllocationCallbacks* pAllocator, 4363 VkBufferView* pView); 4364 4365 VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView( 4366 VkDevice device, 4367 VkBufferView bufferView, 4368 const VkAllocationCallbacks* pAllocator); 4369 4370 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage( 4371 VkDevice device, 4372 const VkImageCreateInfo* pCreateInfo, 4373 const VkAllocationCallbacks* pAllocator, 4374 VkImage* pImage); 4375 4376 VKAPI_ATTR void VKAPI_CALL vkDestroyImage( 4377 VkDevice device, 4378 VkImage image, 4379 const VkAllocationCallbacks* pAllocator); 4380 4381 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout( 4382 VkDevice device, 4383 VkImage image, 4384 const VkImageSubresource* pSubresource, 4385 VkSubresourceLayout* pLayout); 4386 4387 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView( 4388 VkDevice device, 4389 const VkImageViewCreateInfo* pCreateInfo, 4390 const VkAllocationCallbacks* pAllocator, 4391 VkImageView* pView); 4392 4393 VKAPI_ATTR void VKAPI_CALL vkDestroyImageView( 4394 VkDevice device, 4395 VkImageView imageView, 4396 const VkAllocationCallbacks* pAllocator); 4397 4398 VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule( 4399 VkDevice device, 4400 const VkShaderModuleCreateInfo* pCreateInfo, 4401 const VkAllocationCallbacks* pAllocator, 4402 VkShaderModule* pShaderModule); 4403 4404 VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule( 4405 VkDevice device, 4406 VkShaderModule shaderModule, 4407 const VkAllocationCallbacks* pAllocator); 4408 4409 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache( 4410 VkDevice device, 4411 const VkPipelineCacheCreateInfo* pCreateInfo, 4412 const VkAllocationCallbacks* pAllocator, 4413 VkPipelineCache* pPipelineCache); 4414 4415 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache( 4416 VkDevice device, 4417 VkPipelineCache pipelineCache, 4418 const VkAllocationCallbacks* pAllocator); 4419 4420 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData( 4421 VkDevice device, 4422 VkPipelineCache pipelineCache, 4423 size_t* pDataSize, 4424 void* pData); 4425 4426 VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches( 4427 VkDevice device, 4428 VkPipelineCache dstCache, 4429 uint32_t srcCacheCount, 4430 const VkPipelineCache* pSrcCaches); 4431 4432 VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines( 4433 VkDevice device, 4434 VkPipelineCache pipelineCache, 4435 uint32_t createInfoCount, 4436 const VkGraphicsPipelineCreateInfo* pCreateInfos, 4437 const VkAllocationCallbacks* pAllocator, 4438 VkPipeline* pPipelines); 4439 4440 VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines( 4441 VkDevice device, 4442 VkPipelineCache pipelineCache, 4443 uint32_t createInfoCount, 4444 const VkComputePipelineCreateInfo* pCreateInfos, 4445 const VkAllocationCallbacks* pAllocator, 4446 VkPipeline* pPipelines); 4447 4448 VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline( 4449 VkDevice device, 4450 VkPipeline pipeline, 4451 const VkAllocationCallbacks* pAllocator); 4452 4453 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout( 4454 VkDevice device, 4455 const VkPipelineLayoutCreateInfo* pCreateInfo, 4456 const VkAllocationCallbacks* pAllocator, 4457 VkPipelineLayout* pPipelineLayout); 4458 4459 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout( 4460 VkDevice device, 4461 VkPipelineLayout pipelineLayout, 4462 const VkAllocationCallbacks* pAllocator); 4463 4464 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler( 4465 VkDevice device, 4466 const VkSamplerCreateInfo* pCreateInfo, 4467 const VkAllocationCallbacks* pAllocator, 4468 VkSampler* pSampler); 4469 4470 VKAPI_ATTR void VKAPI_CALL vkDestroySampler( 4471 VkDevice device, 4472 VkSampler sampler, 4473 const VkAllocationCallbacks* pAllocator); 4474 4475 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout( 4476 VkDevice device, 4477 const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 4478 const VkAllocationCallbacks* pAllocator, 4479 VkDescriptorSetLayout* pSetLayout); 4480 4481 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout( 4482 VkDevice device, 4483 VkDescriptorSetLayout descriptorSetLayout, 4484 const VkAllocationCallbacks* pAllocator); 4485 4486 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool( 4487 VkDevice device, 4488 const VkDescriptorPoolCreateInfo* pCreateInfo, 4489 const VkAllocationCallbacks* pAllocator, 4490 VkDescriptorPool* pDescriptorPool); 4491 4492 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool( 4493 VkDevice device, 4494 VkDescriptorPool descriptorPool, 4495 const VkAllocationCallbacks* pAllocator); 4496 4497 VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool( 4498 VkDevice device, 4499 VkDescriptorPool descriptorPool, 4500 VkDescriptorPoolResetFlags flags); 4501 4502 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets( 4503 VkDevice device, 4504 const VkDescriptorSetAllocateInfo* pAllocateInfo, 4505 VkDescriptorSet* pDescriptorSets); 4506 4507 VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets( 4508 VkDevice device, 4509 VkDescriptorPool descriptorPool, 4510 uint32_t descriptorSetCount, 4511 const VkDescriptorSet* pDescriptorSets); 4512 4513 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets( 4514 VkDevice device, 4515 uint32_t descriptorWriteCount, 4516 const VkWriteDescriptorSet* pDescriptorWrites, 4517 uint32_t descriptorCopyCount, 4518 const VkCopyDescriptorSet* pDescriptorCopies); 4519 4520 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer( 4521 VkDevice device, 4522 const VkFramebufferCreateInfo* pCreateInfo, 4523 const VkAllocationCallbacks* pAllocator, 4524 VkFramebuffer* pFramebuffer); 4525 4526 VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer( 4527 VkDevice device, 4528 VkFramebuffer framebuffer, 4529 const VkAllocationCallbacks* pAllocator); 4530 4531 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass( 4532 VkDevice device, 4533 const VkRenderPassCreateInfo* pCreateInfo, 4534 const VkAllocationCallbacks* pAllocator, 4535 VkRenderPass* pRenderPass); 4536 4537 VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass( 4538 VkDevice device, 4539 VkRenderPass renderPass, 4540 const VkAllocationCallbacks* pAllocator); 4541 4542 VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity( 4543 VkDevice device, 4544 VkRenderPass renderPass, 4545 VkExtent2D* pGranularity); 4546 4547 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool( 4548 VkDevice device, 4549 const VkCommandPoolCreateInfo* pCreateInfo, 4550 const VkAllocationCallbacks* pAllocator, 4551 VkCommandPool* pCommandPool); 4552 4553 VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool( 4554 VkDevice device, 4555 VkCommandPool commandPool, 4556 const VkAllocationCallbacks* pAllocator); 4557 4558 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool( 4559 VkDevice device, 4560 VkCommandPool commandPool, 4561 VkCommandPoolResetFlags flags); 4562 4563 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers( 4564 VkDevice device, 4565 const VkCommandBufferAllocateInfo* pAllocateInfo, 4566 VkCommandBuffer* pCommandBuffers); 4567 4568 VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers( 4569 VkDevice device, 4570 VkCommandPool commandPool, 4571 uint32_t commandBufferCount, 4572 const VkCommandBuffer* pCommandBuffers); 4573 4574 VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer( 4575 VkCommandBuffer commandBuffer, 4576 const VkCommandBufferBeginInfo* pBeginInfo); 4577 4578 VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer( 4579 VkCommandBuffer commandBuffer); 4580 4581 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer( 4582 VkCommandBuffer commandBuffer, 4583 VkCommandBufferResetFlags flags); 4584 4585 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline( 4586 VkCommandBuffer commandBuffer, 4587 VkPipelineBindPoint pipelineBindPoint, 4588 VkPipeline pipeline); 4589 4590 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport( 4591 VkCommandBuffer commandBuffer, 4592 uint32_t firstViewport, 4593 uint32_t viewportCount, 4594 const VkViewport* pViewports); 4595 4596 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor( 4597 VkCommandBuffer commandBuffer, 4598 uint32_t firstScissor, 4599 uint32_t scissorCount, 4600 const VkRect2D* pScissors); 4601 4602 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth( 4603 VkCommandBuffer commandBuffer, 4604 float lineWidth); 4605 4606 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias( 4607 VkCommandBuffer commandBuffer, 4608 float depthBiasConstantFactor, 4609 float depthBiasClamp, 4610 float depthBiasSlopeFactor); 4611 4612 VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants( 4613 VkCommandBuffer commandBuffer, 4614 const float blendConstants[4]); 4615 4616 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds( 4617 VkCommandBuffer commandBuffer, 4618 float minDepthBounds, 4619 float maxDepthBounds); 4620 4621 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask( 4622 VkCommandBuffer commandBuffer, 4623 VkStencilFaceFlags faceMask, 4624 uint32_t compareMask); 4625 4626 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask( 4627 VkCommandBuffer commandBuffer, 4628 VkStencilFaceFlags faceMask, 4629 uint32_t writeMask); 4630 4631 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference( 4632 VkCommandBuffer commandBuffer, 4633 VkStencilFaceFlags faceMask, 4634 uint32_t reference); 4635 4636 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets( 4637 VkCommandBuffer commandBuffer, 4638 VkPipelineBindPoint pipelineBindPoint, 4639 VkPipelineLayout layout, 4640 uint32_t firstSet, 4641 uint32_t descriptorSetCount, 4642 const VkDescriptorSet* pDescriptorSets, 4643 uint32_t dynamicOffsetCount, 4644 const uint32_t* pDynamicOffsets); 4645 4646 VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer( 4647 VkCommandBuffer commandBuffer, 4648 VkBuffer buffer, 4649 VkDeviceSize offset, 4650 VkIndexType indexType); 4651 4652 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers( 4653 VkCommandBuffer commandBuffer, 4654 uint32_t firstBinding, 4655 uint32_t bindingCount, 4656 const VkBuffer* pBuffers, 4657 const VkDeviceSize* pOffsets); 4658 4659 VKAPI_ATTR void VKAPI_CALL vkCmdDraw( 4660 VkCommandBuffer commandBuffer, 4661 uint32_t vertexCount, 4662 uint32_t instanceCount, 4663 uint32_t firstVertex, 4664 uint32_t firstInstance); 4665 4666 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed( 4667 VkCommandBuffer commandBuffer, 4668 uint32_t indexCount, 4669 uint32_t instanceCount, 4670 uint32_t firstIndex, 4671 int32_t vertexOffset, 4672 uint32_t firstInstance); 4673 4674 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect( 4675 VkCommandBuffer commandBuffer, 4676 VkBuffer buffer, 4677 VkDeviceSize offset, 4678 uint32_t drawCount, 4679 uint32_t stride); 4680 4681 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect( 4682 VkCommandBuffer commandBuffer, 4683 VkBuffer buffer, 4684 VkDeviceSize offset, 4685 uint32_t drawCount, 4686 uint32_t stride); 4687 4688 VKAPI_ATTR void VKAPI_CALL vkCmdDispatch( 4689 VkCommandBuffer commandBuffer, 4690 uint32_t groupCountX, 4691 uint32_t groupCountY, 4692 uint32_t groupCountZ); 4693 4694 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect( 4695 VkCommandBuffer commandBuffer, 4696 VkBuffer buffer, 4697 VkDeviceSize offset); 4698 4699 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer( 4700 VkCommandBuffer commandBuffer, 4701 VkBuffer srcBuffer, 4702 VkBuffer dstBuffer, 4703 uint32_t regionCount, 4704 const VkBufferCopy* pRegions); 4705 4706 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage( 4707 VkCommandBuffer commandBuffer, 4708 VkImage srcImage, 4709 VkImageLayout srcImageLayout, 4710 VkImage dstImage, 4711 VkImageLayout dstImageLayout, 4712 uint32_t regionCount, 4713 const VkImageCopy* pRegions); 4714 4715 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage( 4716 VkCommandBuffer commandBuffer, 4717 VkImage srcImage, 4718 VkImageLayout srcImageLayout, 4719 VkImage dstImage, 4720 VkImageLayout dstImageLayout, 4721 uint32_t regionCount, 4722 const VkImageBlit* pRegions, 4723 VkFilter filter); 4724 4725 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage( 4726 VkCommandBuffer commandBuffer, 4727 VkBuffer srcBuffer, 4728 VkImage dstImage, 4729 VkImageLayout dstImageLayout, 4730 uint32_t regionCount, 4731 const VkBufferImageCopy* pRegions); 4732 4733 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer( 4734 VkCommandBuffer commandBuffer, 4735 VkImage srcImage, 4736 VkImageLayout srcImageLayout, 4737 VkBuffer dstBuffer, 4738 uint32_t regionCount, 4739 const VkBufferImageCopy* pRegions); 4740 4741 VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer( 4742 VkCommandBuffer commandBuffer, 4743 VkBuffer dstBuffer, 4744 VkDeviceSize dstOffset, 4745 VkDeviceSize dataSize, 4746 const void* pData); 4747 4748 VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer( 4749 VkCommandBuffer commandBuffer, 4750 VkBuffer dstBuffer, 4751 VkDeviceSize dstOffset, 4752 VkDeviceSize size, 4753 uint32_t data); 4754 4755 VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage( 4756 VkCommandBuffer commandBuffer, 4757 VkImage image, 4758 VkImageLayout imageLayout, 4759 const VkClearColorValue* pColor, 4760 uint32_t rangeCount, 4761 const VkImageSubresourceRange* pRanges); 4762 4763 VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage( 4764 VkCommandBuffer commandBuffer, 4765 VkImage image, 4766 VkImageLayout imageLayout, 4767 const VkClearDepthStencilValue* pDepthStencil, 4768 uint32_t rangeCount, 4769 const VkImageSubresourceRange* pRanges); 4770 4771 VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments( 4772 VkCommandBuffer commandBuffer, 4773 uint32_t attachmentCount, 4774 const VkClearAttachment* pAttachments, 4775 uint32_t rectCount, 4776 const VkClearRect* pRects); 4777 4778 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage( 4779 VkCommandBuffer commandBuffer, 4780 VkImage srcImage, 4781 VkImageLayout srcImageLayout, 4782 VkImage dstImage, 4783 VkImageLayout dstImageLayout, 4784 uint32_t regionCount, 4785 const VkImageResolve* pRegions); 4786 4787 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent( 4788 VkCommandBuffer commandBuffer, 4789 VkEvent event, 4790 VkPipelineStageFlags stageMask); 4791 4792 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent( 4793 VkCommandBuffer commandBuffer, 4794 VkEvent event, 4795 VkPipelineStageFlags stageMask); 4796 4797 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents( 4798 VkCommandBuffer commandBuffer, 4799 uint32_t eventCount, 4800 const VkEvent* pEvents, 4801 VkPipelineStageFlags srcStageMask, 4802 VkPipelineStageFlags dstStageMask, 4803 uint32_t memoryBarrierCount, 4804 const VkMemoryBarrier* pMemoryBarriers, 4805 uint32_t bufferMemoryBarrierCount, 4806 const VkBufferMemoryBarrier* pBufferMemoryBarriers, 4807 uint32_t imageMemoryBarrierCount, 4808 const VkImageMemoryBarrier* pImageMemoryBarriers); 4809 4810 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier( 4811 VkCommandBuffer commandBuffer, 4812 VkPipelineStageFlags srcStageMask, 4813 VkPipelineStageFlags dstStageMask, 4814 VkDependencyFlags dependencyFlags, 4815 uint32_t memoryBarrierCount, 4816 const VkMemoryBarrier* pMemoryBarriers, 4817 uint32_t bufferMemoryBarrierCount, 4818 const VkBufferMemoryBarrier* pBufferMemoryBarriers, 4819 uint32_t imageMemoryBarrierCount, 4820 const VkImageMemoryBarrier* pImageMemoryBarriers); 4821 4822 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery( 4823 VkCommandBuffer commandBuffer, 4824 VkQueryPool queryPool, 4825 uint32_t query, 4826 VkQueryControlFlags flags); 4827 4828 VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery( 4829 VkCommandBuffer commandBuffer, 4830 VkQueryPool queryPool, 4831 uint32_t query); 4832 4833 VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool( 4834 VkCommandBuffer commandBuffer, 4835 VkQueryPool queryPool, 4836 uint32_t firstQuery, 4837 uint32_t queryCount); 4838 4839 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp( 4840 VkCommandBuffer commandBuffer, 4841 VkPipelineStageFlagBits pipelineStage, 4842 VkQueryPool queryPool, 4843 uint32_t query); 4844 4845 VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults( 4846 VkCommandBuffer commandBuffer, 4847 VkQueryPool queryPool, 4848 uint32_t firstQuery, 4849 uint32_t queryCount, 4850 VkBuffer dstBuffer, 4851 VkDeviceSize dstOffset, 4852 VkDeviceSize stride, 4853 VkQueryResultFlags flags); 4854 4855 VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants( 4856 VkCommandBuffer commandBuffer, 4857 VkPipelineLayout layout, 4858 VkShaderStageFlags stageFlags, 4859 uint32_t offset, 4860 uint32_t size, 4861 const void* pValues); 4862 4863 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass( 4864 VkCommandBuffer commandBuffer, 4865 const VkRenderPassBeginInfo* pRenderPassBegin, 4866 VkSubpassContents contents); 4867 4868 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass( 4869 VkCommandBuffer commandBuffer, 4870 VkSubpassContents contents); 4871 4872 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass( 4873 VkCommandBuffer commandBuffer); 4874 4875 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands( 4876 VkCommandBuffer commandBuffer, 4877 uint32_t commandBufferCount, 4878 const VkCommandBuffer* pCommandBuffers); 4879 #endif 4880 4881 4882 // VK_VERSION_1_1 is a preprocessor guard. Do not pass it to API calls. 4883 #define VK_VERSION_1_1 1 4884 // Vulkan 1.1 version number 4885 #define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)// Patch version should always be set to 0 4886 4887 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion) 4888 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate) 4889 #define VK_MAX_DEVICE_GROUP_SIZE 32U 4890 #define VK_LUID_SIZE 8U 4891 #define VK_QUEUE_FAMILY_EXTERNAL (~1U) 4892 4893 typedef enum VkPointClippingBehavior { 4894 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0, 4895 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1, 4896 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES, 4897 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY, 4898 VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF 4899 } VkPointClippingBehavior; 4900 4901 typedef enum VkTessellationDomainOrigin { 4902 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0, 4903 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1, 4904 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT, 4905 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT, 4906 VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF 4907 } VkTessellationDomainOrigin; 4908 4909 typedef enum VkSamplerYcbcrModelConversion { 4910 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0, 4911 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1, 4912 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2, 4913 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3, 4914 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4, 4915 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY, 4916 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY, 4917 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709, 4918 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601, 4919 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020, 4920 VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF 4921 } VkSamplerYcbcrModelConversion; 4922 4923 typedef enum VkSamplerYcbcrRange { 4924 VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0, 4925 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1, 4926 VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL, 4927 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW, 4928 VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF 4929 } VkSamplerYcbcrRange; 4930 4931 typedef enum VkChromaLocation { 4932 VK_CHROMA_LOCATION_COSITED_EVEN = 0, 4933 VK_CHROMA_LOCATION_MIDPOINT = 1, 4934 VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN, 4935 VK_CHROMA_LOCATION_MIDPOINT_KHR = VK_CHROMA_LOCATION_MIDPOINT, 4936 VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF 4937 } VkChromaLocation; 4938 4939 typedef enum VkDescriptorUpdateTemplateType { 4940 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0, 4941 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1, 4942 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET, 4943 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF 4944 } VkDescriptorUpdateTemplateType; 4945 4946 typedef enum VkSubgroupFeatureFlagBits { 4947 VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001, 4948 VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002, 4949 VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004, 4950 VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008, 4951 VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010, 4952 VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020, 4953 VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040, 4954 VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080, 4955 VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100, 4956 VK_SUBGROUP_FEATURE_ROTATE_BIT_KHR = 0x00000200, 4957 VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT_KHR = 0x00000400, 4958 VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 4959 } VkSubgroupFeatureFlagBits; 4960 typedef VkFlags VkSubgroupFeatureFlags; 4961 4962 typedef enum VkPeerMemoryFeatureFlagBits { 4963 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001, 4964 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0x00000002, 4965 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0x00000004, 4966 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0x00000008, 4967 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT, 4968 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT, 4969 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT, 4970 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT, 4971 VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 4972 } VkPeerMemoryFeatureFlagBits; 4973 typedef VkFlags VkPeerMemoryFeatureFlags; 4974 4975 typedef enum VkMemoryAllocateFlagBits { 4976 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001, 4977 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 0x00000002, 4978 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000004, 4979 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT, 4980 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT, 4981 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, 4982 VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 4983 } VkMemoryAllocateFlagBits; 4984 typedef VkFlags VkMemoryAllocateFlags; 4985 typedef VkFlags VkCommandPoolTrimFlags; 4986 typedef VkFlags VkDescriptorUpdateTemplateCreateFlags; 4987 4988 typedef enum VkExternalMemoryHandleTypeFlagBits { 4989 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001, 4990 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002, 4991 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004, 4992 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008, 4993 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010, 4994 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020, 4995 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040, 4996 VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200, 4997 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400, 4998 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080, 4999 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100, 5000 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 0x00000800, 5001 VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV = 0x00001000, 5002 VK_EXTERNAL_MEMORY_HANDLE_TYPE_SCREEN_BUFFER_BIT_QNX = 0x00004000, 5003 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT, 5004 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT, 5005 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, 5006 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT, 5007 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT, 5008 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT, 5009 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT, 5010 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5011 } VkExternalMemoryHandleTypeFlagBits; 5012 typedef VkFlags VkExternalMemoryHandleTypeFlags; 5013 5014 typedef enum VkExternalMemoryFeatureFlagBits { 5015 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0x00000001, 5016 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0x00000002, 5017 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0x00000004, 5018 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT, 5019 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT, 5020 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT, 5021 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5022 } VkExternalMemoryFeatureFlagBits; 5023 typedef VkFlags VkExternalMemoryFeatureFlags; 5024 5025 typedef enum VkExternalFenceHandleTypeFlagBits { 5026 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001, 5027 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002, 5028 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004, 5029 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000008, 5030 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT, 5031 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT, 5032 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, 5033 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT, 5034 VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5035 } VkExternalFenceHandleTypeFlagBits; 5036 typedef VkFlags VkExternalFenceHandleTypeFlags; 5037 5038 typedef enum VkExternalFenceFeatureFlagBits { 5039 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0x00000001, 5040 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0x00000002, 5041 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT, 5042 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT, 5043 VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5044 } VkExternalFenceFeatureFlagBits; 5045 typedef VkFlags VkExternalFenceFeatureFlags; 5046 5047 typedef enum VkFenceImportFlagBits { 5048 VK_FENCE_IMPORT_TEMPORARY_BIT = 0x00000001, 5049 VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = VK_FENCE_IMPORT_TEMPORARY_BIT, 5050 VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5051 } VkFenceImportFlagBits; 5052 typedef VkFlags VkFenceImportFlags; 5053 5054 typedef enum VkSemaphoreImportFlagBits { 5055 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001, 5056 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT, 5057 VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5058 } VkSemaphoreImportFlagBits; 5059 typedef VkFlags VkSemaphoreImportFlags; 5060 5061 typedef enum VkExternalSemaphoreHandleTypeFlagBits { 5062 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001, 5063 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002, 5064 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004, 5065 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008, 5066 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010, 5067 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA = 0x00000080, 5068 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT, 5069 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT, 5070 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT, 5071 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, 5072 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT, 5073 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT, 5074 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5075 } VkExternalSemaphoreHandleTypeFlagBits; 5076 typedef VkFlags VkExternalSemaphoreHandleTypeFlags; 5077 5078 typedef enum VkExternalSemaphoreFeatureFlagBits { 5079 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0x00000001, 5080 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0x00000002, 5081 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT, 5082 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT, 5083 VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5084 } VkExternalSemaphoreFeatureFlagBits; 5085 typedef VkFlags VkExternalSemaphoreFeatureFlags; 5086 typedef struct VkPhysicalDeviceSubgroupProperties { 5087 VkStructureType sType; 5088 void* pNext; 5089 uint32_t subgroupSize; 5090 VkShaderStageFlags supportedStages; 5091 VkSubgroupFeatureFlags supportedOperations; 5092 VkBool32 quadOperationsInAllStages; 5093 } VkPhysicalDeviceSubgroupProperties; 5094 5095 typedef struct VkBindBufferMemoryInfo { 5096 VkStructureType sType; 5097 const void* pNext; 5098 VkBuffer buffer; 5099 VkDeviceMemory memory; 5100 VkDeviceSize memoryOffset; 5101 } VkBindBufferMemoryInfo; 5102 5103 typedef struct VkBindImageMemoryInfo { 5104 VkStructureType sType; 5105 const void* pNext; 5106 VkImage image; 5107 VkDeviceMemory memory; 5108 VkDeviceSize memoryOffset; 5109 } VkBindImageMemoryInfo; 5110 5111 typedef struct VkPhysicalDevice16BitStorageFeatures { 5112 VkStructureType sType; 5113 void* pNext; 5114 VkBool32 storageBuffer16BitAccess; 5115 VkBool32 uniformAndStorageBuffer16BitAccess; 5116 VkBool32 storagePushConstant16; 5117 VkBool32 storageInputOutput16; 5118 } VkPhysicalDevice16BitStorageFeatures; 5119 5120 typedef struct VkMemoryDedicatedRequirements { 5121 VkStructureType sType; 5122 void* pNext; 5123 VkBool32 prefersDedicatedAllocation; 5124 VkBool32 requiresDedicatedAllocation; 5125 } VkMemoryDedicatedRequirements; 5126 5127 typedef struct VkMemoryDedicatedAllocateInfo { 5128 VkStructureType sType; 5129 const void* pNext; 5130 VkImage image; 5131 VkBuffer buffer; 5132 } VkMemoryDedicatedAllocateInfo; 5133 5134 typedef struct VkMemoryAllocateFlagsInfo { 5135 VkStructureType sType; 5136 const void* pNext; 5137 VkMemoryAllocateFlags flags; 5138 uint32_t deviceMask; 5139 } VkMemoryAllocateFlagsInfo; 5140 5141 typedef struct VkDeviceGroupRenderPassBeginInfo { 5142 VkStructureType sType; 5143 const void* pNext; 5144 uint32_t deviceMask; 5145 uint32_t deviceRenderAreaCount; 5146 const VkRect2D* pDeviceRenderAreas; 5147 } VkDeviceGroupRenderPassBeginInfo; 5148 5149 typedef struct VkDeviceGroupCommandBufferBeginInfo { 5150 VkStructureType sType; 5151 const void* pNext; 5152 uint32_t deviceMask; 5153 } VkDeviceGroupCommandBufferBeginInfo; 5154 5155 typedef struct VkDeviceGroupSubmitInfo { 5156 VkStructureType sType; 5157 const void* pNext; 5158 uint32_t waitSemaphoreCount; 5159 const uint32_t* pWaitSemaphoreDeviceIndices; 5160 uint32_t commandBufferCount; 5161 const uint32_t* pCommandBufferDeviceMasks; 5162 uint32_t signalSemaphoreCount; 5163 const uint32_t* pSignalSemaphoreDeviceIndices; 5164 } VkDeviceGroupSubmitInfo; 5165 5166 typedef struct VkDeviceGroupBindSparseInfo { 5167 VkStructureType sType; 5168 const void* pNext; 5169 uint32_t resourceDeviceIndex; 5170 uint32_t memoryDeviceIndex; 5171 } VkDeviceGroupBindSparseInfo; 5172 5173 typedef struct VkBindBufferMemoryDeviceGroupInfo { 5174 VkStructureType sType; 5175 const void* pNext; 5176 uint32_t deviceIndexCount; 5177 const uint32_t* pDeviceIndices; 5178 } VkBindBufferMemoryDeviceGroupInfo; 5179 5180 typedef struct VkBindImageMemoryDeviceGroupInfo { 5181 VkStructureType sType; 5182 const void* pNext; 5183 uint32_t deviceIndexCount; 5184 const uint32_t* pDeviceIndices; 5185 uint32_t splitInstanceBindRegionCount; 5186 const VkRect2D* pSplitInstanceBindRegions; 5187 } VkBindImageMemoryDeviceGroupInfo; 5188 5189 typedef struct VkPhysicalDeviceGroupProperties { 5190 VkStructureType sType; 5191 void* pNext; 5192 uint32_t physicalDeviceCount; 5193 VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE]; 5194 VkBool32 subsetAllocation; 5195 } VkPhysicalDeviceGroupProperties; 5196 5197 typedef struct VkDeviceGroupDeviceCreateInfo { 5198 VkStructureType sType; 5199 const void* pNext; 5200 uint32_t physicalDeviceCount; 5201 const VkPhysicalDevice* pPhysicalDevices; 5202 } VkDeviceGroupDeviceCreateInfo; 5203 5204 typedef struct VkBufferMemoryRequirementsInfo2 { 5205 VkStructureType sType; 5206 const void* pNext; 5207 VkBuffer buffer; 5208 } VkBufferMemoryRequirementsInfo2; 5209 5210 typedef struct VkImageMemoryRequirementsInfo2 { 5211 VkStructureType sType; 5212 const void* pNext; 5213 VkImage image; 5214 } VkImageMemoryRequirementsInfo2; 5215 5216 typedef struct VkImageSparseMemoryRequirementsInfo2 { 5217 VkStructureType sType; 5218 const void* pNext; 5219 VkImage image; 5220 } VkImageSparseMemoryRequirementsInfo2; 5221 5222 typedef struct VkMemoryRequirements2 { 5223 VkStructureType sType; 5224 void* pNext; 5225 VkMemoryRequirements memoryRequirements; 5226 } VkMemoryRequirements2; 5227 5228 typedef struct VkSparseImageMemoryRequirements2 { 5229 VkStructureType sType; 5230 void* pNext; 5231 VkSparseImageMemoryRequirements memoryRequirements; 5232 } VkSparseImageMemoryRequirements2; 5233 5234 typedef struct VkPhysicalDeviceFeatures2 { 5235 VkStructureType sType; 5236 void* pNext; 5237 VkPhysicalDeviceFeatures features; 5238 } VkPhysicalDeviceFeatures2; 5239 5240 typedef struct VkPhysicalDeviceProperties2 { 5241 VkStructureType sType; 5242 void* pNext; 5243 VkPhysicalDeviceProperties properties; 5244 } VkPhysicalDeviceProperties2; 5245 5246 typedef struct VkFormatProperties2 { 5247 VkStructureType sType; 5248 void* pNext; 5249 VkFormatProperties formatProperties; 5250 } VkFormatProperties2; 5251 5252 typedef struct VkImageFormatProperties2 { 5253 VkStructureType sType; 5254 void* pNext; 5255 VkImageFormatProperties imageFormatProperties; 5256 } VkImageFormatProperties2; 5257 5258 typedef struct VkPhysicalDeviceImageFormatInfo2 { 5259 VkStructureType sType; 5260 const void* pNext; 5261 VkFormat format; 5262 VkImageType type; 5263 VkImageTiling tiling; 5264 VkImageUsageFlags usage; 5265 VkImageCreateFlags flags; 5266 } VkPhysicalDeviceImageFormatInfo2; 5267 5268 typedef struct VkQueueFamilyProperties2 { 5269 VkStructureType sType; 5270 void* pNext; 5271 VkQueueFamilyProperties queueFamilyProperties; 5272 } VkQueueFamilyProperties2; 5273 5274 typedef struct VkPhysicalDeviceMemoryProperties2 { 5275 VkStructureType sType; 5276 void* pNext; 5277 VkPhysicalDeviceMemoryProperties memoryProperties; 5278 } VkPhysicalDeviceMemoryProperties2; 5279 5280 typedef struct VkSparseImageFormatProperties2 { 5281 VkStructureType sType; 5282 void* pNext; 5283 VkSparseImageFormatProperties properties; 5284 } VkSparseImageFormatProperties2; 5285 5286 typedef struct VkPhysicalDeviceSparseImageFormatInfo2 { 5287 VkStructureType sType; 5288 const void* pNext; 5289 VkFormat format; 5290 VkImageType type; 5291 VkSampleCountFlagBits samples; 5292 VkImageUsageFlags usage; 5293 VkImageTiling tiling; 5294 } VkPhysicalDeviceSparseImageFormatInfo2; 5295 5296 typedef struct VkPhysicalDevicePointClippingProperties { 5297 VkStructureType sType; 5298 void* pNext; 5299 VkPointClippingBehavior pointClippingBehavior; 5300 } VkPhysicalDevicePointClippingProperties; 5301 5302 typedef struct VkInputAttachmentAspectReference { 5303 uint32_t subpass; 5304 uint32_t inputAttachmentIndex; 5305 VkImageAspectFlags aspectMask; 5306 } VkInputAttachmentAspectReference; 5307 5308 typedef struct VkRenderPassInputAttachmentAspectCreateInfo { 5309 VkStructureType sType; 5310 const void* pNext; 5311 uint32_t aspectReferenceCount; 5312 const VkInputAttachmentAspectReference* pAspectReferences; 5313 } VkRenderPassInputAttachmentAspectCreateInfo; 5314 5315 typedef struct VkImageViewUsageCreateInfo { 5316 VkStructureType sType; 5317 const void* pNext; 5318 VkImageUsageFlags usage; 5319 } VkImageViewUsageCreateInfo; 5320 5321 typedef struct VkPipelineTessellationDomainOriginStateCreateInfo { 5322 VkStructureType sType; 5323 const void* pNext; 5324 VkTessellationDomainOrigin domainOrigin; 5325 } VkPipelineTessellationDomainOriginStateCreateInfo; 5326 5327 typedef struct VkRenderPassMultiviewCreateInfo { 5328 VkStructureType sType; 5329 const void* pNext; 5330 uint32_t subpassCount; 5331 const uint32_t* pViewMasks; 5332 uint32_t dependencyCount; 5333 const int32_t* pViewOffsets; 5334 uint32_t correlationMaskCount; 5335 const uint32_t* pCorrelationMasks; 5336 } VkRenderPassMultiviewCreateInfo; 5337 5338 typedef struct VkPhysicalDeviceMultiviewFeatures { 5339 VkStructureType sType; 5340 void* pNext; 5341 VkBool32 multiview; 5342 VkBool32 multiviewGeometryShader; 5343 VkBool32 multiviewTessellationShader; 5344 } VkPhysicalDeviceMultiviewFeatures; 5345 5346 typedef struct VkPhysicalDeviceMultiviewProperties { 5347 VkStructureType sType; 5348 void* pNext; 5349 uint32_t maxMultiviewViewCount; 5350 uint32_t maxMultiviewInstanceIndex; 5351 } VkPhysicalDeviceMultiviewProperties; 5352 5353 typedef struct VkPhysicalDeviceVariablePointersFeatures { 5354 VkStructureType sType; 5355 void* pNext; 5356 VkBool32 variablePointersStorageBuffer; 5357 VkBool32 variablePointers; 5358 } VkPhysicalDeviceVariablePointersFeatures; 5359 5360 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures; 5361 5362 typedef struct VkPhysicalDeviceProtectedMemoryFeatures { 5363 VkStructureType sType; 5364 void* pNext; 5365 VkBool32 protectedMemory; 5366 } VkPhysicalDeviceProtectedMemoryFeatures; 5367 5368 typedef struct VkPhysicalDeviceProtectedMemoryProperties { 5369 VkStructureType sType; 5370 void* pNext; 5371 VkBool32 protectedNoFault; 5372 } VkPhysicalDeviceProtectedMemoryProperties; 5373 5374 typedef struct VkDeviceQueueInfo2 { 5375 VkStructureType sType; 5376 const void* pNext; 5377 VkDeviceQueueCreateFlags flags; 5378 uint32_t queueFamilyIndex; 5379 uint32_t queueIndex; 5380 } VkDeviceQueueInfo2; 5381 5382 typedef struct VkProtectedSubmitInfo { 5383 VkStructureType sType; 5384 const void* pNext; 5385 VkBool32 protectedSubmit; 5386 } VkProtectedSubmitInfo; 5387 5388 typedef struct VkSamplerYcbcrConversionCreateInfo { 5389 VkStructureType sType; 5390 const void* pNext; 5391 VkFormat format; 5392 VkSamplerYcbcrModelConversion ycbcrModel; 5393 VkSamplerYcbcrRange ycbcrRange; 5394 VkComponentMapping components; 5395 VkChromaLocation xChromaOffset; 5396 VkChromaLocation yChromaOffset; 5397 VkFilter chromaFilter; 5398 VkBool32 forceExplicitReconstruction; 5399 } VkSamplerYcbcrConversionCreateInfo; 5400 5401 typedef struct VkSamplerYcbcrConversionInfo { 5402 VkStructureType sType; 5403 const void* pNext; 5404 VkSamplerYcbcrConversion conversion; 5405 } VkSamplerYcbcrConversionInfo; 5406 5407 typedef struct VkBindImagePlaneMemoryInfo { 5408 VkStructureType sType; 5409 const void* pNext; 5410 VkImageAspectFlagBits planeAspect; 5411 } VkBindImagePlaneMemoryInfo; 5412 5413 typedef struct VkImagePlaneMemoryRequirementsInfo { 5414 VkStructureType sType; 5415 const void* pNext; 5416 VkImageAspectFlagBits planeAspect; 5417 } VkImagePlaneMemoryRequirementsInfo; 5418 5419 typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures { 5420 VkStructureType sType; 5421 void* pNext; 5422 VkBool32 samplerYcbcrConversion; 5423 } VkPhysicalDeviceSamplerYcbcrConversionFeatures; 5424 5425 typedef struct VkSamplerYcbcrConversionImageFormatProperties { 5426 VkStructureType sType; 5427 void* pNext; 5428 uint32_t combinedImageSamplerDescriptorCount; 5429 } VkSamplerYcbcrConversionImageFormatProperties; 5430 5431 typedef struct VkDescriptorUpdateTemplateEntry { 5432 uint32_t dstBinding; 5433 uint32_t dstArrayElement; 5434 uint32_t descriptorCount; 5435 VkDescriptorType descriptorType; 5436 size_t offset; 5437 size_t stride; 5438 } VkDescriptorUpdateTemplateEntry; 5439 5440 typedef struct VkDescriptorUpdateTemplateCreateInfo { 5441 VkStructureType sType; 5442 const void* pNext; 5443 VkDescriptorUpdateTemplateCreateFlags flags; 5444 uint32_t descriptorUpdateEntryCount; 5445 const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries; 5446 VkDescriptorUpdateTemplateType templateType; 5447 VkDescriptorSetLayout descriptorSetLayout; 5448 VkPipelineBindPoint pipelineBindPoint; 5449 VkPipelineLayout pipelineLayout; 5450 uint32_t set; 5451 } VkDescriptorUpdateTemplateCreateInfo; 5452 5453 typedef struct VkExternalMemoryProperties { 5454 VkExternalMemoryFeatureFlags externalMemoryFeatures; 5455 VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes; 5456 VkExternalMemoryHandleTypeFlags compatibleHandleTypes; 5457 } VkExternalMemoryProperties; 5458 5459 typedef struct VkPhysicalDeviceExternalImageFormatInfo { 5460 VkStructureType sType; 5461 const void* pNext; 5462 VkExternalMemoryHandleTypeFlagBits handleType; 5463 } VkPhysicalDeviceExternalImageFormatInfo; 5464 5465 typedef struct VkExternalImageFormatProperties { 5466 VkStructureType sType; 5467 void* pNext; 5468 VkExternalMemoryProperties externalMemoryProperties; 5469 } VkExternalImageFormatProperties; 5470 5471 typedef struct VkPhysicalDeviceExternalBufferInfo { 5472 VkStructureType sType; 5473 const void* pNext; 5474 VkBufferCreateFlags flags; 5475 VkBufferUsageFlags usage; 5476 VkExternalMemoryHandleTypeFlagBits handleType; 5477 } VkPhysicalDeviceExternalBufferInfo; 5478 5479 typedef struct VkExternalBufferProperties { 5480 VkStructureType sType; 5481 void* pNext; 5482 VkExternalMemoryProperties externalMemoryProperties; 5483 } VkExternalBufferProperties; 5484 5485 typedef struct VkPhysicalDeviceIDProperties { 5486 VkStructureType sType; 5487 void* pNext; 5488 uint8_t deviceUUID[VK_UUID_SIZE]; 5489 uint8_t driverUUID[VK_UUID_SIZE]; 5490 uint8_t deviceLUID[VK_LUID_SIZE]; 5491 uint32_t deviceNodeMask; 5492 VkBool32 deviceLUIDValid; 5493 } VkPhysicalDeviceIDProperties; 5494 5495 typedef struct VkExternalMemoryImageCreateInfo { 5496 VkStructureType sType; 5497 const void* pNext; 5498 VkExternalMemoryHandleTypeFlags handleTypes; 5499 } VkExternalMemoryImageCreateInfo; 5500 5501 typedef struct VkExternalMemoryBufferCreateInfo { 5502 VkStructureType sType; 5503 const void* pNext; 5504 VkExternalMemoryHandleTypeFlags handleTypes; 5505 } VkExternalMemoryBufferCreateInfo; 5506 5507 typedef struct VkExportMemoryAllocateInfo { 5508 VkStructureType sType; 5509 const void* pNext; 5510 VkExternalMemoryHandleTypeFlags handleTypes; 5511 } VkExportMemoryAllocateInfo; 5512 5513 typedef struct VkPhysicalDeviceExternalFenceInfo { 5514 VkStructureType sType; 5515 const void* pNext; 5516 VkExternalFenceHandleTypeFlagBits handleType; 5517 } VkPhysicalDeviceExternalFenceInfo; 5518 5519 typedef struct VkExternalFenceProperties { 5520 VkStructureType sType; 5521 void* pNext; 5522 VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes; 5523 VkExternalFenceHandleTypeFlags compatibleHandleTypes; 5524 VkExternalFenceFeatureFlags externalFenceFeatures; 5525 } VkExternalFenceProperties; 5526 5527 typedef struct VkExportFenceCreateInfo { 5528 VkStructureType sType; 5529 const void* pNext; 5530 VkExternalFenceHandleTypeFlags handleTypes; 5531 } VkExportFenceCreateInfo; 5532 5533 typedef struct VkExportSemaphoreCreateInfo { 5534 VkStructureType sType; 5535 const void* pNext; 5536 VkExternalSemaphoreHandleTypeFlags handleTypes; 5537 } VkExportSemaphoreCreateInfo; 5538 5539 typedef struct VkPhysicalDeviceExternalSemaphoreInfo { 5540 VkStructureType sType; 5541 const void* pNext; 5542 VkExternalSemaphoreHandleTypeFlagBits handleType; 5543 } VkPhysicalDeviceExternalSemaphoreInfo; 5544 5545 typedef struct VkExternalSemaphoreProperties { 5546 VkStructureType sType; 5547 void* pNext; 5548 VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes; 5549 VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes; 5550 VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures; 5551 } VkExternalSemaphoreProperties; 5552 5553 typedef struct VkPhysicalDeviceMaintenance3Properties { 5554 VkStructureType sType; 5555 void* pNext; 5556 uint32_t maxPerSetDescriptors; 5557 VkDeviceSize maxMemoryAllocationSize; 5558 } VkPhysicalDeviceMaintenance3Properties; 5559 5560 typedef struct VkDescriptorSetLayoutSupport { 5561 VkStructureType sType; 5562 void* pNext; 5563 VkBool32 supported; 5564 } VkDescriptorSetLayoutSupport; 5565 5566 typedef struct VkPhysicalDeviceShaderDrawParametersFeatures { 5567 VkStructureType sType; 5568 void* pNext; 5569 VkBool32 shaderDrawParameters; 5570 } VkPhysicalDeviceShaderDrawParametersFeatures; 5571 5572 typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures; 5573 5574 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceVersion)(uint32_t* pApiVersion); 5575 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos); 5576 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos); 5577 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 5578 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, uint32_t deviceMask); 5579 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); 5580 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 5581 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); 5582 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); 5583 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 5584 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures); 5585 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties); 5586 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties); 5587 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties); 5588 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties); 5589 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 5590 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties); 5591 typedef void (VKAPI_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags); 5592 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue); 5593 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion); 5594 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator); 5595 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 5596 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator); 5597 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData); 5598 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties); 5599 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties); 5600 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 5601 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport); 5602 5603 #ifndef VK_NO_PROTOTYPES 5604 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceVersion( 5605 uint32_t* pApiVersion); 5606 5607 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2( 5608 VkDevice device, 5609 uint32_t bindInfoCount, 5610 const VkBindBufferMemoryInfo* pBindInfos); 5611 5612 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2( 5613 VkDevice device, 5614 uint32_t bindInfoCount, 5615 const VkBindImageMemoryInfo* pBindInfos); 5616 5617 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeatures( 5618 VkDevice device, 5619 uint32_t heapIndex, 5620 uint32_t localDeviceIndex, 5621 uint32_t remoteDeviceIndex, 5622 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 5623 5624 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMask( 5625 VkCommandBuffer commandBuffer, 5626 uint32_t deviceMask); 5627 5628 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBase( 5629 VkCommandBuffer commandBuffer, 5630 uint32_t baseGroupX, 5631 uint32_t baseGroupY, 5632 uint32_t baseGroupZ, 5633 uint32_t groupCountX, 5634 uint32_t groupCountY, 5635 uint32_t groupCountZ); 5636 5637 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroups( 5638 VkInstance instance, 5639 uint32_t* pPhysicalDeviceGroupCount, 5640 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 5641 5642 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2( 5643 VkDevice device, 5644 const VkImageMemoryRequirementsInfo2* pInfo, 5645 VkMemoryRequirements2* pMemoryRequirements); 5646 5647 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2( 5648 VkDevice device, 5649 const VkBufferMemoryRequirementsInfo2* pInfo, 5650 VkMemoryRequirements2* pMemoryRequirements); 5651 5652 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2( 5653 VkDevice device, 5654 const VkImageSparseMemoryRequirementsInfo2* pInfo, 5655 uint32_t* pSparseMemoryRequirementCount, 5656 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 5657 5658 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2( 5659 VkPhysicalDevice physicalDevice, 5660 VkPhysicalDeviceFeatures2* pFeatures); 5661 5662 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2( 5663 VkPhysicalDevice physicalDevice, 5664 VkPhysicalDeviceProperties2* pProperties); 5665 5666 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2( 5667 VkPhysicalDevice physicalDevice, 5668 VkFormat format, 5669 VkFormatProperties2* pFormatProperties); 5670 5671 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2( 5672 VkPhysicalDevice physicalDevice, 5673 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, 5674 VkImageFormatProperties2* pImageFormatProperties); 5675 5676 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2( 5677 VkPhysicalDevice physicalDevice, 5678 uint32_t* pQueueFamilyPropertyCount, 5679 VkQueueFamilyProperties2* pQueueFamilyProperties); 5680 5681 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2( 5682 VkPhysicalDevice physicalDevice, 5683 VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 5684 5685 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2( 5686 VkPhysicalDevice physicalDevice, 5687 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, 5688 uint32_t* pPropertyCount, 5689 VkSparseImageFormatProperties2* pProperties); 5690 5691 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPool( 5692 VkDevice device, 5693 VkCommandPool commandPool, 5694 VkCommandPoolTrimFlags flags); 5695 5696 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue2( 5697 VkDevice device, 5698 const VkDeviceQueueInfo2* pQueueInfo, 5699 VkQueue* pQueue); 5700 5701 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversion( 5702 VkDevice device, 5703 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, 5704 const VkAllocationCallbacks* pAllocator, 5705 VkSamplerYcbcrConversion* pYcbcrConversion); 5706 5707 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversion( 5708 VkDevice device, 5709 VkSamplerYcbcrConversion ycbcrConversion, 5710 const VkAllocationCallbacks* pAllocator); 5711 5712 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplate( 5713 VkDevice device, 5714 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, 5715 const VkAllocationCallbacks* pAllocator, 5716 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 5717 5718 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplate( 5719 VkDevice device, 5720 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 5721 const VkAllocationCallbacks* pAllocator); 5722 5723 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplate( 5724 VkDevice device, 5725 VkDescriptorSet descriptorSet, 5726 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 5727 const void* pData); 5728 5729 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties( 5730 VkPhysicalDevice physicalDevice, 5731 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, 5732 VkExternalBufferProperties* pExternalBufferProperties); 5733 5734 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFenceProperties( 5735 VkPhysicalDevice physicalDevice, 5736 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, 5737 VkExternalFenceProperties* pExternalFenceProperties); 5738 5739 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphoreProperties( 5740 VkPhysicalDevice physicalDevice, 5741 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, 5742 VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 5743 5744 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport( 5745 VkDevice device, 5746 const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 5747 VkDescriptorSetLayoutSupport* pSupport); 5748 #endif 5749 5750 5751 // VK_VERSION_1_2 is a preprocessor guard. Do not pass it to API calls. 5752 #define VK_VERSION_1_2 1 5753 // Vulkan 1.2 version number 5754 #define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)// Patch version should always be set to 0 5755 5756 #define VK_MAX_DRIVER_NAME_SIZE 256U 5757 #define VK_MAX_DRIVER_INFO_SIZE 256U 5758 5759 typedef enum VkDriverId { 5760 VK_DRIVER_ID_AMD_PROPRIETARY = 1, 5761 VK_DRIVER_ID_AMD_OPEN_SOURCE = 2, 5762 VK_DRIVER_ID_MESA_RADV = 3, 5763 VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4, 5764 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5, 5765 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6, 5766 VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7, 5767 VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8, 5768 VK_DRIVER_ID_ARM_PROPRIETARY = 9, 5769 VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10, 5770 VK_DRIVER_ID_GGP_PROPRIETARY = 11, 5771 VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12, 5772 VK_DRIVER_ID_MESA_LLVMPIPE = 13, 5773 VK_DRIVER_ID_MOLTENVK = 14, 5774 VK_DRIVER_ID_COREAVI_PROPRIETARY = 15, 5775 VK_DRIVER_ID_JUICE_PROPRIETARY = 16, 5776 VK_DRIVER_ID_VERISILICON_PROPRIETARY = 17, 5777 VK_DRIVER_ID_MESA_TURNIP = 18, 5778 VK_DRIVER_ID_MESA_V3DV = 19, 5779 VK_DRIVER_ID_MESA_PANVK = 20, 5780 VK_DRIVER_ID_SAMSUNG_PROPRIETARY = 21, 5781 VK_DRIVER_ID_MESA_VENUS = 22, 5782 VK_DRIVER_ID_MESA_DOZEN = 23, 5783 VK_DRIVER_ID_MESA_NVK = 24, 5784 VK_DRIVER_ID_IMAGINATION_OPEN_SOURCE_MESA = 25, 5785 VK_DRIVER_ID_MESA_AGXV = 26, 5786 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY, 5787 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE, 5788 VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV, 5789 VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR = VK_DRIVER_ID_NVIDIA_PROPRIETARY, 5790 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS, 5791 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA, 5792 VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR = VK_DRIVER_ID_IMAGINATION_PROPRIETARY, 5793 VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR = VK_DRIVER_ID_QUALCOMM_PROPRIETARY, 5794 VK_DRIVER_ID_ARM_PROPRIETARY_KHR = VK_DRIVER_ID_ARM_PROPRIETARY, 5795 VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR = VK_DRIVER_ID_GOOGLE_SWIFTSHADER, 5796 VK_DRIVER_ID_GGP_PROPRIETARY_KHR = VK_DRIVER_ID_GGP_PROPRIETARY, 5797 VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR = VK_DRIVER_ID_BROADCOM_PROPRIETARY, 5798 VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF 5799 } VkDriverId; 5800 5801 typedef enum VkShaderFloatControlsIndependence { 5802 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0, 5803 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1, 5804 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2, 5805 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY, 5806 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL, 5807 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE, 5808 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM = 0x7FFFFFFF 5809 } VkShaderFloatControlsIndependence; 5810 5811 typedef enum VkSamplerReductionMode { 5812 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0, 5813 VK_SAMPLER_REDUCTION_MODE_MIN = 1, 5814 VK_SAMPLER_REDUCTION_MODE_MAX = 2, 5815 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_RANGECLAMP_QCOM = 1000521000, 5816 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, 5817 VK_SAMPLER_REDUCTION_MODE_MIN_EXT = VK_SAMPLER_REDUCTION_MODE_MIN, 5818 VK_SAMPLER_REDUCTION_MODE_MAX_EXT = VK_SAMPLER_REDUCTION_MODE_MAX, 5819 VK_SAMPLER_REDUCTION_MODE_MAX_ENUM = 0x7FFFFFFF 5820 } VkSamplerReductionMode; 5821 5822 typedef enum VkSemaphoreType { 5823 VK_SEMAPHORE_TYPE_BINARY = 0, 5824 VK_SEMAPHORE_TYPE_TIMELINE = 1, 5825 VK_SEMAPHORE_TYPE_BINARY_KHR = VK_SEMAPHORE_TYPE_BINARY, 5826 VK_SEMAPHORE_TYPE_TIMELINE_KHR = VK_SEMAPHORE_TYPE_TIMELINE, 5827 VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF 5828 } VkSemaphoreType; 5829 5830 typedef enum VkResolveModeFlagBits { 5831 VK_RESOLVE_MODE_NONE = 0, 5832 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 0x00000001, 5833 VK_RESOLVE_MODE_AVERAGE_BIT = 0x00000002, 5834 VK_RESOLVE_MODE_MIN_BIT = 0x00000004, 5835 VK_RESOLVE_MODE_MAX_BIT = 0x00000008, 5836 VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID = 0x00000010, 5837 VK_RESOLVE_MODE_NONE_KHR = VK_RESOLVE_MODE_NONE, 5838 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT, 5839 VK_RESOLVE_MODE_AVERAGE_BIT_KHR = VK_RESOLVE_MODE_AVERAGE_BIT, 5840 VK_RESOLVE_MODE_MIN_BIT_KHR = VK_RESOLVE_MODE_MIN_BIT, 5841 VK_RESOLVE_MODE_MAX_BIT_KHR = VK_RESOLVE_MODE_MAX_BIT, 5842 VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5843 } VkResolveModeFlagBits; 5844 typedef VkFlags VkResolveModeFlags; 5845 5846 typedef enum VkDescriptorBindingFlagBits { 5847 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 0x00000001, 5848 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 0x00000002, 5849 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 0x00000004, 5850 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 0x00000008, 5851 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT, 5852 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT, 5853 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT, 5854 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT, 5855 VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5856 } VkDescriptorBindingFlagBits; 5857 typedef VkFlags VkDescriptorBindingFlags; 5858 5859 typedef enum VkSemaphoreWaitFlagBits { 5860 VK_SEMAPHORE_WAIT_ANY_BIT = 0x00000001, 5861 VK_SEMAPHORE_WAIT_ANY_BIT_KHR = VK_SEMAPHORE_WAIT_ANY_BIT, 5862 VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5863 } VkSemaphoreWaitFlagBits; 5864 typedef VkFlags VkSemaphoreWaitFlags; 5865 typedef struct VkPhysicalDeviceVulkan11Features { 5866 VkStructureType sType; 5867 void* pNext; 5868 VkBool32 storageBuffer16BitAccess; 5869 VkBool32 uniformAndStorageBuffer16BitAccess; 5870 VkBool32 storagePushConstant16; 5871 VkBool32 storageInputOutput16; 5872 VkBool32 multiview; 5873 VkBool32 multiviewGeometryShader; 5874 VkBool32 multiviewTessellationShader; 5875 VkBool32 variablePointersStorageBuffer; 5876 VkBool32 variablePointers; 5877 VkBool32 protectedMemory; 5878 VkBool32 samplerYcbcrConversion; 5879 VkBool32 shaderDrawParameters; 5880 } VkPhysicalDeviceVulkan11Features; 5881 5882 typedef struct VkPhysicalDeviceVulkan11Properties { 5883 VkStructureType sType; 5884 void* pNext; 5885 uint8_t deviceUUID[VK_UUID_SIZE]; 5886 uint8_t driverUUID[VK_UUID_SIZE]; 5887 uint8_t deviceLUID[VK_LUID_SIZE]; 5888 uint32_t deviceNodeMask; 5889 VkBool32 deviceLUIDValid; 5890 uint32_t subgroupSize; 5891 VkShaderStageFlags subgroupSupportedStages; 5892 VkSubgroupFeatureFlags subgroupSupportedOperations; 5893 VkBool32 subgroupQuadOperationsInAllStages; 5894 VkPointClippingBehavior pointClippingBehavior; 5895 uint32_t maxMultiviewViewCount; 5896 uint32_t maxMultiviewInstanceIndex; 5897 VkBool32 protectedNoFault; 5898 uint32_t maxPerSetDescriptors; 5899 VkDeviceSize maxMemoryAllocationSize; 5900 } VkPhysicalDeviceVulkan11Properties; 5901 5902 typedef struct VkPhysicalDeviceVulkan12Features { 5903 VkStructureType sType; 5904 void* pNext; 5905 VkBool32 samplerMirrorClampToEdge; 5906 VkBool32 drawIndirectCount; 5907 VkBool32 storageBuffer8BitAccess; 5908 VkBool32 uniformAndStorageBuffer8BitAccess; 5909 VkBool32 storagePushConstant8; 5910 VkBool32 shaderBufferInt64Atomics; 5911 VkBool32 shaderSharedInt64Atomics; 5912 VkBool32 shaderFloat16; 5913 VkBool32 shaderInt8; 5914 VkBool32 descriptorIndexing; 5915 VkBool32 shaderInputAttachmentArrayDynamicIndexing; 5916 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing; 5917 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing; 5918 VkBool32 shaderUniformBufferArrayNonUniformIndexing; 5919 VkBool32 shaderSampledImageArrayNonUniformIndexing; 5920 VkBool32 shaderStorageBufferArrayNonUniformIndexing; 5921 VkBool32 shaderStorageImageArrayNonUniformIndexing; 5922 VkBool32 shaderInputAttachmentArrayNonUniformIndexing; 5923 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing; 5924 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing; 5925 VkBool32 descriptorBindingUniformBufferUpdateAfterBind; 5926 VkBool32 descriptorBindingSampledImageUpdateAfterBind; 5927 VkBool32 descriptorBindingStorageImageUpdateAfterBind; 5928 VkBool32 descriptorBindingStorageBufferUpdateAfterBind; 5929 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind; 5930 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind; 5931 VkBool32 descriptorBindingUpdateUnusedWhilePending; 5932 VkBool32 descriptorBindingPartiallyBound; 5933 VkBool32 descriptorBindingVariableDescriptorCount; 5934 VkBool32 runtimeDescriptorArray; 5935 VkBool32 samplerFilterMinmax; 5936 VkBool32 scalarBlockLayout; 5937 VkBool32 imagelessFramebuffer; 5938 VkBool32 uniformBufferStandardLayout; 5939 VkBool32 shaderSubgroupExtendedTypes; 5940 VkBool32 separateDepthStencilLayouts; 5941 VkBool32 hostQueryReset; 5942 VkBool32 timelineSemaphore; 5943 VkBool32 bufferDeviceAddress; 5944 VkBool32 bufferDeviceAddressCaptureReplay; 5945 VkBool32 bufferDeviceAddressMultiDevice; 5946 VkBool32 vulkanMemoryModel; 5947 VkBool32 vulkanMemoryModelDeviceScope; 5948 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains; 5949 VkBool32 shaderOutputViewportIndex; 5950 VkBool32 shaderOutputLayer; 5951 VkBool32 subgroupBroadcastDynamicId; 5952 } VkPhysicalDeviceVulkan12Features; 5953 5954 typedef struct VkConformanceVersion { 5955 uint8_t major; 5956 uint8_t minor; 5957 uint8_t subminor; 5958 uint8_t patch; 5959 } VkConformanceVersion; 5960 5961 typedef struct VkPhysicalDeviceVulkan12Properties { 5962 VkStructureType sType; 5963 void* pNext; 5964 VkDriverId driverID; 5965 char driverName[VK_MAX_DRIVER_NAME_SIZE]; 5966 char driverInfo[VK_MAX_DRIVER_INFO_SIZE]; 5967 VkConformanceVersion conformanceVersion; 5968 VkShaderFloatControlsIndependence denormBehaviorIndependence; 5969 VkShaderFloatControlsIndependence roundingModeIndependence; 5970 VkBool32 shaderSignedZeroInfNanPreserveFloat16; 5971 VkBool32 shaderSignedZeroInfNanPreserveFloat32; 5972 VkBool32 shaderSignedZeroInfNanPreserveFloat64; 5973 VkBool32 shaderDenormPreserveFloat16; 5974 VkBool32 shaderDenormPreserveFloat32; 5975 VkBool32 shaderDenormPreserveFloat64; 5976 VkBool32 shaderDenormFlushToZeroFloat16; 5977 VkBool32 shaderDenormFlushToZeroFloat32; 5978 VkBool32 shaderDenormFlushToZeroFloat64; 5979 VkBool32 shaderRoundingModeRTEFloat16; 5980 VkBool32 shaderRoundingModeRTEFloat32; 5981 VkBool32 shaderRoundingModeRTEFloat64; 5982 VkBool32 shaderRoundingModeRTZFloat16; 5983 VkBool32 shaderRoundingModeRTZFloat32; 5984 VkBool32 shaderRoundingModeRTZFloat64; 5985 uint32_t maxUpdateAfterBindDescriptorsInAllPools; 5986 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative; 5987 VkBool32 shaderSampledImageArrayNonUniformIndexingNative; 5988 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative; 5989 VkBool32 shaderStorageImageArrayNonUniformIndexingNative; 5990 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative; 5991 VkBool32 robustBufferAccessUpdateAfterBind; 5992 VkBool32 quadDivergentImplicitLod; 5993 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers; 5994 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers; 5995 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers; 5996 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages; 5997 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages; 5998 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments; 5999 uint32_t maxPerStageUpdateAfterBindResources; 6000 uint32_t maxDescriptorSetUpdateAfterBindSamplers; 6001 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers; 6002 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic; 6003 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers; 6004 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic; 6005 uint32_t maxDescriptorSetUpdateAfterBindSampledImages; 6006 uint32_t maxDescriptorSetUpdateAfterBindStorageImages; 6007 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments; 6008 VkResolveModeFlags supportedDepthResolveModes; 6009 VkResolveModeFlags supportedStencilResolveModes; 6010 VkBool32 independentResolveNone; 6011 VkBool32 independentResolve; 6012 VkBool32 filterMinmaxSingleComponentFormats; 6013 VkBool32 filterMinmaxImageComponentMapping; 6014 uint64_t maxTimelineSemaphoreValueDifference; 6015 VkSampleCountFlags framebufferIntegerColorSampleCounts; 6016 } VkPhysicalDeviceVulkan12Properties; 6017 6018 typedef struct VkImageFormatListCreateInfo { 6019 VkStructureType sType; 6020 const void* pNext; 6021 uint32_t viewFormatCount; 6022 const VkFormat* pViewFormats; 6023 } VkImageFormatListCreateInfo; 6024 6025 typedef struct VkAttachmentDescription2 { 6026 VkStructureType sType; 6027 const void* pNext; 6028 VkAttachmentDescriptionFlags flags; 6029 VkFormat format; 6030 VkSampleCountFlagBits samples; 6031 VkAttachmentLoadOp loadOp; 6032 VkAttachmentStoreOp storeOp; 6033 VkAttachmentLoadOp stencilLoadOp; 6034 VkAttachmentStoreOp stencilStoreOp; 6035 VkImageLayout initialLayout; 6036 VkImageLayout finalLayout; 6037 } VkAttachmentDescription2; 6038 6039 typedef struct VkAttachmentReference2 { 6040 VkStructureType sType; 6041 const void* pNext; 6042 uint32_t attachment; 6043 VkImageLayout layout; 6044 VkImageAspectFlags aspectMask; 6045 } VkAttachmentReference2; 6046 6047 typedef struct VkSubpassDescription2 { 6048 VkStructureType sType; 6049 const void* pNext; 6050 VkSubpassDescriptionFlags flags; 6051 VkPipelineBindPoint pipelineBindPoint; 6052 uint32_t viewMask; 6053 uint32_t inputAttachmentCount; 6054 const VkAttachmentReference2* pInputAttachments; 6055 uint32_t colorAttachmentCount; 6056 const VkAttachmentReference2* pColorAttachments; 6057 const VkAttachmentReference2* pResolveAttachments; 6058 const VkAttachmentReference2* pDepthStencilAttachment; 6059 uint32_t preserveAttachmentCount; 6060 const uint32_t* pPreserveAttachments; 6061 } VkSubpassDescription2; 6062 6063 typedef struct VkSubpassDependency2 { 6064 VkStructureType sType; 6065 const void* pNext; 6066 uint32_t srcSubpass; 6067 uint32_t dstSubpass; 6068 VkPipelineStageFlags srcStageMask; 6069 VkPipelineStageFlags dstStageMask; 6070 VkAccessFlags srcAccessMask; 6071 VkAccessFlags dstAccessMask; 6072 VkDependencyFlags dependencyFlags; 6073 int32_t viewOffset; 6074 } VkSubpassDependency2; 6075 6076 typedef struct VkRenderPassCreateInfo2 { 6077 VkStructureType sType; 6078 const void* pNext; 6079 VkRenderPassCreateFlags flags; 6080 uint32_t attachmentCount; 6081 const VkAttachmentDescription2* pAttachments; 6082 uint32_t subpassCount; 6083 const VkSubpassDescription2* pSubpasses; 6084 uint32_t dependencyCount; 6085 const VkSubpassDependency2* pDependencies; 6086 uint32_t correlatedViewMaskCount; 6087 const uint32_t* pCorrelatedViewMasks; 6088 } VkRenderPassCreateInfo2; 6089 6090 typedef struct VkSubpassBeginInfo { 6091 VkStructureType sType; 6092 const void* pNext; 6093 VkSubpassContents contents; 6094 } VkSubpassBeginInfo; 6095 6096 typedef struct VkSubpassEndInfo { 6097 VkStructureType sType; 6098 const void* pNext; 6099 } VkSubpassEndInfo; 6100 6101 typedef struct VkPhysicalDevice8BitStorageFeatures { 6102 VkStructureType sType; 6103 void* pNext; 6104 VkBool32 storageBuffer8BitAccess; 6105 VkBool32 uniformAndStorageBuffer8BitAccess; 6106 VkBool32 storagePushConstant8; 6107 } VkPhysicalDevice8BitStorageFeatures; 6108 6109 typedef struct VkPhysicalDeviceDriverProperties { 6110 VkStructureType sType; 6111 void* pNext; 6112 VkDriverId driverID; 6113 char driverName[VK_MAX_DRIVER_NAME_SIZE]; 6114 char driverInfo[VK_MAX_DRIVER_INFO_SIZE]; 6115 VkConformanceVersion conformanceVersion; 6116 } VkPhysicalDeviceDriverProperties; 6117 6118 typedef struct VkPhysicalDeviceShaderAtomicInt64Features { 6119 VkStructureType sType; 6120 void* pNext; 6121 VkBool32 shaderBufferInt64Atomics; 6122 VkBool32 shaderSharedInt64Atomics; 6123 } VkPhysicalDeviceShaderAtomicInt64Features; 6124 6125 typedef struct VkPhysicalDeviceShaderFloat16Int8Features { 6126 VkStructureType sType; 6127 void* pNext; 6128 VkBool32 shaderFloat16; 6129 VkBool32 shaderInt8; 6130 } VkPhysicalDeviceShaderFloat16Int8Features; 6131 6132 typedef struct VkPhysicalDeviceFloatControlsProperties { 6133 VkStructureType sType; 6134 void* pNext; 6135 VkShaderFloatControlsIndependence denormBehaviorIndependence; 6136 VkShaderFloatControlsIndependence roundingModeIndependence; 6137 VkBool32 shaderSignedZeroInfNanPreserveFloat16; 6138 VkBool32 shaderSignedZeroInfNanPreserveFloat32; 6139 VkBool32 shaderSignedZeroInfNanPreserveFloat64; 6140 VkBool32 shaderDenormPreserveFloat16; 6141 VkBool32 shaderDenormPreserveFloat32; 6142 VkBool32 shaderDenormPreserveFloat64; 6143 VkBool32 shaderDenormFlushToZeroFloat16; 6144 VkBool32 shaderDenormFlushToZeroFloat32; 6145 VkBool32 shaderDenormFlushToZeroFloat64; 6146 VkBool32 shaderRoundingModeRTEFloat16; 6147 VkBool32 shaderRoundingModeRTEFloat32; 6148 VkBool32 shaderRoundingModeRTEFloat64; 6149 VkBool32 shaderRoundingModeRTZFloat16; 6150 VkBool32 shaderRoundingModeRTZFloat32; 6151 VkBool32 shaderRoundingModeRTZFloat64; 6152 } VkPhysicalDeviceFloatControlsProperties; 6153 6154 typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo { 6155 VkStructureType sType; 6156 const void* pNext; 6157 uint32_t bindingCount; 6158 const VkDescriptorBindingFlags* pBindingFlags; 6159 } VkDescriptorSetLayoutBindingFlagsCreateInfo; 6160 6161 typedef struct VkPhysicalDeviceDescriptorIndexingFeatures { 6162 VkStructureType sType; 6163 void* pNext; 6164 VkBool32 shaderInputAttachmentArrayDynamicIndexing; 6165 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing; 6166 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing; 6167 VkBool32 shaderUniformBufferArrayNonUniformIndexing; 6168 VkBool32 shaderSampledImageArrayNonUniformIndexing; 6169 VkBool32 shaderStorageBufferArrayNonUniformIndexing; 6170 VkBool32 shaderStorageImageArrayNonUniformIndexing; 6171 VkBool32 shaderInputAttachmentArrayNonUniformIndexing; 6172 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing; 6173 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing; 6174 VkBool32 descriptorBindingUniformBufferUpdateAfterBind; 6175 VkBool32 descriptorBindingSampledImageUpdateAfterBind; 6176 VkBool32 descriptorBindingStorageImageUpdateAfterBind; 6177 VkBool32 descriptorBindingStorageBufferUpdateAfterBind; 6178 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind; 6179 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind; 6180 VkBool32 descriptorBindingUpdateUnusedWhilePending; 6181 VkBool32 descriptorBindingPartiallyBound; 6182 VkBool32 descriptorBindingVariableDescriptorCount; 6183 VkBool32 runtimeDescriptorArray; 6184 } VkPhysicalDeviceDescriptorIndexingFeatures; 6185 6186 typedef struct VkPhysicalDeviceDescriptorIndexingProperties { 6187 VkStructureType sType; 6188 void* pNext; 6189 uint32_t maxUpdateAfterBindDescriptorsInAllPools; 6190 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative; 6191 VkBool32 shaderSampledImageArrayNonUniformIndexingNative; 6192 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative; 6193 VkBool32 shaderStorageImageArrayNonUniformIndexingNative; 6194 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative; 6195 VkBool32 robustBufferAccessUpdateAfterBind; 6196 VkBool32 quadDivergentImplicitLod; 6197 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers; 6198 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers; 6199 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers; 6200 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages; 6201 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages; 6202 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments; 6203 uint32_t maxPerStageUpdateAfterBindResources; 6204 uint32_t maxDescriptorSetUpdateAfterBindSamplers; 6205 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers; 6206 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic; 6207 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers; 6208 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic; 6209 uint32_t maxDescriptorSetUpdateAfterBindSampledImages; 6210 uint32_t maxDescriptorSetUpdateAfterBindStorageImages; 6211 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments; 6212 } VkPhysicalDeviceDescriptorIndexingProperties; 6213 6214 typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo { 6215 VkStructureType sType; 6216 const void* pNext; 6217 uint32_t descriptorSetCount; 6218 const uint32_t* pDescriptorCounts; 6219 } VkDescriptorSetVariableDescriptorCountAllocateInfo; 6220 6221 typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport { 6222 VkStructureType sType; 6223 void* pNext; 6224 uint32_t maxVariableDescriptorCount; 6225 } VkDescriptorSetVariableDescriptorCountLayoutSupport; 6226 6227 typedef struct VkSubpassDescriptionDepthStencilResolve { 6228 VkStructureType sType; 6229 const void* pNext; 6230 VkResolveModeFlagBits depthResolveMode; 6231 VkResolveModeFlagBits stencilResolveMode; 6232 const VkAttachmentReference2* pDepthStencilResolveAttachment; 6233 } VkSubpassDescriptionDepthStencilResolve; 6234 6235 typedef struct VkPhysicalDeviceDepthStencilResolveProperties { 6236 VkStructureType sType; 6237 void* pNext; 6238 VkResolveModeFlags supportedDepthResolveModes; 6239 VkResolveModeFlags supportedStencilResolveModes; 6240 VkBool32 independentResolveNone; 6241 VkBool32 independentResolve; 6242 } VkPhysicalDeviceDepthStencilResolveProperties; 6243 6244 typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures { 6245 VkStructureType sType; 6246 void* pNext; 6247 VkBool32 scalarBlockLayout; 6248 } VkPhysicalDeviceScalarBlockLayoutFeatures; 6249 6250 typedef struct VkImageStencilUsageCreateInfo { 6251 VkStructureType sType; 6252 const void* pNext; 6253 VkImageUsageFlags stencilUsage; 6254 } VkImageStencilUsageCreateInfo; 6255 6256 typedef struct VkSamplerReductionModeCreateInfo { 6257 VkStructureType sType; 6258 const void* pNext; 6259 VkSamplerReductionMode reductionMode; 6260 } VkSamplerReductionModeCreateInfo; 6261 6262 typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties { 6263 VkStructureType sType; 6264 void* pNext; 6265 VkBool32 filterMinmaxSingleComponentFormats; 6266 VkBool32 filterMinmaxImageComponentMapping; 6267 } VkPhysicalDeviceSamplerFilterMinmaxProperties; 6268 6269 typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures { 6270 VkStructureType sType; 6271 void* pNext; 6272 VkBool32 vulkanMemoryModel; 6273 VkBool32 vulkanMemoryModelDeviceScope; 6274 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains; 6275 } VkPhysicalDeviceVulkanMemoryModelFeatures; 6276 6277 typedef struct VkPhysicalDeviceImagelessFramebufferFeatures { 6278 VkStructureType sType; 6279 void* pNext; 6280 VkBool32 imagelessFramebuffer; 6281 } VkPhysicalDeviceImagelessFramebufferFeatures; 6282 6283 typedef struct VkFramebufferAttachmentImageInfo { 6284 VkStructureType sType; 6285 const void* pNext; 6286 VkImageCreateFlags flags; 6287 VkImageUsageFlags usage; 6288 uint32_t width; 6289 uint32_t height; 6290 uint32_t layerCount; 6291 uint32_t viewFormatCount; 6292 const VkFormat* pViewFormats; 6293 } VkFramebufferAttachmentImageInfo; 6294 6295 typedef struct VkFramebufferAttachmentsCreateInfo { 6296 VkStructureType sType; 6297 const void* pNext; 6298 uint32_t attachmentImageInfoCount; 6299 const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos; 6300 } VkFramebufferAttachmentsCreateInfo; 6301 6302 typedef struct VkRenderPassAttachmentBeginInfo { 6303 VkStructureType sType; 6304 const void* pNext; 6305 uint32_t attachmentCount; 6306 const VkImageView* pAttachments; 6307 } VkRenderPassAttachmentBeginInfo; 6308 6309 typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures { 6310 VkStructureType sType; 6311 void* pNext; 6312 VkBool32 uniformBufferStandardLayout; 6313 } VkPhysicalDeviceUniformBufferStandardLayoutFeatures; 6314 6315 typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures { 6316 VkStructureType sType; 6317 void* pNext; 6318 VkBool32 shaderSubgroupExtendedTypes; 6319 } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures; 6320 6321 typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures { 6322 VkStructureType sType; 6323 void* pNext; 6324 VkBool32 separateDepthStencilLayouts; 6325 } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures; 6326 6327 typedef struct VkAttachmentReferenceStencilLayout { 6328 VkStructureType sType; 6329 void* pNext; 6330 VkImageLayout stencilLayout; 6331 } VkAttachmentReferenceStencilLayout; 6332 6333 typedef struct VkAttachmentDescriptionStencilLayout { 6334 VkStructureType sType; 6335 void* pNext; 6336 VkImageLayout stencilInitialLayout; 6337 VkImageLayout stencilFinalLayout; 6338 } VkAttachmentDescriptionStencilLayout; 6339 6340 typedef struct VkPhysicalDeviceHostQueryResetFeatures { 6341 VkStructureType sType; 6342 void* pNext; 6343 VkBool32 hostQueryReset; 6344 } VkPhysicalDeviceHostQueryResetFeatures; 6345 6346 typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures { 6347 VkStructureType sType; 6348 void* pNext; 6349 VkBool32 timelineSemaphore; 6350 } VkPhysicalDeviceTimelineSemaphoreFeatures; 6351 6352 typedef struct VkPhysicalDeviceTimelineSemaphoreProperties { 6353 VkStructureType sType; 6354 void* pNext; 6355 uint64_t maxTimelineSemaphoreValueDifference; 6356 } VkPhysicalDeviceTimelineSemaphoreProperties; 6357 6358 typedef struct VkSemaphoreTypeCreateInfo { 6359 VkStructureType sType; 6360 const void* pNext; 6361 VkSemaphoreType semaphoreType; 6362 uint64_t initialValue; 6363 } VkSemaphoreTypeCreateInfo; 6364 6365 typedef struct VkTimelineSemaphoreSubmitInfo { 6366 VkStructureType sType; 6367 const void* pNext; 6368 uint32_t waitSemaphoreValueCount; 6369 const uint64_t* pWaitSemaphoreValues; 6370 uint32_t signalSemaphoreValueCount; 6371 const uint64_t* pSignalSemaphoreValues; 6372 } VkTimelineSemaphoreSubmitInfo; 6373 6374 typedef struct VkSemaphoreWaitInfo { 6375 VkStructureType sType; 6376 const void* pNext; 6377 VkSemaphoreWaitFlags flags; 6378 uint32_t semaphoreCount; 6379 const VkSemaphore* pSemaphores; 6380 const uint64_t* pValues; 6381 } VkSemaphoreWaitInfo; 6382 6383 typedef struct VkSemaphoreSignalInfo { 6384 VkStructureType sType; 6385 const void* pNext; 6386 VkSemaphore semaphore; 6387 uint64_t value; 6388 } VkSemaphoreSignalInfo; 6389 6390 typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures { 6391 VkStructureType sType; 6392 void* pNext; 6393 VkBool32 bufferDeviceAddress; 6394 VkBool32 bufferDeviceAddressCaptureReplay; 6395 VkBool32 bufferDeviceAddressMultiDevice; 6396 } VkPhysicalDeviceBufferDeviceAddressFeatures; 6397 6398 typedef struct VkBufferDeviceAddressInfo { 6399 VkStructureType sType; 6400 const void* pNext; 6401 VkBuffer buffer; 6402 } VkBufferDeviceAddressInfo; 6403 6404 typedef struct VkBufferOpaqueCaptureAddressCreateInfo { 6405 VkStructureType sType; 6406 const void* pNext; 6407 uint64_t opaqueCaptureAddress; 6408 } VkBufferOpaqueCaptureAddressCreateInfo; 6409 6410 typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo { 6411 VkStructureType sType; 6412 const void* pNext; 6413 uint64_t opaqueCaptureAddress; 6414 } VkMemoryOpaqueCaptureAddressAllocateInfo; 6415 6416 typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo { 6417 VkStructureType sType; 6418 const void* pNext; 6419 VkDeviceMemory memory; 6420 } VkDeviceMemoryOpaqueCaptureAddressInfo; 6421 6422 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 6423 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 6424 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); 6425 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo); 6426 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo); 6427 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo); 6428 typedef void (VKAPI_PTR *PFN_vkResetQueryPool)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount); 6429 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValue)(VkDevice device, VkSemaphore semaphore, uint64_t* pValue); 6430 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphores)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout); 6431 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphore)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo); 6432 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 6433 typedef uint64_t (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 6434 typedef uint64_t (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); 6435 6436 #ifndef VK_NO_PROTOTYPES 6437 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCount( 6438 VkCommandBuffer commandBuffer, 6439 VkBuffer buffer, 6440 VkDeviceSize offset, 6441 VkBuffer countBuffer, 6442 VkDeviceSize countBufferOffset, 6443 uint32_t maxDrawCount, 6444 uint32_t stride); 6445 6446 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCount( 6447 VkCommandBuffer commandBuffer, 6448 VkBuffer buffer, 6449 VkDeviceSize offset, 6450 VkBuffer countBuffer, 6451 VkDeviceSize countBufferOffset, 6452 uint32_t maxDrawCount, 6453 uint32_t stride); 6454 6455 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2( 6456 VkDevice device, 6457 const VkRenderPassCreateInfo2* pCreateInfo, 6458 const VkAllocationCallbacks* pAllocator, 6459 VkRenderPass* pRenderPass); 6460 6461 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2( 6462 VkCommandBuffer commandBuffer, 6463 const VkRenderPassBeginInfo* pRenderPassBegin, 6464 const VkSubpassBeginInfo* pSubpassBeginInfo); 6465 6466 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2( 6467 VkCommandBuffer commandBuffer, 6468 const VkSubpassBeginInfo* pSubpassBeginInfo, 6469 const VkSubpassEndInfo* pSubpassEndInfo); 6470 6471 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2( 6472 VkCommandBuffer commandBuffer, 6473 const VkSubpassEndInfo* pSubpassEndInfo); 6474 6475 VKAPI_ATTR void VKAPI_CALL vkResetQueryPool( 6476 VkDevice device, 6477 VkQueryPool queryPool, 6478 uint32_t firstQuery, 6479 uint32_t queryCount); 6480 6481 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValue( 6482 VkDevice device, 6483 VkSemaphore semaphore, 6484 uint64_t* pValue); 6485 6486 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphores( 6487 VkDevice device, 6488 const VkSemaphoreWaitInfo* pWaitInfo, 6489 uint64_t timeout); 6490 6491 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphore( 6492 VkDevice device, 6493 const VkSemaphoreSignalInfo* pSignalInfo); 6494 6495 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddress( 6496 VkDevice device, 6497 const VkBufferDeviceAddressInfo* pInfo); 6498 6499 VKAPI_ATTR uint64_t VKAPI_CALL vkGetBufferOpaqueCaptureAddress( 6500 VkDevice device, 6501 const VkBufferDeviceAddressInfo* pInfo); 6502 6503 VKAPI_ATTR uint64_t VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddress( 6504 VkDevice device, 6505 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); 6506 #endif 6507 6508 6509 // VK_VERSION_1_3 is a preprocessor guard. Do not pass it to API calls. 6510 #define VK_VERSION_1_3 1 6511 // Vulkan 1.3 version number 6512 #define VK_API_VERSION_1_3 VK_MAKE_API_VERSION(0, 1, 3, 0)// Patch version should always be set to 0 6513 6514 typedef uint64_t VkFlags64; 6515 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlot) 6516 6517 typedef enum VkPipelineCreationFeedbackFlagBits { 6518 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT = 0x00000001, 6519 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT = 0x00000002, 6520 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT = 0x00000004, 6521 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT, 6522 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT, 6523 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT, 6524 VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 6525 } VkPipelineCreationFeedbackFlagBits; 6526 typedef VkFlags VkPipelineCreationFeedbackFlags; 6527 6528 typedef enum VkToolPurposeFlagBits { 6529 VK_TOOL_PURPOSE_VALIDATION_BIT = 0x00000001, 6530 VK_TOOL_PURPOSE_PROFILING_BIT = 0x00000002, 6531 VK_TOOL_PURPOSE_TRACING_BIT = 0x00000004, 6532 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT = 0x00000008, 6533 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT = 0x00000010, 6534 VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 0x00000020, 6535 VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 0x00000040, 6536 VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = VK_TOOL_PURPOSE_VALIDATION_BIT, 6537 VK_TOOL_PURPOSE_PROFILING_BIT_EXT = VK_TOOL_PURPOSE_PROFILING_BIT, 6538 VK_TOOL_PURPOSE_TRACING_BIT_EXT = VK_TOOL_PURPOSE_TRACING_BIT, 6539 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT, 6540 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT, 6541 VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 6542 } VkToolPurposeFlagBits; 6543 typedef VkFlags VkToolPurposeFlags; 6544 typedef VkFlags VkPrivateDataSlotCreateFlags; 6545 typedef VkFlags64 VkPipelineStageFlags2; 6546 6547 // Flag bits for VkPipelineStageFlagBits2 6548 typedef VkFlags64 VkPipelineStageFlagBits2; 6549 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_NONE = 0ULL; 6550 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_NONE_KHR = 0ULL; 6551 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT = 0x00000001ULL; 6552 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR = 0x00000001ULL; 6553 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT = 0x00000002ULL; 6554 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR = 0x00000002ULL; 6555 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT = 0x00000004ULL; 6556 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR = 0x00000004ULL; 6557 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT = 0x00000008ULL; 6558 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR = 0x00000008ULL; 6559 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010ULL; 6560 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR = 0x00000010ULL; 6561 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020ULL; 6562 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR = 0x00000020ULL; 6563 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT = 0x00000040ULL; 6564 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR = 0x00000040ULL; 6565 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT = 0x00000080ULL; 6566 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR = 0x00000080ULL; 6567 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT = 0x00000100ULL; 6568 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR = 0x00000100ULL; 6569 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT = 0x00000200ULL; 6570 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR = 0x00000200ULL; 6571 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400ULL; 6572 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR = 0x00000400ULL; 6573 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT = 0x00000800ULL; 6574 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR = 0x00000800ULL; 6575 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT = 0x00001000ULL; 6576 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR = 0x00001000ULL; 6577 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFER_BIT = 0x00001000ULL; 6578 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR = 0x00001000ULL; 6579 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT = 0x00002000ULL; 6580 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR = 0x00002000ULL; 6581 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_HOST_BIT = 0x00004000ULL; 6582 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_HOST_BIT_KHR = 0x00004000ULL; 6583 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT = 0x00008000ULL; 6584 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR = 0x00008000ULL; 6585 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT = 0x00010000ULL; 6586 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR = 0x00010000ULL; 6587 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT = 0x100000000ULL; 6588 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT_KHR = 0x100000000ULL; 6589 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RESOLVE_BIT = 0x200000000ULL; 6590 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR = 0x200000000ULL; 6591 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BLIT_BIT = 0x400000000ULL; 6592 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BLIT_BIT_KHR = 0x400000000ULL; 6593 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLEAR_BIT = 0x800000000ULL; 6594 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR = 0x800000000ULL; 6595 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT = 0x1000000000ULL; 6596 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = 0x1000000000ULL; 6597 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT = 0x2000000000ULL; 6598 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = 0x2000000000ULL; 6599 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT = 0x4000000000ULL; 6600 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = 0x4000000000ULL; 6601 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR = 0x04000000ULL; 6602 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR = 0x08000000ULL; 6603 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000ULL; 6604 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000ULL; 6605 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = 0x00020000ULL; 6606 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000ULL; 6607 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV = 0x00400000ULL; 6608 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000ULL; 6609 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR = 0x00200000ULL; 6610 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV = 0x00200000ULL; 6611 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000ULL; 6612 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000ULL; 6613 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV = 0x00080000ULL; 6614 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = 0x00100000ULL; 6615 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT = 0x00080000ULL; 6616 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT = 0x00100000ULL; 6617 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI = 0x8000000000ULL; 6618 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI = 0x8000000000ULL; 6619 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI = 0x10000000000ULL; 6620 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR = 0x10000000ULL; 6621 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT = 0x40000000ULL; 6622 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI = 0x20000000000ULL; 6623 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV = 0x20000000ULL; 6624 6625 typedef VkFlags64 VkAccessFlags2; 6626 6627 // Flag bits for VkAccessFlagBits2 6628 typedef VkFlags64 VkAccessFlagBits2; 6629 static const VkAccessFlagBits2 VK_ACCESS_2_NONE = 0ULL; 6630 static const VkAccessFlagBits2 VK_ACCESS_2_NONE_KHR = 0ULL; 6631 static const VkAccessFlagBits2 VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT = 0x00000001ULL; 6632 static const VkAccessFlagBits2 VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR = 0x00000001ULL; 6633 static const VkAccessFlagBits2 VK_ACCESS_2_INDEX_READ_BIT = 0x00000002ULL; 6634 static const VkAccessFlagBits2 VK_ACCESS_2_INDEX_READ_BIT_KHR = 0x00000002ULL; 6635 static const VkAccessFlagBits2 VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004ULL; 6636 static const VkAccessFlagBits2 VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR = 0x00000004ULL; 6637 static const VkAccessFlagBits2 VK_ACCESS_2_UNIFORM_READ_BIT = 0x00000008ULL; 6638 static const VkAccessFlagBits2 VK_ACCESS_2_UNIFORM_READ_BIT_KHR = 0x00000008ULL; 6639 static const VkAccessFlagBits2 VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT = 0x00000010ULL; 6640 static const VkAccessFlagBits2 VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR = 0x00000010ULL; 6641 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_READ_BIT = 0x00000020ULL; 6642 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_READ_BIT_KHR = 0x00000020ULL; 6643 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_WRITE_BIT = 0x00000040ULL; 6644 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_WRITE_BIT_KHR = 0x00000040ULL; 6645 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT = 0x00000080ULL; 6646 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR = 0x00000080ULL; 6647 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100ULL; 6648 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR = 0x00000100ULL; 6649 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200ULL; 6650 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR = 0x00000200ULL; 6651 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400ULL; 6652 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR = 0x00000400ULL; 6653 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_READ_BIT = 0x00000800ULL; 6654 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_READ_BIT_KHR = 0x00000800ULL; 6655 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_WRITE_BIT = 0x00001000ULL; 6656 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR = 0x00001000ULL; 6657 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_READ_BIT = 0x00002000ULL; 6658 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_READ_BIT_KHR = 0x00002000ULL; 6659 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_WRITE_BIT = 0x00004000ULL; 6660 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_WRITE_BIT_KHR = 0x00004000ULL; 6661 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_READ_BIT = 0x00008000ULL; 6662 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_READ_BIT_KHR = 0x00008000ULL; 6663 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_WRITE_BIT = 0x00010000ULL; 6664 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_WRITE_BIT_KHR = 0x00010000ULL; 6665 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_SAMPLED_READ_BIT = 0x100000000ULL; 6666 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR = 0x100000000ULL; 6667 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT = 0x200000000ULL; 6668 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 0x200000000ULL; 6669 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT = 0x400000000ULL; 6670 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 0x400000000ULL; 6671 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR = 0x800000000ULL; 6672 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR = 0x1000000000ULL; 6673 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR = 0x2000000000ULL; 6674 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR = 0x4000000000ULL; 6675 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000ULL; 6676 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000ULL; 6677 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000ULL; 6678 static const VkAccessFlagBits2 VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000ULL; 6679 static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000ULL; 6680 static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000ULL; 6681 static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000ULL; 6682 static const VkAccessFlagBits2 VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000ULL; 6683 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000ULL; 6684 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000ULL; 6685 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000ULL; 6686 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000ULL; 6687 static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000ULL; 6688 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000ULL; 6689 static const VkAccessFlagBits2 VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT = 0x20000000000ULL; 6690 static const VkAccessFlagBits2 VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI = 0x8000000000ULL; 6691 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR = 0x10000000000ULL; 6692 static const VkAccessFlagBits2 VK_ACCESS_2_MICROMAP_READ_BIT_EXT = 0x100000000000ULL; 6693 static const VkAccessFlagBits2 VK_ACCESS_2_MICROMAP_WRITE_BIT_EXT = 0x200000000000ULL; 6694 static const VkAccessFlagBits2 VK_ACCESS_2_OPTICAL_FLOW_READ_BIT_NV = 0x40000000000ULL; 6695 static const VkAccessFlagBits2 VK_ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV = 0x80000000000ULL; 6696 6697 6698 typedef enum VkSubmitFlagBits { 6699 VK_SUBMIT_PROTECTED_BIT = 0x00000001, 6700 VK_SUBMIT_PROTECTED_BIT_KHR = VK_SUBMIT_PROTECTED_BIT, 6701 VK_SUBMIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 6702 } VkSubmitFlagBits; 6703 typedef VkFlags VkSubmitFlags; 6704 6705 typedef enum VkRenderingFlagBits { 6706 VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT = 0x00000001, 6707 VK_RENDERING_SUSPENDING_BIT = 0x00000002, 6708 VK_RENDERING_RESUMING_BIT = 0x00000004, 6709 VK_RENDERING_CONTENTS_INLINE_BIT_EXT = 0x00000010, 6710 VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT = 0x00000008, 6711 VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT, 6712 VK_RENDERING_SUSPENDING_BIT_KHR = VK_RENDERING_SUSPENDING_BIT, 6713 VK_RENDERING_RESUMING_BIT_KHR = VK_RENDERING_RESUMING_BIT, 6714 VK_RENDERING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 6715 } VkRenderingFlagBits; 6716 typedef VkFlags VkRenderingFlags; 6717 typedef VkFlags64 VkFormatFeatureFlags2; 6718 6719 // Flag bits for VkFormatFeatureFlagBits2 6720 typedef VkFlags64 VkFormatFeatureFlagBits2; 6721 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT = 0x00000001ULL; 6722 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR = 0x00000001ULL; 6723 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT = 0x00000002ULL; 6724 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR = 0x00000002ULL; 6725 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004ULL; 6726 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR = 0x00000004ULL; 6727 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008ULL; 6728 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR = 0x00000008ULL; 6729 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT = 0x00000010ULL; 6730 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT_KHR = 0x00000010ULL; 6731 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020ULL; 6732 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR = 0x00000020ULL; 6733 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT = 0x00000040ULL; 6734 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR = 0x00000040ULL; 6735 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT = 0x00000080ULL; 6736 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR = 0x00000080ULL; 6737 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100ULL; 6738 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR = 0x00000100ULL; 6739 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200ULL; 6740 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR = 0x00000200ULL; 6741 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_SRC_BIT = 0x00000400ULL; 6742 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR = 0x00000400ULL; 6743 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_DST_BIT = 0x00000800ULL; 6744 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_DST_BIT_KHR = 0x00000800ULL; 6745 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000ULL; 6746 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR = 0x00001000ULL; 6747 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT = 0x00002000ULL; 6748 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = 0x00002000ULL; 6749 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT = 0x00004000ULL; 6750 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR = 0x00004000ULL; 6751 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT = 0x00008000ULL; 6752 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR = 0x00008000ULL; 6753 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000ULL; 6754 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR = 0x00010000ULL; 6755 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000ULL; 6756 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = 0x00020000ULL; 6757 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000ULL; 6758 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = 0x00040000ULL; 6759 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000ULL; 6760 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = 0x00080000ULL; 6761 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000ULL; 6762 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = 0x00100000ULL; 6763 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000ULL; 6764 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR = 0x00200000ULL; 6765 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DISJOINT_BIT = 0x00400000ULL; 6766 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DISJOINT_BIT_KHR = 0x00400000ULL; 6767 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT = 0x00800000ULL; 6768 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR = 0x00800000ULL; 6769 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT = 0x80000000ULL; 6770 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR = 0x80000000ULL; 6771 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT = 0x100000000ULL; 6772 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR = 0x100000000ULL; 6773 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT = 0x200000000ULL; 6774 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR = 0x200000000ULL; 6775 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000ULL; 6776 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000ULL; 6777 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000ULL; 6778 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000ULL; 6779 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000ULL; 6780 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_HOST_IMAGE_TRANSFER_BIT_EXT = 0x400000000000ULL; 6781 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000ULL; 6782 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000ULL; 6783 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV = 0x4000000000ULL; 6784 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM = 0x400000000ULL; 6785 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM = 0x800000000ULL; 6786 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM = 0x1000000000ULL; 6787 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM = 0x2000000000ULL; 6788 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_IMAGE_BIT_NV = 0x10000000000ULL; 6789 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_VECTOR_BIT_NV = 0x20000000000ULL; 6790 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_COST_BIT_NV = 0x40000000000ULL; 6791 6792 typedef struct VkPhysicalDeviceVulkan13Features { 6793 VkStructureType sType; 6794 void* pNext; 6795 VkBool32 robustImageAccess; 6796 VkBool32 inlineUniformBlock; 6797 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind; 6798 VkBool32 pipelineCreationCacheControl; 6799 VkBool32 privateData; 6800 VkBool32 shaderDemoteToHelperInvocation; 6801 VkBool32 shaderTerminateInvocation; 6802 VkBool32 subgroupSizeControl; 6803 VkBool32 computeFullSubgroups; 6804 VkBool32 synchronization2; 6805 VkBool32 textureCompressionASTC_HDR; 6806 VkBool32 shaderZeroInitializeWorkgroupMemory; 6807 VkBool32 dynamicRendering; 6808 VkBool32 shaderIntegerDotProduct; 6809 VkBool32 maintenance4; 6810 } VkPhysicalDeviceVulkan13Features; 6811 6812 typedef struct VkPhysicalDeviceVulkan13Properties { 6813 VkStructureType sType; 6814 void* pNext; 6815 uint32_t minSubgroupSize; 6816 uint32_t maxSubgroupSize; 6817 uint32_t maxComputeWorkgroupSubgroups; 6818 VkShaderStageFlags requiredSubgroupSizeStages; 6819 uint32_t maxInlineUniformBlockSize; 6820 uint32_t maxPerStageDescriptorInlineUniformBlocks; 6821 uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks; 6822 uint32_t maxDescriptorSetInlineUniformBlocks; 6823 uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks; 6824 uint32_t maxInlineUniformTotalSize; 6825 VkBool32 integerDotProduct8BitUnsignedAccelerated; 6826 VkBool32 integerDotProduct8BitSignedAccelerated; 6827 VkBool32 integerDotProduct8BitMixedSignednessAccelerated; 6828 VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated; 6829 VkBool32 integerDotProduct4x8BitPackedSignedAccelerated; 6830 VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated; 6831 VkBool32 integerDotProduct16BitUnsignedAccelerated; 6832 VkBool32 integerDotProduct16BitSignedAccelerated; 6833 VkBool32 integerDotProduct16BitMixedSignednessAccelerated; 6834 VkBool32 integerDotProduct32BitUnsignedAccelerated; 6835 VkBool32 integerDotProduct32BitSignedAccelerated; 6836 VkBool32 integerDotProduct32BitMixedSignednessAccelerated; 6837 VkBool32 integerDotProduct64BitUnsignedAccelerated; 6838 VkBool32 integerDotProduct64BitSignedAccelerated; 6839 VkBool32 integerDotProduct64BitMixedSignednessAccelerated; 6840 VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated; 6841 VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated; 6842 VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated; 6843 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated; 6844 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated; 6845 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated; 6846 VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated; 6847 VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated; 6848 VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated; 6849 VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated; 6850 VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated; 6851 VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated; 6852 VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated; 6853 VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated; 6854 VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated; 6855 VkDeviceSize storageTexelBufferOffsetAlignmentBytes; 6856 VkBool32 storageTexelBufferOffsetSingleTexelAlignment; 6857 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes; 6858 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment; 6859 VkDeviceSize maxBufferSize; 6860 } VkPhysicalDeviceVulkan13Properties; 6861 6862 typedef struct VkPipelineCreationFeedback { 6863 VkPipelineCreationFeedbackFlags flags; 6864 uint64_t duration; 6865 } VkPipelineCreationFeedback; 6866 6867 typedef struct VkPipelineCreationFeedbackCreateInfo { 6868 VkStructureType sType; 6869 const void* pNext; 6870 VkPipelineCreationFeedback* pPipelineCreationFeedback; 6871 uint32_t pipelineStageCreationFeedbackCount; 6872 VkPipelineCreationFeedback* pPipelineStageCreationFeedbacks; 6873 } VkPipelineCreationFeedbackCreateInfo; 6874 6875 typedef struct VkPhysicalDeviceShaderTerminateInvocationFeatures { 6876 VkStructureType sType; 6877 void* pNext; 6878 VkBool32 shaderTerminateInvocation; 6879 } VkPhysicalDeviceShaderTerminateInvocationFeatures; 6880 6881 typedef struct VkPhysicalDeviceToolProperties { 6882 VkStructureType sType; 6883 void* pNext; 6884 char name[VK_MAX_EXTENSION_NAME_SIZE]; 6885 char version[VK_MAX_EXTENSION_NAME_SIZE]; 6886 VkToolPurposeFlags purposes; 6887 char description[VK_MAX_DESCRIPTION_SIZE]; 6888 char layer[VK_MAX_EXTENSION_NAME_SIZE]; 6889 } VkPhysicalDeviceToolProperties; 6890 6891 typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures { 6892 VkStructureType sType; 6893 void* pNext; 6894 VkBool32 shaderDemoteToHelperInvocation; 6895 } VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures; 6896 6897 typedef struct VkPhysicalDevicePrivateDataFeatures { 6898 VkStructureType sType; 6899 void* pNext; 6900 VkBool32 privateData; 6901 } VkPhysicalDevicePrivateDataFeatures; 6902 6903 typedef struct VkDevicePrivateDataCreateInfo { 6904 VkStructureType sType; 6905 const void* pNext; 6906 uint32_t privateDataSlotRequestCount; 6907 } VkDevicePrivateDataCreateInfo; 6908 6909 typedef struct VkPrivateDataSlotCreateInfo { 6910 VkStructureType sType; 6911 const void* pNext; 6912 VkPrivateDataSlotCreateFlags flags; 6913 } VkPrivateDataSlotCreateInfo; 6914 6915 typedef struct VkPhysicalDevicePipelineCreationCacheControlFeatures { 6916 VkStructureType sType; 6917 void* pNext; 6918 VkBool32 pipelineCreationCacheControl; 6919 } VkPhysicalDevicePipelineCreationCacheControlFeatures; 6920 6921 typedef struct VkMemoryBarrier2 { 6922 VkStructureType sType; 6923 const void* pNext; 6924 VkPipelineStageFlags2 srcStageMask; 6925 VkAccessFlags2 srcAccessMask; 6926 VkPipelineStageFlags2 dstStageMask; 6927 VkAccessFlags2 dstAccessMask; 6928 } VkMemoryBarrier2; 6929 6930 typedef struct VkBufferMemoryBarrier2 { 6931 VkStructureType sType; 6932 const void* pNext; 6933 VkPipelineStageFlags2 srcStageMask; 6934 VkAccessFlags2 srcAccessMask; 6935 VkPipelineStageFlags2 dstStageMask; 6936 VkAccessFlags2 dstAccessMask; 6937 uint32_t srcQueueFamilyIndex; 6938 uint32_t dstQueueFamilyIndex; 6939 VkBuffer buffer; 6940 VkDeviceSize offset; 6941 VkDeviceSize size; 6942 } VkBufferMemoryBarrier2; 6943 6944 typedef struct VkImageMemoryBarrier2 { 6945 VkStructureType sType; 6946 const void* pNext; 6947 VkPipelineStageFlags2 srcStageMask; 6948 VkAccessFlags2 srcAccessMask; 6949 VkPipelineStageFlags2 dstStageMask; 6950 VkAccessFlags2 dstAccessMask; 6951 VkImageLayout oldLayout; 6952 VkImageLayout newLayout; 6953 uint32_t srcQueueFamilyIndex; 6954 uint32_t dstQueueFamilyIndex; 6955 VkImage image; 6956 VkImageSubresourceRange subresourceRange; 6957 } VkImageMemoryBarrier2; 6958 6959 typedef struct VkDependencyInfo { 6960 VkStructureType sType; 6961 const void* pNext; 6962 VkDependencyFlags dependencyFlags; 6963 uint32_t memoryBarrierCount; 6964 const VkMemoryBarrier2* pMemoryBarriers; 6965 uint32_t bufferMemoryBarrierCount; 6966 const VkBufferMemoryBarrier2* pBufferMemoryBarriers; 6967 uint32_t imageMemoryBarrierCount; 6968 const VkImageMemoryBarrier2* pImageMemoryBarriers; 6969 } VkDependencyInfo; 6970 6971 typedef struct VkSemaphoreSubmitInfo { 6972 VkStructureType sType; 6973 const void* pNext; 6974 VkSemaphore semaphore; 6975 uint64_t value; 6976 VkPipelineStageFlags2 stageMask; 6977 uint32_t deviceIndex; 6978 } VkSemaphoreSubmitInfo; 6979 6980 typedef struct VkCommandBufferSubmitInfo { 6981 VkStructureType sType; 6982 const void* pNext; 6983 VkCommandBuffer commandBuffer; 6984 uint32_t deviceMask; 6985 } VkCommandBufferSubmitInfo; 6986 6987 typedef struct VkSubmitInfo2 { 6988 VkStructureType sType; 6989 const void* pNext; 6990 VkSubmitFlags flags; 6991 uint32_t waitSemaphoreInfoCount; 6992 const VkSemaphoreSubmitInfo* pWaitSemaphoreInfos; 6993 uint32_t commandBufferInfoCount; 6994 const VkCommandBufferSubmitInfo* pCommandBufferInfos; 6995 uint32_t signalSemaphoreInfoCount; 6996 const VkSemaphoreSubmitInfo* pSignalSemaphoreInfos; 6997 } VkSubmitInfo2; 6998 6999 typedef struct VkPhysicalDeviceSynchronization2Features { 7000 VkStructureType sType; 7001 void* pNext; 7002 VkBool32 synchronization2; 7003 } VkPhysicalDeviceSynchronization2Features; 7004 7005 typedef struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures { 7006 VkStructureType sType; 7007 void* pNext; 7008 VkBool32 shaderZeroInitializeWorkgroupMemory; 7009 } VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures; 7010 7011 typedef struct VkPhysicalDeviceImageRobustnessFeatures { 7012 VkStructureType sType; 7013 void* pNext; 7014 VkBool32 robustImageAccess; 7015 } VkPhysicalDeviceImageRobustnessFeatures; 7016 7017 typedef struct VkBufferCopy2 { 7018 VkStructureType sType; 7019 const void* pNext; 7020 VkDeviceSize srcOffset; 7021 VkDeviceSize dstOffset; 7022 VkDeviceSize size; 7023 } VkBufferCopy2; 7024 7025 typedef struct VkCopyBufferInfo2 { 7026 VkStructureType sType; 7027 const void* pNext; 7028 VkBuffer srcBuffer; 7029 VkBuffer dstBuffer; 7030 uint32_t regionCount; 7031 const VkBufferCopy2* pRegions; 7032 } VkCopyBufferInfo2; 7033 7034 typedef struct VkImageCopy2 { 7035 VkStructureType sType; 7036 const void* pNext; 7037 VkImageSubresourceLayers srcSubresource; 7038 VkOffset3D srcOffset; 7039 VkImageSubresourceLayers dstSubresource; 7040 VkOffset3D dstOffset; 7041 VkExtent3D extent; 7042 } VkImageCopy2; 7043 7044 typedef struct VkCopyImageInfo2 { 7045 VkStructureType sType; 7046 const void* pNext; 7047 VkImage srcImage; 7048 VkImageLayout srcImageLayout; 7049 VkImage dstImage; 7050 VkImageLayout dstImageLayout; 7051 uint32_t regionCount; 7052 const VkImageCopy2* pRegions; 7053 } VkCopyImageInfo2; 7054 7055 typedef struct VkBufferImageCopy2 { 7056 VkStructureType sType; 7057 const void* pNext; 7058 VkDeviceSize bufferOffset; 7059 uint32_t bufferRowLength; 7060 uint32_t bufferImageHeight; 7061 VkImageSubresourceLayers imageSubresource; 7062 VkOffset3D imageOffset; 7063 VkExtent3D imageExtent; 7064 } VkBufferImageCopy2; 7065 7066 typedef struct VkCopyBufferToImageInfo2 { 7067 VkStructureType sType; 7068 const void* pNext; 7069 VkBuffer srcBuffer; 7070 VkImage dstImage; 7071 VkImageLayout dstImageLayout; 7072 uint32_t regionCount; 7073 const VkBufferImageCopy2* pRegions; 7074 } VkCopyBufferToImageInfo2; 7075 7076 typedef struct VkCopyImageToBufferInfo2 { 7077 VkStructureType sType; 7078 const void* pNext; 7079 VkImage srcImage; 7080 VkImageLayout srcImageLayout; 7081 VkBuffer dstBuffer; 7082 uint32_t regionCount; 7083 const VkBufferImageCopy2* pRegions; 7084 } VkCopyImageToBufferInfo2; 7085 7086 typedef struct VkImageBlit2 { 7087 VkStructureType sType; 7088 const void* pNext; 7089 VkImageSubresourceLayers srcSubresource; 7090 VkOffset3D srcOffsets[2]; 7091 VkImageSubresourceLayers dstSubresource; 7092 VkOffset3D dstOffsets[2]; 7093 } VkImageBlit2; 7094 7095 typedef struct VkBlitImageInfo2 { 7096 VkStructureType sType; 7097 const void* pNext; 7098 VkImage srcImage; 7099 VkImageLayout srcImageLayout; 7100 VkImage dstImage; 7101 VkImageLayout dstImageLayout; 7102 uint32_t regionCount; 7103 const VkImageBlit2* pRegions; 7104 VkFilter filter; 7105 } VkBlitImageInfo2; 7106 7107 typedef struct VkImageResolve2 { 7108 VkStructureType sType; 7109 const void* pNext; 7110 VkImageSubresourceLayers srcSubresource; 7111 VkOffset3D srcOffset; 7112 VkImageSubresourceLayers dstSubresource; 7113 VkOffset3D dstOffset; 7114 VkExtent3D extent; 7115 } VkImageResolve2; 7116 7117 typedef struct VkResolveImageInfo2 { 7118 VkStructureType sType; 7119 const void* pNext; 7120 VkImage srcImage; 7121 VkImageLayout srcImageLayout; 7122 VkImage dstImage; 7123 VkImageLayout dstImageLayout; 7124 uint32_t regionCount; 7125 const VkImageResolve2* pRegions; 7126 } VkResolveImageInfo2; 7127 7128 typedef struct VkPhysicalDeviceSubgroupSizeControlFeatures { 7129 VkStructureType sType; 7130 void* pNext; 7131 VkBool32 subgroupSizeControl; 7132 VkBool32 computeFullSubgroups; 7133 } VkPhysicalDeviceSubgroupSizeControlFeatures; 7134 7135 typedef struct VkPhysicalDeviceSubgroupSizeControlProperties { 7136 VkStructureType sType; 7137 void* pNext; 7138 uint32_t minSubgroupSize; 7139 uint32_t maxSubgroupSize; 7140 uint32_t maxComputeWorkgroupSubgroups; 7141 VkShaderStageFlags requiredSubgroupSizeStages; 7142 } VkPhysicalDeviceSubgroupSizeControlProperties; 7143 7144 typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfo { 7145 VkStructureType sType; 7146 void* pNext; 7147 uint32_t requiredSubgroupSize; 7148 } VkPipelineShaderStageRequiredSubgroupSizeCreateInfo; 7149 7150 typedef struct VkPhysicalDeviceInlineUniformBlockFeatures { 7151 VkStructureType sType; 7152 void* pNext; 7153 VkBool32 inlineUniformBlock; 7154 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind; 7155 } VkPhysicalDeviceInlineUniformBlockFeatures; 7156 7157 typedef struct VkPhysicalDeviceInlineUniformBlockProperties { 7158 VkStructureType sType; 7159 void* pNext; 7160 uint32_t maxInlineUniformBlockSize; 7161 uint32_t maxPerStageDescriptorInlineUniformBlocks; 7162 uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks; 7163 uint32_t maxDescriptorSetInlineUniformBlocks; 7164 uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks; 7165 } VkPhysicalDeviceInlineUniformBlockProperties; 7166 7167 typedef struct VkWriteDescriptorSetInlineUniformBlock { 7168 VkStructureType sType; 7169 const void* pNext; 7170 uint32_t dataSize; 7171 const void* pData; 7172 } VkWriteDescriptorSetInlineUniformBlock; 7173 7174 typedef struct VkDescriptorPoolInlineUniformBlockCreateInfo { 7175 VkStructureType sType; 7176 const void* pNext; 7177 uint32_t maxInlineUniformBlockBindings; 7178 } VkDescriptorPoolInlineUniformBlockCreateInfo; 7179 7180 typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeatures { 7181 VkStructureType sType; 7182 void* pNext; 7183 VkBool32 textureCompressionASTC_HDR; 7184 } VkPhysicalDeviceTextureCompressionASTCHDRFeatures; 7185 7186 typedef struct VkRenderingAttachmentInfo { 7187 VkStructureType sType; 7188 const void* pNext; 7189 VkImageView imageView; 7190 VkImageLayout imageLayout; 7191 VkResolveModeFlagBits resolveMode; 7192 VkImageView resolveImageView; 7193 VkImageLayout resolveImageLayout; 7194 VkAttachmentLoadOp loadOp; 7195 VkAttachmentStoreOp storeOp; 7196 VkClearValue clearValue; 7197 } VkRenderingAttachmentInfo; 7198 7199 typedef struct VkRenderingInfo { 7200 VkStructureType sType; 7201 const void* pNext; 7202 VkRenderingFlags flags; 7203 VkRect2D renderArea; 7204 uint32_t layerCount; 7205 uint32_t viewMask; 7206 uint32_t colorAttachmentCount; 7207 const VkRenderingAttachmentInfo* pColorAttachments; 7208 const VkRenderingAttachmentInfo* pDepthAttachment; 7209 const VkRenderingAttachmentInfo* pStencilAttachment; 7210 } VkRenderingInfo; 7211 7212 typedef struct VkPipelineRenderingCreateInfo { 7213 VkStructureType sType; 7214 const void* pNext; 7215 uint32_t viewMask; 7216 uint32_t colorAttachmentCount; 7217 const VkFormat* pColorAttachmentFormats; 7218 VkFormat depthAttachmentFormat; 7219 VkFormat stencilAttachmentFormat; 7220 } VkPipelineRenderingCreateInfo; 7221 7222 typedef struct VkPhysicalDeviceDynamicRenderingFeatures { 7223 VkStructureType sType; 7224 void* pNext; 7225 VkBool32 dynamicRendering; 7226 } VkPhysicalDeviceDynamicRenderingFeatures; 7227 7228 typedef struct VkCommandBufferInheritanceRenderingInfo { 7229 VkStructureType sType; 7230 const void* pNext; 7231 VkRenderingFlags flags; 7232 uint32_t viewMask; 7233 uint32_t colorAttachmentCount; 7234 const VkFormat* pColorAttachmentFormats; 7235 VkFormat depthAttachmentFormat; 7236 VkFormat stencilAttachmentFormat; 7237 VkSampleCountFlagBits rasterizationSamples; 7238 } VkCommandBufferInheritanceRenderingInfo; 7239 7240 typedef struct VkPhysicalDeviceShaderIntegerDotProductFeatures { 7241 VkStructureType sType; 7242 void* pNext; 7243 VkBool32 shaderIntegerDotProduct; 7244 } VkPhysicalDeviceShaderIntegerDotProductFeatures; 7245 7246 typedef struct VkPhysicalDeviceShaderIntegerDotProductProperties { 7247 VkStructureType sType; 7248 void* pNext; 7249 VkBool32 integerDotProduct8BitUnsignedAccelerated; 7250 VkBool32 integerDotProduct8BitSignedAccelerated; 7251 VkBool32 integerDotProduct8BitMixedSignednessAccelerated; 7252 VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated; 7253 VkBool32 integerDotProduct4x8BitPackedSignedAccelerated; 7254 VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated; 7255 VkBool32 integerDotProduct16BitUnsignedAccelerated; 7256 VkBool32 integerDotProduct16BitSignedAccelerated; 7257 VkBool32 integerDotProduct16BitMixedSignednessAccelerated; 7258 VkBool32 integerDotProduct32BitUnsignedAccelerated; 7259 VkBool32 integerDotProduct32BitSignedAccelerated; 7260 VkBool32 integerDotProduct32BitMixedSignednessAccelerated; 7261 VkBool32 integerDotProduct64BitUnsignedAccelerated; 7262 VkBool32 integerDotProduct64BitSignedAccelerated; 7263 VkBool32 integerDotProduct64BitMixedSignednessAccelerated; 7264 VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated; 7265 VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated; 7266 VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated; 7267 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated; 7268 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated; 7269 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated; 7270 VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated; 7271 VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated; 7272 VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated; 7273 VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated; 7274 VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated; 7275 VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated; 7276 VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated; 7277 VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated; 7278 VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated; 7279 } VkPhysicalDeviceShaderIntegerDotProductProperties; 7280 7281 typedef struct VkPhysicalDeviceTexelBufferAlignmentProperties { 7282 VkStructureType sType; 7283 void* pNext; 7284 VkDeviceSize storageTexelBufferOffsetAlignmentBytes; 7285 VkBool32 storageTexelBufferOffsetSingleTexelAlignment; 7286 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes; 7287 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment; 7288 } VkPhysicalDeviceTexelBufferAlignmentProperties; 7289 7290 typedef struct VkFormatProperties3 { 7291 VkStructureType sType; 7292 void* pNext; 7293 VkFormatFeatureFlags2 linearTilingFeatures; 7294 VkFormatFeatureFlags2 optimalTilingFeatures; 7295 VkFormatFeatureFlags2 bufferFeatures; 7296 } VkFormatProperties3; 7297 7298 typedef struct VkPhysicalDeviceMaintenance4Features { 7299 VkStructureType sType; 7300 void* pNext; 7301 VkBool32 maintenance4; 7302 } VkPhysicalDeviceMaintenance4Features; 7303 7304 typedef struct VkPhysicalDeviceMaintenance4Properties { 7305 VkStructureType sType; 7306 void* pNext; 7307 VkDeviceSize maxBufferSize; 7308 } VkPhysicalDeviceMaintenance4Properties; 7309 7310 typedef struct VkDeviceBufferMemoryRequirements { 7311 VkStructureType sType; 7312 const void* pNext; 7313 const VkBufferCreateInfo* pCreateInfo; 7314 } VkDeviceBufferMemoryRequirements; 7315 7316 typedef struct VkDeviceImageMemoryRequirements { 7317 VkStructureType sType; 7318 const void* pNext; 7319 const VkImageCreateInfo* pCreateInfo; 7320 VkImageAspectFlagBits planeAspect; 7321 } VkDeviceImageMemoryRequirements; 7322 7323 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolProperties)(VkPhysicalDevice physicalDevice, uint32_t* pToolCount, VkPhysicalDeviceToolProperties* pToolProperties); 7324 typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlot)(VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot); 7325 typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlot)(VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator); 7326 typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateData)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data); 7327 typedef void (VKAPI_PTR *PFN_vkGetPrivateData)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t* pData); 7328 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo); 7329 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask); 7330 typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos); 7331 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2)(VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo); 7332 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query); 7333 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence); 7334 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo); 7335 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo); 7336 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo); 7337 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo); 7338 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo); 7339 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo); 7340 typedef void (VKAPI_PTR *PFN_vkCmdBeginRendering)(VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo); 7341 typedef void (VKAPI_PTR *PFN_vkCmdEndRendering)(VkCommandBuffer commandBuffer); 7342 typedef void (VKAPI_PTR *PFN_vkCmdSetCullMode)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode); 7343 typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFace)(VkCommandBuffer commandBuffer, VkFrontFace frontFace); 7344 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopology)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology); 7345 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCount)(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports); 7346 typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCount)(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors); 7347 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); 7348 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnable)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable); 7349 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnable)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable); 7350 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOp)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp); 7351 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnable)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable); 7352 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnable)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable); 7353 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOp)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp); 7354 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnable)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable); 7355 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnable)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable); 7356 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnable)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable); 7357 typedef void (VKAPI_PTR *PFN_vkGetDeviceBufferMemoryRequirements)(VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements); 7358 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageMemoryRequirements)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements); 7359 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSparseMemoryRequirements)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 7360 7361 #ifndef VK_NO_PROTOTYPES 7362 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolProperties( 7363 VkPhysicalDevice physicalDevice, 7364 uint32_t* pToolCount, 7365 VkPhysicalDeviceToolProperties* pToolProperties); 7366 7367 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlot( 7368 VkDevice device, 7369 const VkPrivateDataSlotCreateInfo* pCreateInfo, 7370 const VkAllocationCallbacks* pAllocator, 7371 VkPrivateDataSlot* pPrivateDataSlot); 7372 7373 VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlot( 7374 VkDevice device, 7375 VkPrivateDataSlot privateDataSlot, 7376 const VkAllocationCallbacks* pAllocator); 7377 7378 VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateData( 7379 VkDevice device, 7380 VkObjectType objectType, 7381 uint64_t objectHandle, 7382 VkPrivateDataSlot privateDataSlot, 7383 uint64_t data); 7384 7385 VKAPI_ATTR void VKAPI_CALL vkGetPrivateData( 7386 VkDevice device, 7387 VkObjectType objectType, 7388 uint64_t objectHandle, 7389 VkPrivateDataSlot privateDataSlot, 7390 uint64_t* pData); 7391 7392 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2( 7393 VkCommandBuffer commandBuffer, 7394 VkEvent event, 7395 const VkDependencyInfo* pDependencyInfo); 7396 7397 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2( 7398 VkCommandBuffer commandBuffer, 7399 VkEvent event, 7400 VkPipelineStageFlags2 stageMask); 7401 7402 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2( 7403 VkCommandBuffer commandBuffer, 7404 uint32_t eventCount, 7405 const VkEvent* pEvents, 7406 const VkDependencyInfo* pDependencyInfos); 7407 7408 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2( 7409 VkCommandBuffer commandBuffer, 7410 const VkDependencyInfo* pDependencyInfo); 7411 7412 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2( 7413 VkCommandBuffer commandBuffer, 7414 VkPipelineStageFlags2 stage, 7415 VkQueryPool queryPool, 7416 uint32_t query); 7417 7418 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2( 7419 VkQueue queue, 7420 uint32_t submitCount, 7421 const VkSubmitInfo2* pSubmits, 7422 VkFence fence); 7423 7424 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2( 7425 VkCommandBuffer commandBuffer, 7426 const VkCopyBufferInfo2* pCopyBufferInfo); 7427 7428 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2( 7429 VkCommandBuffer commandBuffer, 7430 const VkCopyImageInfo2* pCopyImageInfo); 7431 7432 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2( 7433 VkCommandBuffer commandBuffer, 7434 const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo); 7435 7436 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2( 7437 VkCommandBuffer commandBuffer, 7438 const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo); 7439 7440 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2( 7441 VkCommandBuffer commandBuffer, 7442 const VkBlitImageInfo2* pBlitImageInfo); 7443 7444 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2( 7445 VkCommandBuffer commandBuffer, 7446 const VkResolveImageInfo2* pResolveImageInfo); 7447 7448 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRendering( 7449 VkCommandBuffer commandBuffer, 7450 const VkRenderingInfo* pRenderingInfo); 7451 7452 VKAPI_ATTR void VKAPI_CALL vkCmdEndRendering( 7453 VkCommandBuffer commandBuffer); 7454 7455 VKAPI_ATTR void VKAPI_CALL vkCmdSetCullMode( 7456 VkCommandBuffer commandBuffer, 7457 VkCullModeFlags cullMode); 7458 7459 VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFace( 7460 VkCommandBuffer commandBuffer, 7461 VkFrontFace frontFace); 7462 7463 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopology( 7464 VkCommandBuffer commandBuffer, 7465 VkPrimitiveTopology primitiveTopology); 7466 7467 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCount( 7468 VkCommandBuffer commandBuffer, 7469 uint32_t viewportCount, 7470 const VkViewport* pViewports); 7471 7472 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCount( 7473 VkCommandBuffer commandBuffer, 7474 uint32_t scissorCount, 7475 const VkRect2D* pScissors); 7476 7477 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2( 7478 VkCommandBuffer commandBuffer, 7479 uint32_t firstBinding, 7480 uint32_t bindingCount, 7481 const VkBuffer* pBuffers, 7482 const VkDeviceSize* pOffsets, 7483 const VkDeviceSize* pSizes, 7484 const VkDeviceSize* pStrides); 7485 7486 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnable( 7487 VkCommandBuffer commandBuffer, 7488 VkBool32 depthTestEnable); 7489 7490 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnable( 7491 VkCommandBuffer commandBuffer, 7492 VkBool32 depthWriteEnable); 7493 7494 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOp( 7495 VkCommandBuffer commandBuffer, 7496 VkCompareOp depthCompareOp); 7497 7498 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnable( 7499 VkCommandBuffer commandBuffer, 7500 VkBool32 depthBoundsTestEnable); 7501 7502 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnable( 7503 VkCommandBuffer commandBuffer, 7504 VkBool32 stencilTestEnable); 7505 7506 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOp( 7507 VkCommandBuffer commandBuffer, 7508 VkStencilFaceFlags faceMask, 7509 VkStencilOp failOp, 7510 VkStencilOp passOp, 7511 VkStencilOp depthFailOp, 7512 VkCompareOp compareOp); 7513 7514 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnable( 7515 VkCommandBuffer commandBuffer, 7516 VkBool32 rasterizerDiscardEnable); 7517 7518 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnable( 7519 VkCommandBuffer commandBuffer, 7520 VkBool32 depthBiasEnable); 7521 7522 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnable( 7523 VkCommandBuffer commandBuffer, 7524 VkBool32 primitiveRestartEnable); 7525 7526 VKAPI_ATTR void VKAPI_CALL vkGetDeviceBufferMemoryRequirements( 7527 VkDevice device, 7528 const VkDeviceBufferMemoryRequirements* pInfo, 7529 VkMemoryRequirements2* pMemoryRequirements); 7530 7531 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageMemoryRequirements( 7532 VkDevice device, 7533 const VkDeviceImageMemoryRequirements* pInfo, 7534 VkMemoryRequirements2* pMemoryRequirements); 7535 7536 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSparseMemoryRequirements( 7537 VkDevice device, 7538 const VkDeviceImageMemoryRequirements* pInfo, 7539 uint32_t* pSparseMemoryRequirementCount, 7540 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 7541 #endif 7542 7543 7544 // VK_KHR_surface is a preprocessor guard. Do not pass it to API calls. 7545 #define VK_KHR_surface 1 7546 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR) 7547 #define VK_KHR_SURFACE_SPEC_VERSION 25 7548 #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface" 7549 7550 typedef enum VkPresentModeKHR { 7551 VK_PRESENT_MODE_IMMEDIATE_KHR = 0, 7552 VK_PRESENT_MODE_MAILBOX_KHR = 1, 7553 VK_PRESENT_MODE_FIFO_KHR = 2, 7554 VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3, 7555 VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000, 7556 VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001, 7557 VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 7558 } VkPresentModeKHR; 7559 7560 typedef enum VkColorSpaceKHR { 7561 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0, 7562 VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001, 7563 VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002, 7564 VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003, 7565 VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004, 7566 VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005, 7567 VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006, 7568 VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007, 7569 VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008, 7570 VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009, 7571 VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010, 7572 VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011, 7573 VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012, 7574 VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013, 7575 VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014, 7576 VK_COLOR_SPACE_DISPLAY_NATIVE_AMD = 1000213000, 7577 VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR, 7578 VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT, 7579 VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF 7580 } VkColorSpaceKHR; 7581 7582 typedef enum VkSurfaceTransformFlagBitsKHR { 7583 VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001, 7584 VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002, 7585 VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004, 7586 VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008, 7587 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010, 7588 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020, 7589 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040, 7590 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080, 7591 VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100, 7592 VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 7593 } VkSurfaceTransformFlagBitsKHR; 7594 7595 typedef enum VkCompositeAlphaFlagBitsKHR { 7596 VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001, 7597 VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002, 7598 VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004, 7599 VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008, 7600 VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 7601 } VkCompositeAlphaFlagBitsKHR; 7602 typedef VkFlags VkCompositeAlphaFlagsKHR; 7603 typedef VkFlags VkSurfaceTransformFlagsKHR; 7604 typedef struct VkSurfaceCapabilitiesKHR { 7605 uint32_t minImageCount; 7606 uint32_t maxImageCount; 7607 VkExtent2D currentExtent; 7608 VkExtent2D minImageExtent; 7609 VkExtent2D maxImageExtent; 7610 uint32_t maxImageArrayLayers; 7611 VkSurfaceTransformFlagsKHR supportedTransforms; 7612 VkSurfaceTransformFlagBitsKHR currentTransform; 7613 VkCompositeAlphaFlagsKHR supportedCompositeAlpha; 7614 VkImageUsageFlags supportedUsageFlags; 7615 } VkSurfaceCapabilitiesKHR; 7616 7617 typedef struct VkSurfaceFormatKHR { 7618 VkFormat format; 7619 VkColorSpaceKHR colorSpace; 7620 } VkSurfaceFormatKHR; 7621 7622 typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator); 7623 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported); 7624 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities); 7625 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats); 7626 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes); 7627 7628 #ifndef VK_NO_PROTOTYPES 7629 VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR( 7630 VkInstance instance, 7631 VkSurfaceKHR surface, 7632 const VkAllocationCallbacks* pAllocator); 7633 7634 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR( 7635 VkPhysicalDevice physicalDevice, 7636 uint32_t queueFamilyIndex, 7637 VkSurfaceKHR surface, 7638 VkBool32* pSupported); 7639 7640 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR( 7641 VkPhysicalDevice physicalDevice, 7642 VkSurfaceKHR surface, 7643 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities); 7644 7645 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR( 7646 VkPhysicalDevice physicalDevice, 7647 VkSurfaceKHR surface, 7648 uint32_t* pSurfaceFormatCount, 7649 VkSurfaceFormatKHR* pSurfaceFormats); 7650 7651 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR( 7652 VkPhysicalDevice physicalDevice, 7653 VkSurfaceKHR surface, 7654 uint32_t* pPresentModeCount, 7655 VkPresentModeKHR* pPresentModes); 7656 #endif 7657 7658 7659 // VK_KHR_swapchain is a preprocessor guard. Do not pass it to API calls. 7660 #define VK_KHR_swapchain 1 7661 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR) 7662 #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70 7663 #define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain" 7664 7665 typedef enum VkSwapchainCreateFlagBitsKHR { 7666 VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001, 7667 VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002, 7668 VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004, 7669 VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_EXT = 0x00000008, 7670 VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 7671 } VkSwapchainCreateFlagBitsKHR; 7672 typedef VkFlags VkSwapchainCreateFlagsKHR; 7673 7674 typedef enum VkDeviceGroupPresentModeFlagBitsKHR { 7675 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0x00000001, 7676 VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0x00000002, 7677 VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0x00000004, 7678 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008, 7679 VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 7680 } VkDeviceGroupPresentModeFlagBitsKHR; 7681 typedef VkFlags VkDeviceGroupPresentModeFlagsKHR; 7682 typedef struct VkSwapchainCreateInfoKHR { 7683 VkStructureType sType; 7684 const void* pNext; 7685 VkSwapchainCreateFlagsKHR flags; 7686 VkSurfaceKHR surface; 7687 uint32_t minImageCount; 7688 VkFormat imageFormat; 7689 VkColorSpaceKHR imageColorSpace; 7690 VkExtent2D imageExtent; 7691 uint32_t imageArrayLayers; 7692 VkImageUsageFlags imageUsage; 7693 VkSharingMode imageSharingMode; 7694 uint32_t queueFamilyIndexCount; 7695 const uint32_t* pQueueFamilyIndices; 7696 VkSurfaceTransformFlagBitsKHR preTransform; 7697 VkCompositeAlphaFlagBitsKHR compositeAlpha; 7698 VkPresentModeKHR presentMode; 7699 VkBool32 clipped; 7700 VkSwapchainKHR oldSwapchain; 7701 } VkSwapchainCreateInfoKHR; 7702 7703 typedef struct VkPresentInfoKHR { 7704 VkStructureType sType; 7705 const void* pNext; 7706 uint32_t waitSemaphoreCount; 7707 const VkSemaphore* pWaitSemaphores; 7708 uint32_t swapchainCount; 7709 const VkSwapchainKHR* pSwapchains; 7710 const uint32_t* pImageIndices; 7711 VkResult* pResults; 7712 } VkPresentInfoKHR; 7713 7714 typedef struct VkImageSwapchainCreateInfoKHR { 7715 VkStructureType sType; 7716 const void* pNext; 7717 VkSwapchainKHR swapchain; 7718 } VkImageSwapchainCreateInfoKHR; 7719 7720 typedef struct VkBindImageMemorySwapchainInfoKHR { 7721 VkStructureType sType; 7722 const void* pNext; 7723 VkSwapchainKHR swapchain; 7724 uint32_t imageIndex; 7725 } VkBindImageMemorySwapchainInfoKHR; 7726 7727 typedef struct VkAcquireNextImageInfoKHR { 7728 VkStructureType sType; 7729 const void* pNext; 7730 VkSwapchainKHR swapchain; 7731 uint64_t timeout; 7732 VkSemaphore semaphore; 7733 VkFence fence; 7734 uint32_t deviceMask; 7735 } VkAcquireNextImageInfoKHR; 7736 7737 typedef struct VkDeviceGroupPresentCapabilitiesKHR { 7738 VkStructureType sType; 7739 void* pNext; 7740 uint32_t presentMask[VK_MAX_DEVICE_GROUP_SIZE]; 7741 VkDeviceGroupPresentModeFlagsKHR modes; 7742 } VkDeviceGroupPresentCapabilitiesKHR; 7743 7744 typedef struct VkDeviceGroupPresentInfoKHR { 7745 VkStructureType sType; 7746 const void* pNext; 7747 uint32_t swapchainCount; 7748 const uint32_t* pDeviceMasks; 7749 VkDeviceGroupPresentModeFlagBitsKHR mode; 7750 } VkDeviceGroupPresentInfoKHR; 7751 7752 typedef struct VkDeviceGroupSwapchainCreateInfoKHR { 7753 VkStructureType sType; 7754 const void* pNext; 7755 VkDeviceGroupPresentModeFlagsKHR modes; 7756 } VkDeviceGroupSwapchainCreateInfoKHR; 7757 7758 typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain); 7759 typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator); 7760 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages); 7761 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex); 7762 typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo); 7763 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities); 7764 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes); 7765 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pRectCount, VkRect2D* pRects); 7766 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex); 7767 7768 #ifndef VK_NO_PROTOTYPES 7769 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR( 7770 VkDevice device, 7771 const VkSwapchainCreateInfoKHR* pCreateInfo, 7772 const VkAllocationCallbacks* pAllocator, 7773 VkSwapchainKHR* pSwapchain); 7774 7775 VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR( 7776 VkDevice device, 7777 VkSwapchainKHR swapchain, 7778 const VkAllocationCallbacks* pAllocator); 7779 7780 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR( 7781 VkDevice device, 7782 VkSwapchainKHR swapchain, 7783 uint32_t* pSwapchainImageCount, 7784 VkImage* pSwapchainImages); 7785 7786 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR( 7787 VkDevice device, 7788 VkSwapchainKHR swapchain, 7789 uint64_t timeout, 7790 VkSemaphore semaphore, 7791 VkFence fence, 7792 uint32_t* pImageIndex); 7793 7794 VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR( 7795 VkQueue queue, 7796 const VkPresentInfoKHR* pPresentInfo); 7797 7798 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHR( 7799 VkDevice device, 7800 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities); 7801 7802 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR( 7803 VkDevice device, 7804 VkSurfaceKHR surface, 7805 VkDeviceGroupPresentModeFlagsKHR* pModes); 7806 7807 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR( 7808 VkPhysicalDevice physicalDevice, 7809 VkSurfaceKHR surface, 7810 uint32_t* pRectCount, 7811 VkRect2D* pRects); 7812 7813 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHR( 7814 VkDevice device, 7815 const VkAcquireNextImageInfoKHR* pAcquireInfo, 7816 uint32_t* pImageIndex); 7817 #endif 7818 7819 7820 // VK_KHR_display is a preprocessor guard. Do not pass it to API calls. 7821 #define VK_KHR_display 1 7822 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR) 7823 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR) 7824 #define VK_KHR_DISPLAY_SPEC_VERSION 23 7825 #define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display" 7826 typedef VkFlags VkDisplayModeCreateFlagsKHR; 7827 7828 typedef enum VkDisplayPlaneAlphaFlagBitsKHR { 7829 VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001, 7830 VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002, 7831 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004, 7832 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008, 7833 VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 7834 } VkDisplayPlaneAlphaFlagBitsKHR; 7835 typedef VkFlags VkDisplayPlaneAlphaFlagsKHR; 7836 typedef VkFlags VkDisplaySurfaceCreateFlagsKHR; 7837 typedef struct VkDisplayModeParametersKHR { 7838 VkExtent2D visibleRegion; 7839 uint32_t refreshRate; 7840 } VkDisplayModeParametersKHR; 7841 7842 typedef struct VkDisplayModeCreateInfoKHR { 7843 VkStructureType sType; 7844 const void* pNext; 7845 VkDisplayModeCreateFlagsKHR flags; 7846 VkDisplayModeParametersKHR parameters; 7847 } VkDisplayModeCreateInfoKHR; 7848 7849 typedef struct VkDisplayModePropertiesKHR { 7850 VkDisplayModeKHR displayMode; 7851 VkDisplayModeParametersKHR parameters; 7852 } VkDisplayModePropertiesKHR; 7853 7854 typedef struct VkDisplayPlaneCapabilitiesKHR { 7855 VkDisplayPlaneAlphaFlagsKHR supportedAlpha; 7856 VkOffset2D minSrcPosition; 7857 VkOffset2D maxSrcPosition; 7858 VkExtent2D minSrcExtent; 7859 VkExtent2D maxSrcExtent; 7860 VkOffset2D minDstPosition; 7861 VkOffset2D maxDstPosition; 7862 VkExtent2D minDstExtent; 7863 VkExtent2D maxDstExtent; 7864 } VkDisplayPlaneCapabilitiesKHR; 7865 7866 typedef struct VkDisplayPlanePropertiesKHR { 7867 VkDisplayKHR currentDisplay; 7868 uint32_t currentStackIndex; 7869 } VkDisplayPlanePropertiesKHR; 7870 7871 typedef struct VkDisplayPropertiesKHR { 7872 VkDisplayKHR display; 7873 const char* displayName; 7874 VkExtent2D physicalDimensions; 7875 VkExtent2D physicalResolution; 7876 VkSurfaceTransformFlagsKHR supportedTransforms; 7877 VkBool32 planeReorderPossible; 7878 VkBool32 persistentContent; 7879 } VkDisplayPropertiesKHR; 7880 7881 typedef struct VkDisplaySurfaceCreateInfoKHR { 7882 VkStructureType sType; 7883 const void* pNext; 7884 VkDisplaySurfaceCreateFlagsKHR flags; 7885 VkDisplayModeKHR displayMode; 7886 uint32_t planeIndex; 7887 uint32_t planeStackIndex; 7888 VkSurfaceTransformFlagBitsKHR transform; 7889 float globalAlpha; 7890 VkDisplayPlaneAlphaFlagBitsKHR alphaMode; 7891 VkExtent2D imageExtent; 7892 } VkDisplaySurfaceCreateInfoKHR; 7893 7894 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPropertiesKHR* pProperties); 7895 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties); 7896 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t* pDisplayCount, VkDisplayKHR* pDisplays); 7897 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModePropertiesKHR* pProperties); 7898 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode); 7899 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities); 7900 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); 7901 7902 #ifndef VK_NO_PROTOTYPES 7903 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR( 7904 VkPhysicalDevice physicalDevice, 7905 uint32_t* pPropertyCount, 7906 VkDisplayPropertiesKHR* pProperties); 7907 7908 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR( 7909 VkPhysicalDevice physicalDevice, 7910 uint32_t* pPropertyCount, 7911 VkDisplayPlanePropertiesKHR* pProperties); 7912 7913 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR( 7914 VkPhysicalDevice physicalDevice, 7915 uint32_t planeIndex, 7916 uint32_t* pDisplayCount, 7917 VkDisplayKHR* pDisplays); 7918 7919 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR( 7920 VkPhysicalDevice physicalDevice, 7921 VkDisplayKHR display, 7922 uint32_t* pPropertyCount, 7923 VkDisplayModePropertiesKHR* pProperties); 7924 7925 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR( 7926 VkPhysicalDevice physicalDevice, 7927 VkDisplayKHR display, 7928 const VkDisplayModeCreateInfoKHR* pCreateInfo, 7929 const VkAllocationCallbacks* pAllocator, 7930 VkDisplayModeKHR* pMode); 7931 7932 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR( 7933 VkPhysicalDevice physicalDevice, 7934 VkDisplayModeKHR mode, 7935 uint32_t planeIndex, 7936 VkDisplayPlaneCapabilitiesKHR* pCapabilities); 7937 7938 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR( 7939 VkInstance instance, 7940 const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, 7941 const VkAllocationCallbacks* pAllocator, 7942 VkSurfaceKHR* pSurface); 7943 #endif 7944 7945 7946 // VK_KHR_display_swapchain is a preprocessor guard. Do not pass it to API calls. 7947 #define VK_KHR_display_swapchain 1 7948 #define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 10 7949 #define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain" 7950 typedef struct VkDisplayPresentInfoKHR { 7951 VkStructureType sType; 7952 const void* pNext; 7953 VkRect2D srcRect; 7954 VkRect2D dstRect; 7955 VkBool32 persistent; 7956 } VkDisplayPresentInfoKHR; 7957 7958 typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains); 7959 7960 #ifndef VK_NO_PROTOTYPES 7961 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR( 7962 VkDevice device, 7963 uint32_t swapchainCount, 7964 const VkSwapchainCreateInfoKHR* pCreateInfos, 7965 const VkAllocationCallbacks* pAllocator, 7966 VkSwapchainKHR* pSwapchains); 7967 #endif 7968 7969 7970 // VK_KHR_sampler_mirror_clamp_to_edge is a preprocessor guard. Do not pass it to API calls. 7971 #define VK_KHR_sampler_mirror_clamp_to_edge 1 7972 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 3 7973 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge" 7974 7975 7976 // VK_KHR_video_queue is a preprocessor guard. Do not pass it to API calls. 7977 #define VK_KHR_video_queue 1 7978 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionKHR) 7979 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionParametersKHR) 7980 #define VK_KHR_VIDEO_QUEUE_SPEC_VERSION 8 7981 #define VK_KHR_VIDEO_QUEUE_EXTENSION_NAME "VK_KHR_video_queue" 7982 7983 typedef enum VkQueryResultStatusKHR { 7984 VK_QUERY_RESULT_STATUS_ERROR_KHR = -1, 7985 VK_QUERY_RESULT_STATUS_NOT_READY_KHR = 0, 7986 VK_QUERY_RESULT_STATUS_COMPLETE_KHR = 1, 7987 VK_QUERY_RESULT_STATUS_INSUFFICIENT_BITSTREAM_BUFFER_RANGE_KHR = -1000299000, 7988 VK_QUERY_RESULT_STATUS_MAX_ENUM_KHR = 0x7FFFFFFF 7989 } VkQueryResultStatusKHR; 7990 7991 typedef enum VkVideoCodecOperationFlagBitsKHR { 7992 VK_VIDEO_CODEC_OPERATION_NONE_KHR = 0, 7993 VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR = 0x00010000, 7994 VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR = 0x00020000, 7995 VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR = 0x00000001, 7996 VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR = 0x00000002, 7997 VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR = 0x00000004, 7998 VK_VIDEO_CODEC_OPERATION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 7999 } VkVideoCodecOperationFlagBitsKHR; 8000 typedef VkFlags VkVideoCodecOperationFlagsKHR; 8001 8002 typedef enum VkVideoChromaSubsamplingFlagBitsKHR { 8003 VK_VIDEO_CHROMA_SUBSAMPLING_INVALID_KHR = 0, 8004 VK_VIDEO_CHROMA_SUBSAMPLING_MONOCHROME_BIT_KHR = 0x00000001, 8005 VK_VIDEO_CHROMA_SUBSAMPLING_420_BIT_KHR = 0x00000002, 8006 VK_VIDEO_CHROMA_SUBSAMPLING_422_BIT_KHR = 0x00000004, 8007 VK_VIDEO_CHROMA_SUBSAMPLING_444_BIT_KHR = 0x00000008, 8008 VK_VIDEO_CHROMA_SUBSAMPLING_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8009 } VkVideoChromaSubsamplingFlagBitsKHR; 8010 typedef VkFlags VkVideoChromaSubsamplingFlagsKHR; 8011 8012 typedef enum VkVideoComponentBitDepthFlagBitsKHR { 8013 VK_VIDEO_COMPONENT_BIT_DEPTH_INVALID_KHR = 0, 8014 VK_VIDEO_COMPONENT_BIT_DEPTH_8_BIT_KHR = 0x00000001, 8015 VK_VIDEO_COMPONENT_BIT_DEPTH_10_BIT_KHR = 0x00000004, 8016 VK_VIDEO_COMPONENT_BIT_DEPTH_12_BIT_KHR = 0x00000010, 8017 VK_VIDEO_COMPONENT_BIT_DEPTH_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8018 } VkVideoComponentBitDepthFlagBitsKHR; 8019 typedef VkFlags VkVideoComponentBitDepthFlagsKHR; 8020 8021 typedef enum VkVideoCapabilityFlagBitsKHR { 8022 VK_VIDEO_CAPABILITY_PROTECTED_CONTENT_BIT_KHR = 0x00000001, 8023 VK_VIDEO_CAPABILITY_SEPARATE_REFERENCE_IMAGES_BIT_KHR = 0x00000002, 8024 VK_VIDEO_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8025 } VkVideoCapabilityFlagBitsKHR; 8026 typedef VkFlags VkVideoCapabilityFlagsKHR; 8027 8028 typedef enum VkVideoSessionCreateFlagBitsKHR { 8029 VK_VIDEO_SESSION_CREATE_PROTECTED_CONTENT_BIT_KHR = 0x00000001, 8030 VK_VIDEO_SESSION_CREATE_ALLOW_ENCODE_PARAMETER_OPTIMIZATIONS_BIT_KHR = 0x00000002, 8031 VK_VIDEO_SESSION_CREATE_INLINE_QUERIES_BIT_KHR = 0x00000004, 8032 VK_VIDEO_SESSION_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8033 } VkVideoSessionCreateFlagBitsKHR; 8034 typedef VkFlags VkVideoSessionCreateFlagsKHR; 8035 typedef VkFlags VkVideoSessionParametersCreateFlagsKHR; 8036 typedef VkFlags VkVideoBeginCodingFlagsKHR; 8037 typedef VkFlags VkVideoEndCodingFlagsKHR; 8038 8039 typedef enum VkVideoCodingControlFlagBitsKHR { 8040 VK_VIDEO_CODING_CONTROL_RESET_BIT_KHR = 0x00000001, 8041 VK_VIDEO_CODING_CONTROL_ENCODE_RATE_CONTROL_BIT_KHR = 0x00000002, 8042 VK_VIDEO_CODING_CONTROL_ENCODE_QUALITY_LEVEL_BIT_KHR = 0x00000004, 8043 VK_VIDEO_CODING_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8044 } VkVideoCodingControlFlagBitsKHR; 8045 typedef VkFlags VkVideoCodingControlFlagsKHR; 8046 typedef struct VkQueueFamilyQueryResultStatusPropertiesKHR { 8047 VkStructureType sType; 8048 void* pNext; 8049 VkBool32 queryResultStatusSupport; 8050 } VkQueueFamilyQueryResultStatusPropertiesKHR; 8051 8052 typedef struct VkQueueFamilyVideoPropertiesKHR { 8053 VkStructureType sType; 8054 void* pNext; 8055 VkVideoCodecOperationFlagsKHR videoCodecOperations; 8056 } VkQueueFamilyVideoPropertiesKHR; 8057 8058 typedef struct VkVideoProfileInfoKHR { 8059 VkStructureType sType; 8060 const void* pNext; 8061 VkVideoCodecOperationFlagBitsKHR videoCodecOperation; 8062 VkVideoChromaSubsamplingFlagsKHR chromaSubsampling; 8063 VkVideoComponentBitDepthFlagsKHR lumaBitDepth; 8064 VkVideoComponentBitDepthFlagsKHR chromaBitDepth; 8065 } VkVideoProfileInfoKHR; 8066 8067 typedef struct VkVideoProfileListInfoKHR { 8068 VkStructureType sType; 8069 const void* pNext; 8070 uint32_t profileCount; 8071 const VkVideoProfileInfoKHR* pProfiles; 8072 } VkVideoProfileListInfoKHR; 8073 8074 typedef struct VkVideoCapabilitiesKHR { 8075 VkStructureType sType; 8076 void* pNext; 8077 VkVideoCapabilityFlagsKHR flags; 8078 VkDeviceSize minBitstreamBufferOffsetAlignment; 8079 VkDeviceSize minBitstreamBufferSizeAlignment; 8080 VkExtent2D pictureAccessGranularity; 8081 VkExtent2D minCodedExtent; 8082 VkExtent2D maxCodedExtent; 8083 uint32_t maxDpbSlots; 8084 uint32_t maxActiveReferencePictures; 8085 VkExtensionProperties stdHeaderVersion; 8086 } VkVideoCapabilitiesKHR; 8087 8088 typedef struct VkPhysicalDeviceVideoFormatInfoKHR { 8089 VkStructureType sType; 8090 const void* pNext; 8091 VkImageUsageFlags imageUsage; 8092 } VkPhysicalDeviceVideoFormatInfoKHR; 8093 8094 typedef struct VkVideoFormatPropertiesKHR { 8095 VkStructureType sType; 8096 void* pNext; 8097 VkFormat format; 8098 VkComponentMapping componentMapping; 8099 VkImageCreateFlags imageCreateFlags; 8100 VkImageType imageType; 8101 VkImageTiling imageTiling; 8102 VkImageUsageFlags imageUsageFlags; 8103 } VkVideoFormatPropertiesKHR; 8104 8105 typedef struct VkVideoPictureResourceInfoKHR { 8106 VkStructureType sType; 8107 const void* pNext; 8108 VkOffset2D codedOffset; 8109 VkExtent2D codedExtent; 8110 uint32_t baseArrayLayer; 8111 VkImageView imageViewBinding; 8112 } VkVideoPictureResourceInfoKHR; 8113 8114 typedef struct VkVideoReferenceSlotInfoKHR { 8115 VkStructureType sType; 8116 const void* pNext; 8117 int32_t slotIndex; 8118 const VkVideoPictureResourceInfoKHR* pPictureResource; 8119 } VkVideoReferenceSlotInfoKHR; 8120 8121 typedef struct VkVideoSessionMemoryRequirementsKHR { 8122 VkStructureType sType; 8123 void* pNext; 8124 uint32_t memoryBindIndex; 8125 VkMemoryRequirements memoryRequirements; 8126 } VkVideoSessionMemoryRequirementsKHR; 8127 8128 typedef struct VkBindVideoSessionMemoryInfoKHR { 8129 VkStructureType sType; 8130 const void* pNext; 8131 uint32_t memoryBindIndex; 8132 VkDeviceMemory memory; 8133 VkDeviceSize memoryOffset; 8134 VkDeviceSize memorySize; 8135 } VkBindVideoSessionMemoryInfoKHR; 8136 8137 typedef struct VkVideoSessionCreateInfoKHR { 8138 VkStructureType sType; 8139 const void* pNext; 8140 uint32_t queueFamilyIndex; 8141 VkVideoSessionCreateFlagsKHR flags; 8142 const VkVideoProfileInfoKHR* pVideoProfile; 8143 VkFormat pictureFormat; 8144 VkExtent2D maxCodedExtent; 8145 VkFormat referencePictureFormat; 8146 uint32_t maxDpbSlots; 8147 uint32_t maxActiveReferencePictures; 8148 const VkExtensionProperties* pStdHeaderVersion; 8149 } VkVideoSessionCreateInfoKHR; 8150 8151 typedef struct VkVideoSessionParametersCreateInfoKHR { 8152 VkStructureType sType; 8153 const void* pNext; 8154 VkVideoSessionParametersCreateFlagsKHR flags; 8155 VkVideoSessionParametersKHR videoSessionParametersTemplate; 8156 VkVideoSessionKHR videoSession; 8157 } VkVideoSessionParametersCreateInfoKHR; 8158 8159 typedef struct VkVideoSessionParametersUpdateInfoKHR { 8160 VkStructureType sType; 8161 const void* pNext; 8162 uint32_t updateSequenceCount; 8163 } VkVideoSessionParametersUpdateInfoKHR; 8164 8165 typedef struct VkVideoBeginCodingInfoKHR { 8166 VkStructureType sType; 8167 const void* pNext; 8168 VkVideoBeginCodingFlagsKHR flags; 8169 VkVideoSessionKHR videoSession; 8170 VkVideoSessionParametersKHR videoSessionParameters; 8171 uint32_t referenceSlotCount; 8172 const VkVideoReferenceSlotInfoKHR* pReferenceSlots; 8173 } VkVideoBeginCodingInfoKHR; 8174 8175 typedef struct VkVideoEndCodingInfoKHR { 8176 VkStructureType sType; 8177 const void* pNext; 8178 VkVideoEndCodingFlagsKHR flags; 8179 } VkVideoEndCodingInfoKHR; 8180 8181 typedef struct VkVideoCodingControlInfoKHR { 8182 VkStructureType sType; 8183 const void* pNext; 8184 VkVideoCodingControlFlagsKHR flags; 8185 } VkVideoCodingControlInfoKHR; 8186 8187 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR)(VkPhysicalDevice physicalDevice, const VkVideoProfileInfoKHR* pVideoProfile, VkVideoCapabilitiesKHR* pCapabilities); 8188 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceVideoFormatInfoKHR* pVideoFormatInfo, uint32_t* pVideoFormatPropertyCount, VkVideoFormatPropertiesKHR* pVideoFormatProperties); 8189 typedef VkResult (VKAPI_PTR *PFN_vkCreateVideoSessionKHR)(VkDevice device, const VkVideoSessionCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionKHR* pVideoSession); 8190 typedef void (VKAPI_PTR *PFN_vkDestroyVideoSessionKHR)(VkDevice device, VkVideoSessionKHR videoSession, const VkAllocationCallbacks* pAllocator); 8191 typedef VkResult (VKAPI_PTR *PFN_vkGetVideoSessionMemoryRequirementsKHR)(VkDevice device, VkVideoSessionKHR videoSession, uint32_t* pMemoryRequirementsCount, VkVideoSessionMemoryRequirementsKHR* pMemoryRequirements); 8192 typedef VkResult (VKAPI_PTR *PFN_vkBindVideoSessionMemoryKHR)(VkDevice device, VkVideoSessionKHR videoSession, uint32_t bindSessionMemoryInfoCount, const VkBindVideoSessionMemoryInfoKHR* pBindSessionMemoryInfos); 8193 typedef VkResult (VKAPI_PTR *PFN_vkCreateVideoSessionParametersKHR)(VkDevice device, const VkVideoSessionParametersCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionParametersKHR* pVideoSessionParameters); 8194 typedef VkResult (VKAPI_PTR *PFN_vkUpdateVideoSessionParametersKHR)(VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo); 8195 typedef void (VKAPI_PTR *PFN_vkDestroyVideoSessionParametersKHR)(VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkAllocationCallbacks* pAllocator); 8196 typedef void (VKAPI_PTR *PFN_vkCmdBeginVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoBeginCodingInfoKHR* pBeginInfo); 8197 typedef void (VKAPI_PTR *PFN_vkCmdEndVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoEndCodingInfoKHR* pEndCodingInfo); 8198 typedef void (VKAPI_PTR *PFN_vkCmdControlVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoCodingControlInfoKHR* pCodingControlInfo); 8199 8200 #ifndef VK_NO_PROTOTYPES 8201 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceVideoCapabilitiesKHR( 8202 VkPhysicalDevice physicalDevice, 8203 const VkVideoProfileInfoKHR* pVideoProfile, 8204 VkVideoCapabilitiesKHR* pCapabilities); 8205 8206 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceVideoFormatPropertiesKHR( 8207 VkPhysicalDevice physicalDevice, 8208 const VkPhysicalDeviceVideoFormatInfoKHR* pVideoFormatInfo, 8209 uint32_t* pVideoFormatPropertyCount, 8210 VkVideoFormatPropertiesKHR* pVideoFormatProperties); 8211 8212 VKAPI_ATTR VkResult VKAPI_CALL vkCreateVideoSessionKHR( 8213 VkDevice device, 8214 const VkVideoSessionCreateInfoKHR* pCreateInfo, 8215 const VkAllocationCallbacks* pAllocator, 8216 VkVideoSessionKHR* pVideoSession); 8217 8218 VKAPI_ATTR void VKAPI_CALL vkDestroyVideoSessionKHR( 8219 VkDevice device, 8220 VkVideoSessionKHR videoSession, 8221 const VkAllocationCallbacks* pAllocator); 8222 8223 VKAPI_ATTR VkResult VKAPI_CALL vkGetVideoSessionMemoryRequirementsKHR( 8224 VkDevice device, 8225 VkVideoSessionKHR videoSession, 8226 uint32_t* pMemoryRequirementsCount, 8227 VkVideoSessionMemoryRequirementsKHR* pMemoryRequirements); 8228 8229 VKAPI_ATTR VkResult VKAPI_CALL vkBindVideoSessionMemoryKHR( 8230 VkDevice device, 8231 VkVideoSessionKHR videoSession, 8232 uint32_t bindSessionMemoryInfoCount, 8233 const VkBindVideoSessionMemoryInfoKHR* pBindSessionMemoryInfos); 8234 8235 VKAPI_ATTR VkResult VKAPI_CALL vkCreateVideoSessionParametersKHR( 8236 VkDevice device, 8237 const VkVideoSessionParametersCreateInfoKHR* pCreateInfo, 8238 const VkAllocationCallbacks* pAllocator, 8239 VkVideoSessionParametersKHR* pVideoSessionParameters); 8240 8241 VKAPI_ATTR VkResult VKAPI_CALL vkUpdateVideoSessionParametersKHR( 8242 VkDevice device, 8243 VkVideoSessionParametersKHR videoSessionParameters, 8244 const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo); 8245 8246 VKAPI_ATTR void VKAPI_CALL vkDestroyVideoSessionParametersKHR( 8247 VkDevice device, 8248 VkVideoSessionParametersKHR videoSessionParameters, 8249 const VkAllocationCallbacks* pAllocator); 8250 8251 VKAPI_ATTR void VKAPI_CALL vkCmdBeginVideoCodingKHR( 8252 VkCommandBuffer commandBuffer, 8253 const VkVideoBeginCodingInfoKHR* pBeginInfo); 8254 8255 VKAPI_ATTR void VKAPI_CALL vkCmdEndVideoCodingKHR( 8256 VkCommandBuffer commandBuffer, 8257 const VkVideoEndCodingInfoKHR* pEndCodingInfo); 8258 8259 VKAPI_ATTR void VKAPI_CALL vkCmdControlVideoCodingKHR( 8260 VkCommandBuffer commandBuffer, 8261 const VkVideoCodingControlInfoKHR* pCodingControlInfo); 8262 #endif 8263 8264 8265 // VK_KHR_video_decode_queue is a preprocessor guard. Do not pass it to API calls. 8266 #define VK_KHR_video_decode_queue 1 8267 #define VK_KHR_VIDEO_DECODE_QUEUE_SPEC_VERSION 8 8268 #define VK_KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME "VK_KHR_video_decode_queue" 8269 8270 typedef enum VkVideoDecodeCapabilityFlagBitsKHR { 8271 VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_COINCIDE_BIT_KHR = 0x00000001, 8272 VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_DISTINCT_BIT_KHR = 0x00000002, 8273 VK_VIDEO_DECODE_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8274 } VkVideoDecodeCapabilityFlagBitsKHR; 8275 typedef VkFlags VkVideoDecodeCapabilityFlagsKHR; 8276 8277 typedef enum VkVideoDecodeUsageFlagBitsKHR { 8278 VK_VIDEO_DECODE_USAGE_DEFAULT_KHR = 0, 8279 VK_VIDEO_DECODE_USAGE_TRANSCODING_BIT_KHR = 0x00000001, 8280 VK_VIDEO_DECODE_USAGE_OFFLINE_BIT_KHR = 0x00000002, 8281 VK_VIDEO_DECODE_USAGE_STREAMING_BIT_KHR = 0x00000004, 8282 VK_VIDEO_DECODE_USAGE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8283 } VkVideoDecodeUsageFlagBitsKHR; 8284 typedef VkFlags VkVideoDecodeUsageFlagsKHR; 8285 typedef VkFlags VkVideoDecodeFlagsKHR; 8286 typedef struct VkVideoDecodeCapabilitiesKHR { 8287 VkStructureType sType; 8288 void* pNext; 8289 VkVideoDecodeCapabilityFlagsKHR flags; 8290 } VkVideoDecodeCapabilitiesKHR; 8291 8292 typedef struct VkVideoDecodeUsageInfoKHR { 8293 VkStructureType sType; 8294 const void* pNext; 8295 VkVideoDecodeUsageFlagsKHR videoUsageHints; 8296 } VkVideoDecodeUsageInfoKHR; 8297 8298 typedef struct VkVideoDecodeInfoKHR { 8299 VkStructureType sType; 8300 const void* pNext; 8301 VkVideoDecodeFlagsKHR flags; 8302 VkBuffer srcBuffer; 8303 VkDeviceSize srcBufferOffset; 8304 VkDeviceSize srcBufferRange; 8305 VkVideoPictureResourceInfoKHR dstPictureResource; 8306 const VkVideoReferenceSlotInfoKHR* pSetupReferenceSlot; 8307 uint32_t referenceSlotCount; 8308 const VkVideoReferenceSlotInfoKHR* pReferenceSlots; 8309 } VkVideoDecodeInfoKHR; 8310 8311 typedef void (VKAPI_PTR *PFN_vkCmdDecodeVideoKHR)(VkCommandBuffer commandBuffer, const VkVideoDecodeInfoKHR* pDecodeInfo); 8312 8313 #ifndef VK_NO_PROTOTYPES 8314 VKAPI_ATTR void VKAPI_CALL vkCmdDecodeVideoKHR( 8315 VkCommandBuffer commandBuffer, 8316 const VkVideoDecodeInfoKHR* pDecodeInfo); 8317 #endif 8318 8319 8320 // VK_KHR_video_encode_h264 is a preprocessor guard. Do not pass it to API calls. 8321 #define VK_KHR_video_encode_h264 1 8322 #include "vk_video/vulkan_video_codec_h264std.h" 8323 #include "vk_video/vulkan_video_codec_h264std_encode.h" 8324 #define VK_KHR_VIDEO_ENCODE_H264_SPEC_VERSION 14 8325 #define VK_KHR_VIDEO_ENCODE_H264_EXTENSION_NAME "VK_KHR_video_encode_h264" 8326 8327 typedef enum VkVideoEncodeH264CapabilityFlagBitsKHR { 8328 VK_VIDEO_ENCODE_H264_CAPABILITY_HRD_COMPLIANCE_BIT_KHR = 0x00000001, 8329 VK_VIDEO_ENCODE_H264_CAPABILITY_PREDICTION_WEIGHT_TABLE_GENERATED_BIT_KHR = 0x00000002, 8330 VK_VIDEO_ENCODE_H264_CAPABILITY_ROW_UNALIGNED_SLICE_BIT_KHR = 0x00000004, 8331 VK_VIDEO_ENCODE_H264_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_KHR = 0x00000008, 8332 VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L0_LIST_BIT_KHR = 0x00000010, 8333 VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_KHR = 0x00000020, 8334 VK_VIDEO_ENCODE_H264_CAPABILITY_PER_PICTURE_TYPE_MIN_MAX_QP_BIT_KHR = 0x00000040, 8335 VK_VIDEO_ENCODE_H264_CAPABILITY_PER_SLICE_CONSTANT_QP_BIT_KHR = 0x00000080, 8336 VK_VIDEO_ENCODE_H264_CAPABILITY_GENERATE_PREFIX_NALU_BIT_KHR = 0x00000100, 8337 VK_VIDEO_ENCODE_H264_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8338 } VkVideoEncodeH264CapabilityFlagBitsKHR; 8339 typedef VkFlags VkVideoEncodeH264CapabilityFlagsKHR; 8340 8341 typedef enum VkVideoEncodeH264StdFlagBitsKHR { 8342 VK_VIDEO_ENCODE_H264_STD_SEPARATE_COLOR_PLANE_FLAG_SET_BIT_KHR = 0x00000001, 8343 VK_VIDEO_ENCODE_H264_STD_QPPRIME_Y_ZERO_TRANSFORM_BYPASS_FLAG_SET_BIT_KHR = 0x00000002, 8344 VK_VIDEO_ENCODE_H264_STD_SCALING_MATRIX_PRESENT_FLAG_SET_BIT_KHR = 0x00000004, 8345 VK_VIDEO_ENCODE_H264_STD_CHROMA_QP_INDEX_OFFSET_BIT_KHR = 0x00000008, 8346 VK_VIDEO_ENCODE_H264_STD_SECOND_CHROMA_QP_INDEX_OFFSET_BIT_KHR = 0x00000010, 8347 VK_VIDEO_ENCODE_H264_STD_PIC_INIT_QP_MINUS26_BIT_KHR = 0x00000020, 8348 VK_VIDEO_ENCODE_H264_STD_WEIGHTED_PRED_FLAG_SET_BIT_KHR = 0x00000040, 8349 VK_VIDEO_ENCODE_H264_STD_WEIGHTED_BIPRED_IDC_EXPLICIT_BIT_KHR = 0x00000080, 8350 VK_VIDEO_ENCODE_H264_STD_WEIGHTED_BIPRED_IDC_IMPLICIT_BIT_KHR = 0x00000100, 8351 VK_VIDEO_ENCODE_H264_STD_TRANSFORM_8X8_MODE_FLAG_SET_BIT_KHR = 0x00000200, 8352 VK_VIDEO_ENCODE_H264_STD_DIRECT_SPATIAL_MV_PRED_FLAG_UNSET_BIT_KHR = 0x00000400, 8353 VK_VIDEO_ENCODE_H264_STD_ENTROPY_CODING_MODE_FLAG_UNSET_BIT_KHR = 0x00000800, 8354 VK_VIDEO_ENCODE_H264_STD_ENTROPY_CODING_MODE_FLAG_SET_BIT_KHR = 0x00001000, 8355 VK_VIDEO_ENCODE_H264_STD_DIRECT_8X8_INFERENCE_FLAG_UNSET_BIT_KHR = 0x00002000, 8356 VK_VIDEO_ENCODE_H264_STD_CONSTRAINED_INTRA_PRED_FLAG_SET_BIT_KHR = 0x00004000, 8357 VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_DISABLED_BIT_KHR = 0x00008000, 8358 VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_ENABLED_BIT_KHR = 0x00010000, 8359 VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_PARTIAL_BIT_KHR = 0x00020000, 8360 VK_VIDEO_ENCODE_H264_STD_SLICE_QP_DELTA_BIT_KHR = 0x00080000, 8361 VK_VIDEO_ENCODE_H264_STD_DIFFERENT_SLICE_QP_DELTA_BIT_KHR = 0x00100000, 8362 VK_VIDEO_ENCODE_H264_STD_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8363 } VkVideoEncodeH264StdFlagBitsKHR; 8364 typedef VkFlags VkVideoEncodeH264StdFlagsKHR; 8365 8366 typedef enum VkVideoEncodeH264RateControlFlagBitsKHR { 8367 VK_VIDEO_ENCODE_H264_RATE_CONTROL_ATTEMPT_HRD_COMPLIANCE_BIT_KHR = 0x00000001, 8368 VK_VIDEO_ENCODE_H264_RATE_CONTROL_REGULAR_GOP_BIT_KHR = 0x00000002, 8369 VK_VIDEO_ENCODE_H264_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_KHR = 0x00000004, 8370 VK_VIDEO_ENCODE_H264_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_KHR = 0x00000008, 8371 VK_VIDEO_ENCODE_H264_RATE_CONTROL_TEMPORAL_LAYER_PATTERN_DYADIC_BIT_KHR = 0x00000010, 8372 VK_VIDEO_ENCODE_H264_RATE_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8373 } VkVideoEncodeH264RateControlFlagBitsKHR; 8374 typedef VkFlags VkVideoEncodeH264RateControlFlagsKHR; 8375 typedef struct VkVideoEncodeH264CapabilitiesKHR { 8376 VkStructureType sType; 8377 void* pNext; 8378 VkVideoEncodeH264CapabilityFlagsKHR flags; 8379 StdVideoH264LevelIdc maxLevelIdc; 8380 uint32_t maxSliceCount; 8381 uint32_t maxPPictureL0ReferenceCount; 8382 uint32_t maxBPictureL0ReferenceCount; 8383 uint32_t maxL1ReferenceCount; 8384 uint32_t maxTemporalLayerCount; 8385 VkBool32 expectDyadicTemporalLayerPattern; 8386 int32_t minQp; 8387 int32_t maxQp; 8388 VkBool32 prefersGopRemainingFrames; 8389 VkBool32 requiresGopRemainingFrames; 8390 VkVideoEncodeH264StdFlagsKHR stdSyntaxFlags; 8391 } VkVideoEncodeH264CapabilitiesKHR; 8392 8393 typedef struct VkVideoEncodeH264QpKHR { 8394 int32_t qpI; 8395 int32_t qpP; 8396 int32_t qpB; 8397 } VkVideoEncodeH264QpKHR; 8398 8399 typedef struct VkVideoEncodeH264QualityLevelPropertiesKHR { 8400 VkStructureType sType; 8401 void* pNext; 8402 VkVideoEncodeH264RateControlFlagsKHR preferredRateControlFlags; 8403 uint32_t preferredGopFrameCount; 8404 uint32_t preferredIdrPeriod; 8405 uint32_t preferredConsecutiveBFrameCount; 8406 uint32_t preferredTemporalLayerCount; 8407 VkVideoEncodeH264QpKHR preferredConstantQp; 8408 uint32_t preferredMaxL0ReferenceCount; 8409 uint32_t preferredMaxL1ReferenceCount; 8410 VkBool32 preferredStdEntropyCodingModeFlag; 8411 } VkVideoEncodeH264QualityLevelPropertiesKHR; 8412 8413 typedef struct VkVideoEncodeH264SessionCreateInfoKHR { 8414 VkStructureType sType; 8415 const void* pNext; 8416 VkBool32 useMaxLevelIdc; 8417 StdVideoH264LevelIdc maxLevelIdc; 8418 } VkVideoEncodeH264SessionCreateInfoKHR; 8419 8420 typedef struct VkVideoEncodeH264SessionParametersAddInfoKHR { 8421 VkStructureType sType; 8422 const void* pNext; 8423 uint32_t stdSPSCount; 8424 const StdVideoH264SequenceParameterSet* pStdSPSs; 8425 uint32_t stdPPSCount; 8426 const StdVideoH264PictureParameterSet* pStdPPSs; 8427 } VkVideoEncodeH264SessionParametersAddInfoKHR; 8428 8429 typedef struct VkVideoEncodeH264SessionParametersCreateInfoKHR { 8430 VkStructureType sType; 8431 const void* pNext; 8432 uint32_t maxStdSPSCount; 8433 uint32_t maxStdPPSCount; 8434 const VkVideoEncodeH264SessionParametersAddInfoKHR* pParametersAddInfo; 8435 } VkVideoEncodeH264SessionParametersCreateInfoKHR; 8436 8437 typedef struct VkVideoEncodeH264SessionParametersGetInfoKHR { 8438 VkStructureType sType; 8439 const void* pNext; 8440 VkBool32 writeStdSPS; 8441 VkBool32 writeStdPPS; 8442 uint32_t stdSPSId; 8443 uint32_t stdPPSId; 8444 } VkVideoEncodeH264SessionParametersGetInfoKHR; 8445 8446 typedef struct VkVideoEncodeH264SessionParametersFeedbackInfoKHR { 8447 VkStructureType sType; 8448 void* pNext; 8449 VkBool32 hasStdSPSOverrides; 8450 VkBool32 hasStdPPSOverrides; 8451 } VkVideoEncodeH264SessionParametersFeedbackInfoKHR; 8452 8453 typedef struct VkVideoEncodeH264NaluSliceInfoKHR { 8454 VkStructureType sType; 8455 const void* pNext; 8456 int32_t constantQp; 8457 const StdVideoEncodeH264SliceHeader* pStdSliceHeader; 8458 } VkVideoEncodeH264NaluSliceInfoKHR; 8459 8460 typedef struct VkVideoEncodeH264PictureInfoKHR { 8461 VkStructureType sType; 8462 const void* pNext; 8463 uint32_t naluSliceEntryCount; 8464 const VkVideoEncodeH264NaluSliceInfoKHR* pNaluSliceEntries; 8465 const StdVideoEncodeH264PictureInfo* pStdPictureInfo; 8466 VkBool32 generatePrefixNalu; 8467 } VkVideoEncodeH264PictureInfoKHR; 8468 8469 typedef struct VkVideoEncodeH264DpbSlotInfoKHR { 8470 VkStructureType sType; 8471 const void* pNext; 8472 const StdVideoEncodeH264ReferenceInfo* pStdReferenceInfo; 8473 } VkVideoEncodeH264DpbSlotInfoKHR; 8474 8475 typedef struct VkVideoEncodeH264ProfileInfoKHR { 8476 VkStructureType sType; 8477 const void* pNext; 8478 StdVideoH264ProfileIdc stdProfileIdc; 8479 } VkVideoEncodeH264ProfileInfoKHR; 8480 8481 typedef struct VkVideoEncodeH264RateControlInfoKHR { 8482 VkStructureType sType; 8483 const void* pNext; 8484 VkVideoEncodeH264RateControlFlagsKHR flags; 8485 uint32_t gopFrameCount; 8486 uint32_t idrPeriod; 8487 uint32_t consecutiveBFrameCount; 8488 uint32_t temporalLayerCount; 8489 } VkVideoEncodeH264RateControlInfoKHR; 8490 8491 typedef struct VkVideoEncodeH264FrameSizeKHR { 8492 uint32_t frameISize; 8493 uint32_t framePSize; 8494 uint32_t frameBSize; 8495 } VkVideoEncodeH264FrameSizeKHR; 8496 8497 typedef struct VkVideoEncodeH264RateControlLayerInfoKHR { 8498 VkStructureType sType; 8499 const void* pNext; 8500 VkBool32 useMinQp; 8501 VkVideoEncodeH264QpKHR minQp; 8502 VkBool32 useMaxQp; 8503 VkVideoEncodeH264QpKHR maxQp; 8504 VkBool32 useMaxFrameSize; 8505 VkVideoEncodeH264FrameSizeKHR maxFrameSize; 8506 } VkVideoEncodeH264RateControlLayerInfoKHR; 8507 8508 typedef struct VkVideoEncodeH264GopRemainingFrameInfoKHR { 8509 VkStructureType sType; 8510 const void* pNext; 8511 VkBool32 useGopRemainingFrames; 8512 uint32_t gopRemainingI; 8513 uint32_t gopRemainingP; 8514 uint32_t gopRemainingB; 8515 } VkVideoEncodeH264GopRemainingFrameInfoKHR; 8516 8517 8518 8519 // VK_KHR_video_encode_h265 is a preprocessor guard. Do not pass it to API calls. 8520 #define VK_KHR_video_encode_h265 1 8521 #include "vk_video/vulkan_video_codec_h265std.h" 8522 #include "vk_video/vulkan_video_codec_h265std_encode.h" 8523 #define VK_KHR_VIDEO_ENCODE_H265_SPEC_VERSION 14 8524 #define VK_KHR_VIDEO_ENCODE_H265_EXTENSION_NAME "VK_KHR_video_encode_h265" 8525 8526 typedef enum VkVideoEncodeH265CapabilityFlagBitsKHR { 8527 VK_VIDEO_ENCODE_H265_CAPABILITY_HRD_COMPLIANCE_BIT_KHR = 0x00000001, 8528 VK_VIDEO_ENCODE_H265_CAPABILITY_PREDICTION_WEIGHT_TABLE_GENERATED_BIT_KHR = 0x00000002, 8529 VK_VIDEO_ENCODE_H265_CAPABILITY_ROW_UNALIGNED_SLICE_SEGMENT_BIT_KHR = 0x00000004, 8530 VK_VIDEO_ENCODE_H265_CAPABILITY_DIFFERENT_SLICE_SEGMENT_TYPE_BIT_KHR = 0x00000008, 8531 VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L0_LIST_BIT_KHR = 0x00000010, 8532 VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_KHR = 0x00000020, 8533 VK_VIDEO_ENCODE_H265_CAPABILITY_PER_PICTURE_TYPE_MIN_MAX_QP_BIT_KHR = 0x00000040, 8534 VK_VIDEO_ENCODE_H265_CAPABILITY_PER_SLICE_SEGMENT_CONSTANT_QP_BIT_KHR = 0x00000080, 8535 VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILES_PER_SLICE_SEGMENT_BIT_KHR = 0x00000100, 8536 VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_SLICE_SEGMENTS_PER_TILE_BIT_KHR = 0x00000200, 8537 VK_VIDEO_ENCODE_H265_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8538 } VkVideoEncodeH265CapabilityFlagBitsKHR; 8539 typedef VkFlags VkVideoEncodeH265CapabilityFlagsKHR; 8540 8541 typedef enum VkVideoEncodeH265StdFlagBitsKHR { 8542 VK_VIDEO_ENCODE_H265_STD_SEPARATE_COLOR_PLANE_FLAG_SET_BIT_KHR = 0x00000001, 8543 VK_VIDEO_ENCODE_H265_STD_SAMPLE_ADAPTIVE_OFFSET_ENABLED_FLAG_SET_BIT_KHR = 0x00000002, 8544 VK_VIDEO_ENCODE_H265_STD_SCALING_LIST_DATA_PRESENT_FLAG_SET_BIT_KHR = 0x00000004, 8545 VK_VIDEO_ENCODE_H265_STD_PCM_ENABLED_FLAG_SET_BIT_KHR = 0x00000008, 8546 VK_VIDEO_ENCODE_H265_STD_SPS_TEMPORAL_MVP_ENABLED_FLAG_SET_BIT_KHR = 0x00000010, 8547 VK_VIDEO_ENCODE_H265_STD_INIT_QP_MINUS26_BIT_KHR = 0x00000020, 8548 VK_VIDEO_ENCODE_H265_STD_WEIGHTED_PRED_FLAG_SET_BIT_KHR = 0x00000040, 8549 VK_VIDEO_ENCODE_H265_STD_WEIGHTED_BIPRED_FLAG_SET_BIT_KHR = 0x00000080, 8550 VK_VIDEO_ENCODE_H265_STD_LOG2_PARALLEL_MERGE_LEVEL_MINUS2_BIT_KHR = 0x00000100, 8551 VK_VIDEO_ENCODE_H265_STD_SIGN_DATA_HIDING_ENABLED_FLAG_SET_BIT_KHR = 0x00000200, 8552 VK_VIDEO_ENCODE_H265_STD_TRANSFORM_SKIP_ENABLED_FLAG_SET_BIT_KHR = 0x00000400, 8553 VK_VIDEO_ENCODE_H265_STD_TRANSFORM_SKIP_ENABLED_FLAG_UNSET_BIT_KHR = 0x00000800, 8554 VK_VIDEO_ENCODE_H265_STD_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT_FLAG_SET_BIT_KHR = 0x00001000, 8555 VK_VIDEO_ENCODE_H265_STD_TRANSQUANT_BYPASS_ENABLED_FLAG_SET_BIT_KHR = 0x00002000, 8556 VK_VIDEO_ENCODE_H265_STD_CONSTRAINED_INTRA_PRED_FLAG_SET_BIT_KHR = 0x00004000, 8557 VK_VIDEO_ENCODE_H265_STD_ENTROPY_CODING_SYNC_ENABLED_FLAG_SET_BIT_KHR = 0x00008000, 8558 VK_VIDEO_ENCODE_H265_STD_DEBLOCKING_FILTER_OVERRIDE_ENABLED_FLAG_SET_BIT_KHR = 0x00010000, 8559 VK_VIDEO_ENCODE_H265_STD_DEPENDENT_SLICE_SEGMENTS_ENABLED_FLAG_SET_BIT_KHR = 0x00020000, 8560 VK_VIDEO_ENCODE_H265_STD_DEPENDENT_SLICE_SEGMENT_FLAG_SET_BIT_KHR = 0x00040000, 8561 VK_VIDEO_ENCODE_H265_STD_SLICE_QP_DELTA_BIT_KHR = 0x00080000, 8562 VK_VIDEO_ENCODE_H265_STD_DIFFERENT_SLICE_QP_DELTA_BIT_KHR = 0x00100000, 8563 VK_VIDEO_ENCODE_H265_STD_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8564 } VkVideoEncodeH265StdFlagBitsKHR; 8565 typedef VkFlags VkVideoEncodeH265StdFlagsKHR; 8566 8567 typedef enum VkVideoEncodeH265CtbSizeFlagBitsKHR { 8568 VK_VIDEO_ENCODE_H265_CTB_SIZE_16_BIT_KHR = 0x00000001, 8569 VK_VIDEO_ENCODE_H265_CTB_SIZE_32_BIT_KHR = 0x00000002, 8570 VK_VIDEO_ENCODE_H265_CTB_SIZE_64_BIT_KHR = 0x00000004, 8571 VK_VIDEO_ENCODE_H265_CTB_SIZE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8572 } VkVideoEncodeH265CtbSizeFlagBitsKHR; 8573 typedef VkFlags VkVideoEncodeH265CtbSizeFlagsKHR; 8574 8575 typedef enum VkVideoEncodeH265TransformBlockSizeFlagBitsKHR { 8576 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_4_BIT_KHR = 0x00000001, 8577 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_8_BIT_KHR = 0x00000002, 8578 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_16_BIT_KHR = 0x00000004, 8579 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_32_BIT_KHR = 0x00000008, 8580 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8581 } VkVideoEncodeH265TransformBlockSizeFlagBitsKHR; 8582 typedef VkFlags VkVideoEncodeH265TransformBlockSizeFlagsKHR; 8583 8584 typedef enum VkVideoEncodeH265RateControlFlagBitsKHR { 8585 VK_VIDEO_ENCODE_H265_RATE_CONTROL_ATTEMPT_HRD_COMPLIANCE_BIT_KHR = 0x00000001, 8586 VK_VIDEO_ENCODE_H265_RATE_CONTROL_REGULAR_GOP_BIT_KHR = 0x00000002, 8587 VK_VIDEO_ENCODE_H265_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_KHR = 0x00000004, 8588 VK_VIDEO_ENCODE_H265_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_KHR = 0x00000008, 8589 VK_VIDEO_ENCODE_H265_RATE_CONTROL_TEMPORAL_SUB_LAYER_PATTERN_DYADIC_BIT_KHR = 0x00000010, 8590 VK_VIDEO_ENCODE_H265_RATE_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8591 } VkVideoEncodeH265RateControlFlagBitsKHR; 8592 typedef VkFlags VkVideoEncodeH265RateControlFlagsKHR; 8593 typedef struct VkVideoEncodeH265CapabilitiesKHR { 8594 VkStructureType sType; 8595 void* pNext; 8596 VkVideoEncodeH265CapabilityFlagsKHR flags; 8597 StdVideoH265LevelIdc maxLevelIdc; 8598 uint32_t maxSliceSegmentCount; 8599 VkExtent2D maxTiles; 8600 VkVideoEncodeH265CtbSizeFlagsKHR ctbSizes; 8601 VkVideoEncodeH265TransformBlockSizeFlagsKHR transformBlockSizes; 8602 uint32_t maxPPictureL0ReferenceCount; 8603 uint32_t maxBPictureL0ReferenceCount; 8604 uint32_t maxL1ReferenceCount; 8605 uint32_t maxSubLayerCount; 8606 VkBool32 expectDyadicTemporalSubLayerPattern; 8607 int32_t minQp; 8608 int32_t maxQp; 8609 VkBool32 prefersGopRemainingFrames; 8610 VkBool32 requiresGopRemainingFrames; 8611 VkVideoEncodeH265StdFlagsKHR stdSyntaxFlags; 8612 } VkVideoEncodeH265CapabilitiesKHR; 8613 8614 typedef struct VkVideoEncodeH265SessionCreateInfoKHR { 8615 VkStructureType sType; 8616 const void* pNext; 8617 VkBool32 useMaxLevelIdc; 8618 StdVideoH265LevelIdc maxLevelIdc; 8619 } VkVideoEncodeH265SessionCreateInfoKHR; 8620 8621 typedef struct VkVideoEncodeH265QpKHR { 8622 int32_t qpI; 8623 int32_t qpP; 8624 int32_t qpB; 8625 } VkVideoEncodeH265QpKHR; 8626 8627 typedef struct VkVideoEncodeH265QualityLevelPropertiesKHR { 8628 VkStructureType sType; 8629 void* pNext; 8630 VkVideoEncodeH265RateControlFlagsKHR preferredRateControlFlags; 8631 uint32_t preferredGopFrameCount; 8632 uint32_t preferredIdrPeriod; 8633 uint32_t preferredConsecutiveBFrameCount; 8634 uint32_t preferredSubLayerCount; 8635 VkVideoEncodeH265QpKHR preferredConstantQp; 8636 uint32_t preferredMaxL0ReferenceCount; 8637 uint32_t preferredMaxL1ReferenceCount; 8638 } VkVideoEncodeH265QualityLevelPropertiesKHR; 8639 8640 typedef struct VkVideoEncodeH265SessionParametersAddInfoKHR { 8641 VkStructureType sType; 8642 const void* pNext; 8643 uint32_t stdVPSCount; 8644 const StdVideoH265VideoParameterSet* pStdVPSs; 8645 uint32_t stdSPSCount; 8646 const StdVideoH265SequenceParameterSet* pStdSPSs; 8647 uint32_t stdPPSCount; 8648 const StdVideoH265PictureParameterSet* pStdPPSs; 8649 } VkVideoEncodeH265SessionParametersAddInfoKHR; 8650 8651 typedef struct VkVideoEncodeH265SessionParametersCreateInfoKHR { 8652 VkStructureType sType; 8653 const void* pNext; 8654 uint32_t maxStdVPSCount; 8655 uint32_t maxStdSPSCount; 8656 uint32_t maxStdPPSCount; 8657 const VkVideoEncodeH265SessionParametersAddInfoKHR* pParametersAddInfo; 8658 } VkVideoEncodeH265SessionParametersCreateInfoKHR; 8659 8660 typedef struct VkVideoEncodeH265SessionParametersGetInfoKHR { 8661 VkStructureType sType; 8662 const void* pNext; 8663 VkBool32 writeStdVPS; 8664 VkBool32 writeStdSPS; 8665 VkBool32 writeStdPPS; 8666 uint32_t stdVPSId; 8667 uint32_t stdSPSId; 8668 uint32_t stdPPSId; 8669 } VkVideoEncodeH265SessionParametersGetInfoKHR; 8670 8671 typedef struct VkVideoEncodeH265SessionParametersFeedbackInfoKHR { 8672 VkStructureType sType; 8673 void* pNext; 8674 VkBool32 hasStdVPSOverrides; 8675 VkBool32 hasStdSPSOverrides; 8676 VkBool32 hasStdPPSOverrides; 8677 } VkVideoEncodeH265SessionParametersFeedbackInfoKHR; 8678 8679 typedef struct VkVideoEncodeH265NaluSliceSegmentInfoKHR { 8680 VkStructureType sType; 8681 const void* pNext; 8682 int32_t constantQp; 8683 const StdVideoEncodeH265SliceSegmentHeader* pStdSliceSegmentHeader; 8684 } VkVideoEncodeH265NaluSliceSegmentInfoKHR; 8685 8686 typedef struct VkVideoEncodeH265PictureInfoKHR { 8687 VkStructureType sType; 8688 const void* pNext; 8689 uint32_t naluSliceSegmentEntryCount; 8690 const VkVideoEncodeH265NaluSliceSegmentInfoKHR* pNaluSliceSegmentEntries; 8691 const StdVideoEncodeH265PictureInfo* pStdPictureInfo; 8692 } VkVideoEncodeH265PictureInfoKHR; 8693 8694 typedef struct VkVideoEncodeH265DpbSlotInfoKHR { 8695 VkStructureType sType; 8696 const void* pNext; 8697 const StdVideoEncodeH265ReferenceInfo* pStdReferenceInfo; 8698 } VkVideoEncodeH265DpbSlotInfoKHR; 8699 8700 typedef struct VkVideoEncodeH265ProfileInfoKHR { 8701 VkStructureType sType; 8702 const void* pNext; 8703 StdVideoH265ProfileIdc stdProfileIdc; 8704 } VkVideoEncodeH265ProfileInfoKHR; 8705 8706 typedef struct VkVideoEncodeH265RateControlInfoKHR { 8707 VkStructureType sType; 8708 const void* pNext; 8709 VkVideoEncodeH265RateControlFlagsKHR flags; 8710 uint32_t gopFrameCount; 8711 uint32_t idrPeriod; 8712 uint32_t consecutiveBFrameCount; 8713 uint32_t subLayerCount; 8714 } VkVideoEncodeH265RateControlInfoKHR; 8715 8716 typedef struct VkVideoEncodeH265FrameSizeKHR { 8717 uint32_t frameISize; 8718 uint32_t framePSize; 8719 uint32_t frameBSize; 8720 } VkVideoEncodeH265FrameSizeKHR; 8721 8722 typedef struct VkVideoEncodeH265RateControlLayerInfoKHR { 8723 VkStructureType sType; 8724 const void* pNext; 8725 VkBool32 useMinQp; 8726 VkVideoEncodeH265QpKHR minQp; 8727 VkBool32 useMaxQp; 8728 VkVideoEncodeH265QpKHR maxQp; 8729 VkBool32 useMaxFrameSize; 8730 VkVideoEncodeH265FrameSizeKHR maxFrameSize; 8731 } VkVideoEncodeH265RateControlLayerInfoKHR; 8732 8733 typedef struct VkVideoEncodeH265GopRemainingFrameInfoKHR { 8734 VkStructureType sType; 8735 const void* pNext; 8736 VkBool32 useGopRemainingFrames; 8737 uint32_t gopRemainingI; 8738 uint32_t gopRemainingP; 8739 uint32_t gopRemainingB; 8740 } VkVideoEncodeH265GopRemainingFrameInfoKHR; 8741 8742 8743 8744 // VK_KHR_video_decode_h264 is a preprocessor guard. Do not pass it to API calls. 8745 #define VK_KHR_video_decode_h264 1 8746 #include "vk_video/vulkan_video_codec_h264std_decode.h" 8747 #define VK_KHR_VIDEO_DECODE_H264_SPEC_VERSION 9 8748 #define VK_KHR_VIDEO_DECODE_H264_EXTENSION_NAME "VK_KHR_video_decode_h264" 8749 8750 typedef enum VkVideoDecodeH264PictureLayoutFlagBitsKHR { 8751 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_PROGRESSIVE_KHR = 0, 8752 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_INTERLEAVED_LINES_BIT_KHR = 0x00000001, 8753 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_SEPARATE_PLANES_BIT_KHR = 0x00000002, 8754 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8755 } VkVideoDecodeH264PictureLayoutFlagBitsKHR; 8756 typedef VkFlags VkVideoDecodeH264PictureLayoutFlagsKHR; 8757 typedef struct VkVideoDecodeH264ProfileInfoKHR { 8758 VkStructureType sType; 8759 const void* pNext; 8760 StdVideoH264ProfileIdc stdProfileIdc; 8761 VkVideoDecodeH264PictureLayoutFlagBitsKHR pictureLayout; 8762 } VkVideoDecodeH264ProfileInfoKHR; 8763 8764 typedef struct VkVideoDecodeH264CapabilitiesKHR { 8765 VkStructureType sType; 8766 void* pNext; 8767 StdVideoH264LevelIdc maxLevelIdc; 8768 VkOffset2D fieldOffsetGranularity; 8769 } VkVideoDecodeH264CapabilitiesKHR; 8770 8771 typedef struct VkVideoDecodeH264SessionParametersAddInfoKHR { 8772 VkStructureType sType; 8773 const void* pNext; 8774 uint32_t stdSPSCount; 8775 const StdVideoH264SequenceParameterSet* pStdSPSs; 8776 uint32_t stdPPSCount; 8777 const StdVideoH264PictureParameterSet* pStdPPSs; 8778 } VkVideoDecodeH264SessionParametersAddInfoKHR; 8779 8780 typedef struct VkVideoDecodeH264SessionParametersCreateInfoKHR { 8781 VkStructureType sType; 8782 const void* pNext; 8783 uint32_t maxStdSPSCount; 8784 uint32_t maxStdPPSCount; 8785 const VkVideoDecodeH264SessionParametersAddInfoKHR* pParametersAddInfo; 8786 } VkVideoDecodeH264SessionParametersCreateInfoKHR; 8787 8788 typedef struct VkVideoDecodeH264PictureInfoKHR { 8789 VkStructureType sType; 8790 const void* pNext; 8791 const StdVideoDecodeH264PictureInfo* pStdPictureInfo; 8792 uint32_t sliceCount; 8793 const uint32_t* pSliceOffsets; 8794 } VkVideoDecodeH264PictureInfoKHR; 8795 8796 typedef struct VkVideoDecodeH264DpbSlotInfoKHR { 8797 VkStructureType sType; 8798 const void* pNext; 8799 const StdVideoDecodeH264ReferenceInfo* pStdReferenceInfo; 8800 } VkVideoDecodeH264DpbSlotInfoKHR; 8801 8802 8803 8804 // VK_KHR_dynamic_rendering is a preprocessor guard. Do not pass it to API calls. 8805 #define VK_KHR_dynamic_rendering 1 8806 #define VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION 1 8807 #define VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME "VK_KHR_dynamic_rendering" 8808 typedef VkRenderingFlags VkRenderingFlagsKHR; 8809 8810 typedef VkRenderingFlagBits VkRenderingFlagBitsKHR; 8811 8812 typedef VkRenderingInfo VkRenderingInfoKHR; 8813 8814 typedef VkRenderingAttachmentInfo VkRenderingAttachmentInfoKHR; 8815 8816 typedef VkPipelineRenderingCreateInfo VkPipelineRenderingCreateInfoKHR; 8817 8818 typedef VkPhysicalDeviceDynamicRenderingFeatures VkPhysicalDeviceDynamicRenderingFeaturesKHR; 8819 8820 typedef VkCommandBufferInheritanceRenderingInfo VkCommandBufferInheritanceRenderingInfoKHR; 8821 8822 typedef struct VkRenderingFragmentShadingRateAttachmentInfoKHR { 8823 VkStructureType sType; 8824 const void* pNext; 8825 VkImageView imageView; 8826 VkImageLayout imageLayout; 8827 VkExtent2D shadingRateAttachmentTexelSize; 8828 } VkRenderingFragmentShadingRateAttachmentInfoKHR; 8829 8830 typedef struct VkRenderingFragmentDensityMapAttachmentInfoEXT { 8831 VkStructureType sType; 8832 const void* pNext; 8833 VkImageView imageView; 8834 VkImageLayout imageLayout; 8835 } VkRenderingFragmentDensityMapAttachmentInfoEXT; 8836 8837 typedef struct VkAttachmentSampleCountInfoAMD { 8838 VkStructureType sType; 8839 const void* pNext; 8840 uint32_t colorAttachmentCount; 8841 const VkSampleCountFlagBits* pColorAttachmentSamples; 8842 VkSampleCountFlagBits depthStencilAttachmentSamples; 8843 } VkAttachmentSampleCountInfoAMD; 8844 8845 typedef VkAttachmentSampleCountInfoAMD VkAttachmentSampleCountInfoNV; 8846 8847 typedef struct VkMultiviewPerViewAttributesInfoNVX { 8848 VkStructureType sType; 8849 const void* pNext; 8850 VkBool32 perViewAttributes; 8851 VkBool32 perViewAttributesPositionXOnly; 8852 } VkMultiviewPerViewAttributesInfoNVX; 8853 8854 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderingKHR)(VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo); 8855 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderingKHR)(VkCommandBuffer commandBuffer); 8856 8857 #ifndef VK_NO_PROTOTYPES 8858 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderingKHR( 8859 VkCommandBuffer commandBuffer, 8860 const VkRenderingInfo* pRenderingInfo); 8861 8862 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderingKHR( 8863 VkCommandBuffer commandBuffer); 8864 #endif 8865 8866 8867 // VK_KHR_multiview is a preprocessor guard. Do not pass it to API calls. 8868 #define VK_KHR_multiview 1 8869 #define VK_KHR_MULTIVIEW_SPEC_VERSION 1 8870 #define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview" 8871 typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR; 8872 8873 typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR; 8874 8875 typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR; 8876 8877 8878 8879 // VK_KHR_get_physical_device_properties2 is a preprocessor guard. Do not pass it to API calls. 8880 #define VK_KHR_get_physical_device_properties2 1 8881 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 2 8882 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2" 8883 typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR; 8884 8885 typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR; 8886 8887 typedef VkFormatProperties2 VkFormatProperties2KHR; 8888 8889 typedef VkImageFormatProperties2 VkImageFormatProperties2KHR; 8890 8891 typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR; 8892 8893 typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR; 8894 8895 typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR; 8896 8897 typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR; 8898 8899 typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR; 8900 8901 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures); 8902 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties); 8903 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties); 8904 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties); 8905 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties); 8906 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 8907 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties); 8908 8909 #ifndef VK_NO_PROTOTYPES 8910 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR( 8911 VkPhysicalDevice physicalDevice, 8912 VkPhysicalDeviceFeatures2* pFeatures); 8913 8914 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR( 8915 VkPhysicalDevice physicalDevice, 8916 VkPhysicalDeviceProperties2* pProperties); 8917 8918 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR( 8919 VkPhysicalDevice physicalDevice, 8920 VkFormat format, 8921 VkFormatProperties2* pFormatProperties); 8922 8923 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR( 8924 VkPhysicalDevice physicalDevice, 8925 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, 8926 VkImageFormatProperties2* pImageFormatProperties); 8927 8928 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR( 8929 VkPhysicalDevice physicalDevice, 8930 uint32_t* pQueueFamilyPropertyCount, 8931 VkQueueFamilyProperties2* pQueueFamilyProperties); 8932 8933 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR( 8934 VkPhysicalDevice physicalDevice, 8935 VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 8936 8937 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR( 8938 VkPhysicalDevice physicalDevice, 8939 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, 8940 uint32_t* pPropertyCount, 8941 VkSparseImageFormatProperties2* pProperties); 8942 #endif 8943 8944 8945 // VK_KHR_device_group is a preprocessor guard. Do not pass it to API calls. 8946 #define VK_KHR_device_group 1 8947 #define VK_KHR_DEVICE_GROUP_SPEC_VERSION 4 8948 #define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group" 8949 typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR; 8950 8951 typedef VkPeerMemoryFeatureFlagBits VkPeerMemoryFeatureFlagBitsKHR; 8952 8953 typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR; 8954 8955 typedef VkMemoryAllocateFlagBits VkMemoryAllocateFlagBitsKHR; 8956 8957 typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR; 8958 8959 typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR; 8960 8961 typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR; 8962 8963 typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR; 8964 8965 typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR; 8966 8967 typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR; 8968 8969 typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR; 8970 8971 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 8972 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer commandBuffer, uint32_t deviceMask); 8973 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); 8974 8975 #ifndef VK_NO_PROTOTYPES 8976 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHR( 8977 VkDevice device, 8978 uint32_t heapIndex, 8979 uint32_t localDeviceIndex, 8980 uint32_t remoteDeviceIndex, 8981 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 8982 8983 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMaskKHR( 8984 VkCommandBuffer commandBuffer, 8985 uint32_t deviceMask); 8986 8987 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHR( 8988 VkCommandBuffer commandBuffer, 8989 uint32_t baseGroupX, 8990 uint32_t baseGroupY, 8991 uint32_t baseGroupZ, 8992 uint32_t groupCountX, 8993 uint32_t groupCountY, 8994 uint32_t groupCountZ); 8995 #endif 8996 8997 8998 // VK_KHR_shader_draw_parameters is a preprocessor guard. Do not pass it to API calls. 8999 #define VK_KHR_shader_draw_parameters 1 9000 #define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1 9001 #define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters" 9002 9003 9004 // VK_KHR_maintenance1 is a preprocessor guard. Do not pass it to API calls. 9005 #define VK_KHR_maintenance1 1 9006 #define VK_KHR_MAINTENANCE_1_SPEC_VERSION 2 9007 #define VK_KHR_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_maintenance1" 9008 #define VK_KHR_MAINTENANCE1_SPEC_VERSION VK_KHR_MAINTENANCE_1_SPEC_VERSION 9009 #define VK_KHR_MAINTENANCE1_EXTENSION_NAME VK_KHR_MAINTENANCE_1_EXTENSION_NAME 9010 typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR; 9011 9012 typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags); 9013 9014 #ifndef VK_NO_PROTOTYPES 9015 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR( 9016 VkDevice device, 9017 VkCommandPool commandPool, 9018 VkCommandPoolTrimFlags flags); 9019 #endif 9020 9021 9022 // VK_KHR_device_group_creation is a preprocessor guard. Do not pass it to API calls. 9023 #define VK_KHR_device_group_creation 1 9024 #define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1 9025 #define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation" 9026 #define VK_MAX_DEVICE_GROUP_SIZE_KHR VK_MAX_DEVICE_GROUP_SIZE 9027 typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR; 9028 9029 typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR; 9030 9031 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 9032 9033 #ifndef VK_NO_PROTOTYPES 9034 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHR( 9035 VkInstance instance, 9036 uint32_t* pPhysicalDeviceGroupCount, 9037 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 9038 #endif 9039 9040 9041 // VK_KHR_external_memory_capabilities is a preprocessor guard. Do not pass it to API calls. 9042 #define VK_KHR_external_memory_capabilities 1 9043 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1 9044 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities" 9045 #define VK_LUID_SIZE_KHR VK_LUID_SIZE 9046 typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR; 9047 9048 typedef VkExternalMemoryHandleTypeFlagBits VkExternalMemoryHandleTypeFlagBitsKHR; 9049 9050 typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR; 9051 9052 typedef VkExternalMemoryFeatureFlagBits VkExternalMemoryFeatureFlagBitsKHR; 9053 9054 typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR; 9055 9056 typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR; 9057 9058 typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR; 9059 9060 typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR; 9061 9062 typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR; 9063 9064 typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR; 9065 9066 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties); 9067 9068 #ifndef VK_NO_PROTOTYPES 9069 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR( 9070 VkPhysicalDevice physicalDevice, 9071 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, 9072 VkExternalBufferProperties* pExternalBufferProperties); 9073 #endif 9074 9075 9076 // VK_KHR_external_memory is a preprocessor guard. Do not pass it to API calls. 9077 #define VK_KHR_external_memory 1 9078 #define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1 9079 #define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory" 9080 #define VK_QUEUE_FAMILY_EXTERNAL_KHR VK_QUEUE_FAMILY_EXTERNAL 9081 typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR; 9082 9083 typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR; 9084 9085 typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR; 9086 9087 9088 9089 // VK_KHR_external_memory_fd is a preprocessor guard. Do not pass it to API calls. 9090 #define VK_KHR_external_memory_fd 1 9091 #define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1 9092 #define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd" 9093 typedef struct VkImportMemoryFdInfoKHR { 9094 VkStructureType sType; 9095 const void* pNext; 9096 VkExternalMemoryHandleTypeFlagBits handleType; 9097 int fd; 9098 } VkImportMemoryFdInfoKHR; 9099 9100 typedef struct VkMemoryFdPropertiesKHR { 9101 VkStructureType sType; 9102 void* pNext; 9103 uint32_t memoryTypeBits; 9104 } VkMemoryFdPropertiesKHR; 9105 9106 typedef struct VkMemoryGetFdInfoKHR { 9107 VkStructureType sType; 9108 const void* pNext; 9109 VkDeviceMemory memory; 9110 VkExternalMemoryHandleTypeFlagBits handleType; 9111 } VkMemoryGetFdInfoKHR; 9112 9113 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd); 9114 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdPropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties); 9115 9116 #ifndef VK_NO_PROTOTYPES 9117 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR( 9118 VkDevice device, 9119 const VkMemoryGetFdInfoKHR* pGetFdInfo, 9120 int* pFd); 9121 9122 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR( 9123 VkDevice device, 9124 VkExternalMemoryHandleTypeFlagBits handleType, 9125 int fd, 9126 VkMemoryFdPropertiesKHR* pMemoryFdProperties); 9127 #endif 9128 9129 9130 // VK_KHR_external_semaphore_capabilities is a preprocessor guard. Do not pass it to API calls. 9131 #define VK_KHR_external_semaphore_capabilities 1 9132 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1 9133 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities" 9134 typedef VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreHandleTypeFlagsKHR; 9135 9136 typedef VkExternalSemaphoreHandleTypeFlagBits VkExternalSemaphoreHandleTypeFlagBitsKHR; 9137 9138 typedef VkExternalSemaphoreFeatureFlags VkExternalSemaphoreFeatureFlagsKHR; 9139 9140 typedef VkExternalSemaphoreFeatureFlagBits VkExternalSemaphoreFeatureFlagBitsKHR; 9141 9142 typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR; 9143 9144 typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR; 9145 9146 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 9147 9148 #ifndef VK_NO_PROTOTYPES 9149 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( 9150 VkPhysicalDevice physicalDevice, 9151 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, 9152 VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 9153 #endif 9154 9155 9156 // VK_KHR_external_semaphore is a preprocessor guard. Do not pass it to API calls. 9157 #define VK_KHR_external_semaphore 1 9158 #define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1 9159 #define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore" 9160 typedef VkSemaphoreImportFlags VkSemaphoreImportFlagsKHR; 9161 9162 typedef VkSemaphoreImportFlagBits VkSemaphoreImportFlagBitsKHR; 9163 9164 typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR; 9165 9166 9167 9168 // VK_KHR_external_semaphore_fd is a preprocessor guard. Do not pass it to API calls. 9169 #define VK_KHR_external_semaphore_fd 1 9170 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1 9171 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd" 9172 typedef struct VkImportSemaphoreFdInfoKHR { 9173 VkStructureType sType; 9174 const void* pNext; 9175 VkSemaphore semaphore; 9176 VkSemaphoreImportFlags flags; 9177 VkExternalSemaphoreHandleTypeFlagBits handleType; 9178 int fd; 9179 } VkImportSemaphoreFdInfoKHR; 9180 9181 typedef struct VkSemaphoreGetFdInfoKHR { 9182 VkStructureType sType; 9183 const void* pNext; 9184 VkSemaphore semaphore; 9185 VkExternalSemaphoreHandleTypeFlagBits handleType; 9186 } VkSemaphoreGetFdInfoKHR; 9187 9188 typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo); 9189 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd); 9190 9191 #ifndef VK_NO_PROTOTYPES 9192 VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR( 9193 VkDevice device, 9194 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo); 9195 9196 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR( 9197 VkDevice device, 9198 const VkSemaphoreGetFdInfoKHR* pGetFdInfo, 9199 int* pFd); 9200 #endif 9201 9202 9203 // VK_KHR_push_descriptor is a preprocessor guard. Do not pass it to API calls. 9204 #define VK_KHR_push_descriptor 1 9205 #define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2 9206 #define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor" 9207 typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR { 9208 VkStructureType sType; 9209 void* pNext; 9210 uint32_t maxPushDescriptors; 9211 } VkPhysicalDevicePushDescriptorPropertiesKHR; 9212 9213 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites); 9214 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData); 9215 9216 #ifndef VK_NO_PROTOTYPES 9217 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR( 9218 VkCommandBuffer commandBuffer, 9219 VkPipelineBindPoint pipelineBindPoint, 9220 VkPipelineLayout layout, 9221 uint32_t set, 9222 uint32_t descriptorWriteCount, 9223 const VkWriteDescriptorSet* pDescriptorWrites); 9224 9225 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR( 9226 VkCommandBuffer commandBuffer, 9227 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 9228 VkPipelineLayout layout, 9229 uint32_t set, 9230 const void* pData); 9231 #endif 9232 9233 9234 // VK_KHR_shader_float16_int8 is a preprocessor guard. Do not pass it to API calls. 9235 #define VK_KHR_shader_float16_int8 1 9236 #define VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION 1 9237 #define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8" 9238 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceShaderFloat16Int8FeaturesKHR; 9239 9240 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceFloat16Int8FeaturesKHR; 9241 9242 9243 9244 // VK_KHR_16bit_storage is a preprocessor guard. Do not pass it to API calls. 9245 #define VK_KHR_16bit_storage 1 9246 #define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1 9247 #define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage" 9248 typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR; 9249 9250 9251 9252 // VK_KHR_incremental_present is a preprocessor guard. Do not pass it to API calls. 9253 #define VK_KHR_incremental_present 1 9254 #define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 2 9255 #define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present" 9256 typedef struct VkRectLayerKHR { 9257 VkOffset2D offset; 9258 VkExtent2D extent; 9259 uint32_t layer; 9260 } VkRectLayerKHR; 9261 9262 typedef struct VkPresentRegionKHR { 9263 uint32_t rectangleCount; 9264 const VkRectLayerKHR* pRectangles; 9265 } VkPresentRegionKHR; 9266 9267 typedef struct VkPresentRegionsKHR { 9268 VkStructureType sType; 9269 const void* pNext; 9270 uint32_t swapchainCount; 9271 const VkPresentRegionKHR* pRegions; 9272 } VkPresentRegionsKHR; 9273 9274 9275 9276 // VK_KHR_descriptor_update_template is a preprocessor guard. Do not pass it to API calls. 9277 #define VK_KHR_descriptor_update_template 1 9278 typedef VkDescriptorUpdateTemplate VkDescriptorUpdateTemplateKHR; 9279 9280 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1 9281 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template" 9282 typedef VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateTypeKHR; 9283 9284 typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR; 9285 9286 typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR; 9287 9288 typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR; 9289 9290 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 9291 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator); 9292 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData); 9293 9294 #ifndef VK_NO_PROTOTYPES 9295 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR( 9296 VkDevice device, 9297 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, 9298 const VkAllocationCallbacks* pAllocator, 9299 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 9300 9301 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR( 9302 VkDevice device, 9303 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 9304 const VkAllocationCallbacks* pAllocator); 9305 9306 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR( 9307 VkDevice device, 9308 VkDescriptorSet descriptorSet, 9309 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 9310 const void* pData); 9311 #endif 9312 9313 9314 // VK_KHR_imageless_framebuffer is a preprocessor guard. Do not pass it to API calls. 9315 #define VK_KHR_imageless_framebuffer 1 9316 #define VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION 1 9317 #define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer" 9318 typedef VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeaturesKHR; 9319 9320 typedef VkFramebufferAttachmentsCreateInfo VkFramebufferAttachmentsCreateInfoKHR; 9321 9322 typedef VkFramebufferAttachmentImageInfo VkFramebufferAttachmentImageInfoKHR; 9323 9324 typedef VkRenderPassAttachmentBeginInfo VkRenderPassAttachmentBeginInfoKHR; 9325 9326 9327 9328 // VK_KHR_create_renderpass2 is a preprocessor guard. Do not pass it to API calls. 9329 #define VK_KHR_create_renderpass2 1 9330 #define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1 9331 #define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2" 9332 typedef VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR; 9333 9334 typedef VkAttachmentDescription2 VkAttachmentDescription2KHR; 9335 9336 typedef VkAttachmentReference2 VkAttachmentReference2KHR; 9337 9338 typedef VkSubpassDescription2 VkSubpassDescription2KHR; 9339 9340 typedef VkSubpassDependency2 VkSubpassDependency2KHR; 9341 9342 typedef VkSubpassBeginInfo VkSubpassBeginInfoKHR; 9343 9344 typedef VkSubpassEndInfo VkSubpassEndInfoKHR; 9345 9346 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2KHR)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); 9347 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo); 9348 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo); 9349 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo); 9350 9351 #ifndef VK_NO_PROTOTYPES 9352 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2KHR( 9353 VkDevice device, 9354 const VkRenderPassCreateInfo2* pCreateInfo, 9355 const VkAllocationCallbacks* pAllocator, 9356 VkRenderPass* pRenderPass); 9357 9358 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2KHR( 9359 VkCommandBuffer commandBuffer, 9360 const VkRenderPassBeginInfo* pRenderPassBegin, 9361 const VkSubpassBeginInfo* pSubpassBeginInfo); 9362 9363 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2KHR( 9364 VkCommandBuffer commandBuffer, 9365 const VkSubpassBeginInfo* pSubpassBeginInfo, 9366 const VkSubpassEndInfo* pSubpassEndInfo); 9367 9368 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2KHR( 9369 VkCommandBuffer commandBuffer, 9370 const VkSubpassEndInfo* pSubpassEndInfo); 9371 #endif 9372 9373 9374 // VK_KHR_shared_presentable_image is a preprocessor guard. Do not pass it to API calls. 9375 #define VK_KHR_shared_presentable_image 1 9376 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1 9377 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image" 9378 typedef struct VkSharedPresentSurfaceCapabilitiesKHR { 9379 VkStructureType sType; 9380 void* pNext; 9381 VkImageUsageFlags sharedPresentSupportedUsageFlags; 9382 } VkSharedPresentSurfaceCapabilitiesKHR; 9383 9384 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain); 9385 9386 #ifndef VK_NO_PROTOTYPES 9387 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR( 9388 VkDevice device, 9389 VkSwapchainKHR swapchain); 9390 #endif 9391 9392 9393 // VK_KHR_external_fence_capabilities is a preprocessor guard. Do not pass it to API calls. 9394 #define VK_KHR_external_fence_capabilities 1 9395 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1 9396 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities" 9397 typedef VkExternalFenceHandleTypeFlags VkExternalFenceHandleTypeFlagsKHR; 9398 9399 typedef VkExternalFenceHandleTypeFlagBits VkExternalFenceHandleTypeFlagBitsKHR; 9400 9401 typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR; 9402 9403 typedef VkExternalFenceFeatureFlagBits VkExternalFenceFeatureFlagBitsKHR; 9404 9405 typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR; 9406 9407 typedef VkExternalFenceProperties VkExternalFencePropertiesKHR; 9408 9409 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties); 9410 9411 #ifndef VK_NO_PROTOTYPES 9412 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFencePropertiesKHR( 9413 VkPhysicalDevice physicalDevice, 9414 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, 9415 VkExternalFenceProperties* pExternalFenceProperties); 9416 #endif 9417 9418 9419 // VK_KHR_external_fence is a preprocessor guard. Do not pass it to API calls. 9420 #define VK_KHR_external_fence 1 9421 #define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1 9422 #define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence" 9423 typedef VkFenceImportFlags VkFenceImportFlagsKHR; 9424 9425 typedef VkFenceImportFlagBits VkFenceImportFlagBitsKHR; 9426 9427 typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR; 9428 9429 9430 9431 // VK_KHR_external_fence_fd is a preprocessor guard. Do not pass it to API calls. 9432 #define VK_KHR_external_fence_fd 1 9433 #define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1 9434 #define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd" 9435 typedef struct VkImportFenceFdInfoKHR { 9436 VkStructureType sType; 9437 const void* pNext; 9438 VkFence fence; 9439 VkFenceImportFlags flags; 9440 VkExternalFenceHandleTypeFlagBits handleType; 9441 int fd; 9442 } VkImportFenceFdInfoKHR; 9443 9444 typedef struct VkFenceGetFdInfoKHR { 9445 VkStructureType sType; 9446 const void* pNext; 9447 VkFence fence; 9448 VkExternalFenceHandleTypeFlagBits handleType; 9449 } VkFenceGetFdInfoKHR; 9450 9451 typedef VkResult (VKAPI_PTR *PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo); 9452 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd); 9453 9454 #ifndef VK_NO_PROTOTYPES 9455 VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceFdKHR( 9456 VkDevice device, 9457 const VkImportFenceFdInfoKHR* pImportFenceFdInfo); 9458 9459 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceFdKHR( 9460 VkDevice device, 9461 const VkFenceGetFdInfoKHR* pGetFdInfo, 9462 int* pFd); 9463 #endif 9464 9465 9466 // VK_KHR_performance_query is a preprocessor guard. Do not pass it to API calls. 9467 #define VK_KHR_performance_query 1 9468 #define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1 9469 #define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query" 9470 9471 typedef enum VkPerformanceCounterUnitKHR { 9472 VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0, 9473 VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1, 9474 VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR = 2, 9475 VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR = 3, 9476 VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR = 4, 9477 VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR = 5, 9478 VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR = 6, 9479 VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR = 7, 9480 VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8, 9481 VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9, 9482 VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10, 9483 VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR = 0x7FFFFFFF 9484 } VkPerformanceCounterUnitKHR; 9485 9486 typedef enum VkPerformanceCounterScopeKHR { 9487 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR = 0, 9488 VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR = 1, 9489 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR = 2, 9490 VK_QUERY_SCOPE_COMMAND_BUFFER_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR, 9491 VK_QUERY_SCOPE_RENDER_PASS_KHR = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR, 9492 VK_QUERY_SCOPE_COMMAND_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR, 9493 VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF 9494 } VkPerformanceCounterScopeKHR; 9495 9496 typedef enum VkPerformanceCounterStorageKHR { 9497 VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR = 0, 9498 VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR = 1, 9499 VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR = 2, 9500 VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3, 9501 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4, 9502 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5, 9503 VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = 0x7FFFFFFF 9504 } VkPerformanceCounterStorageKHR; 9505 9506 typedef enum VkPerformanceCounterDescriptionFlagBitsKHR { 9507 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR = 0x00000001, 9508 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR = 0x00000002, 9509 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR, 9510 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR, 9511 VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9512 } VkPerformanceCounterDescriptionFlagBitsKHR; 9513 typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR; 9514 9515 typedef enum VkAcquireProfilingLockFlagBitsKHR { 9516 VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9517 } VkAcquireProfilingLockFlagBitsKHR; 9518 typedef VkFlags VkAcquireProfilingLockFlagsKHR; 9519 typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR { 9520 VkStructureType sType; 9521 void* pNext; 9522 VkBool32 performanceCounterQueryPools; 9523 VkBool32 performanceCounterMultipleQueryPools; 9524 } VkPhysicalDevicePerformanceQueryFeaturesKHR; 9525 9526 typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR { 9527 VkStructureType sType; 9528 void* pNext; 9529 VkBool32 allowCommandBufferQueryCopies; 9530 } VkPhysicalDevicePerformanceQueryPropertiesKHR; 9531 9532 typedef struct VkPerformanceCounterKHR { 9533 VkStructureType sType; 9534 void* pNext; 9535 VkPerformanceCounterUnitKHR unit; 9536 VkPerformanceCounterScopeKHR scope; 9537 VkPerformanceCounterStorageKHR storage; 9538 uint8_t uuid[VK_UUID_SIZE]; 9539 } VkPerformanceCounterKHR; 9540 9541 typedef struct VkPerformanceCounterDescriptionKHR { 9542 VkStructureType sType; 9543 void* pNext; 9544 VkPerformanceCounterDescriptionFlagsKHR flags; 9545 char name[VK_MAX_DESCRIPTION_SIZE]; 9546 char category[VK_MAX_DESCRIPTION_SIZE]; 9547 char description[VK_MAX_DESCRIPTION_SIZE]; 9548 } VkPerformanceCounterDescriptionKHR; 9549 9550 typedef struct VkQueryPoolPerformanceCreateInfoKHR { 9551 VkStructureType sType; 9552 const void* pNext; 9553 uint32_t queueFamilyIndex; 9554 uint32_t counterIndexCount; 9555 const uint32_t* pCounterIndices; 9556 } VkQueryPoolPerformanceCreateInfoKHR; 9557 9558 typedef union VkPerformanceCounterResultKHR { 9559 int32_t int32; 9560 int64_t int64; 9561 uint32_t uint32; 9562 uint64_t uint64; 9563 float float32; 9564 double float64; 9565 } VkPerformanceCounterResultKHR; 9566 9567 typedef struct VkAcquireProfilingLockInfoKHR { 9568 VkStructureType sType; 9569 const void* pNext; 9570 VkAcquireProfilingLockFlagsKHR flags; 9571 uint64_t timeout; 9572 } VkAcquireProfilingLockInfoKHR; 9573 9574 typedef struct VkPerformanceQuerySubmitInfoKHR { 9575 VkStructureType sType; 9576 const void* pNext; 9577 uint32_t counterPassIndex; 9578 } VkPerformanceQuerySubmitInfoKHR; 9579 9580 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, uint32_t* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions); 9581 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)(VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, uint32_t* pNumPasses); 9582 typedef VkResult (VKAPI_PTR *PFN_vkAcquireProfilingLockKHR)(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo); 9583 typedef void (VKAPI_PTR *PFN_vkReleaseProfilingLockKHR)(VkDevice device); 9584 9585 #ifndef VK_NO_PROTOTYPES 9586 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( 9587 VkPhysicalDevice physicalDevice, 9588 uint32_t queueFamilyIndex, 9589 uint32_t* pCounterCount, 9590 VkPerformanceCounterKHR* pCounters, 9591 VkPerformanceCounterDescriptionKHR* pCounterDescriptions); 9592 9593 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR( 9594 VkPhysicalDevice physicalDevice, 9595 const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, 9596 uint32_t* pNumPasses); 9597 9598 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireProfilingLockKHR( 9599 VkDevice device, 9600 const VkAcquireProfilingLockInfoKHR* pInfo); 9601 9602 VKAPI_ATTR void VKAPI_CALL vkReleaseProfilingLockKHR( 9603 VkDevice device); 9604 #endif 9605 9606 9607 // VK_KHR_maintenance2 is a preprocessor guard. Do not pass it to API calls. 9608 #define VK_KHR_maintenance2 1 9609 #define VK_KHR_MAINTENANCE_2_SPEC_VERSION 1 9610 #define VK_KHR_MAINTENANCE_2_EXTENSION_NAME "VK_KHR_maintenance2" 9611 #define VK_KHR_MAINTENANCE2_SPEC_VERSION VK_KHR_MAINTENANCE_2_SPEC_VERSION 9612 #define VK_KHR_MAINTENANCE2_EXTENSION_NAME VK_KHR_MAINTENANCE_2_EXTENSION_NAME 9613 typedef VkPointClippingBehavior VkPointClippingBehaviorKHR; 9614 9615 typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR; 9616 9617 typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR; 9618 9619 typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR; 9620 9621 typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR; 9622 9623 typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR; 9624 9625 typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR; 9626 9627 9628 9629 // VK_KHR_get_surface_capabilities2 is a preprocessor guard. Do not pass it to API calls. 9630 #define VK_KHR_get_surface_capabilities2 1 9631 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1 9632 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2" 9633 typedef struct VkPhysicalDeviceSurfaceInfo2KHR { 9634 VkStructureType sType; 9635 const void* pNext; 9636 VkSurfaceKHR surface; 9637 } VkPhysicalDeviceSurfaceInfo2KHR; 9638 9639 typedef struct VkSurfaceCapabilities2KHR { 9640 VkStructureType sType; 9641 void* pNext; 9642 VkSurfaceCapabilitiesKHR surfaceCapabilities; 9643 } VkSurfaceCapabilities2KHR; 9644 9645 typedef struct VkSurfaceFormat2KHR { 9646 VkStructureType sType; 9647 void* pNext; 9648 VkSurfaceFormatKHR surfaceFormat; 9649 } VkSurfaceFormat2KHR; 9650 9651 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities); 9652 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats); 9653 9654 #ifndef VK_NO_PROTOTYPES 9655 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR( 9656 VkPhysicalDevice physicalDevice, 9657 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, 9658 VkSurfaceCapabilities2KHR* pSurfaceCapabilities); 9659 9660 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR( 9661 VkPhysicalDevice physicalDevice, 9662 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, 9663 uint32_t* pSurfaceFormatCount, 9664 VkSurfaceFormat2KHR* pSurfaceFormats); 9665 #endif 9666 9667 9668 // VK_KHR_variable_pointers is a preprocessor guard. Do not pass it to API calls. 9669 #define VK_KHR_variable_pointers 1 9670 #define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1 9671 #define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers" 9672 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeaturesKHR; 9673 9674 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointersFeaturesKHR; 9675 9676 9677 9678 // VK_KHR_get_display_properties2 is a preprocessor guard. Do not pass it to API calls. 9679 #define VK_KHR_get_display_properties2 1 9680 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1 9681 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2" 9682 typedef struct VkDisplayProperties2KHR { 9683 VkStructureType sType; 9684 void* pNext; 9685 VkDisplayPropertiesKHR displayProperties; 9686 } VkDisplayProperties2KHR; 9687 9688 typedef struct VkDisplayPlaneProperties2KHR { 9689 VkStructureType sType; 9690 void* pNext; 9691 VkDisplayPlanePropertiesKHR displayPlaneProperties; 9692 } VkDisplayPlaneProperties2KHR; 9693 9694 typedef struct VkDisplayModeProperties2KHR { 9695 VkStructureType sType; 9696 void* pNext; 9697 VkDisplayModePropertiesKHR displayModeProperties; 9698 } VkDisplayModeProperties2KHR; 9699 9700 typedef struct VkDisplayPlaneInfo2KHR { 9701 VkStructureType sType; 9702 const void* pNext; 9703 VkDisplayModeKHR mode; 9704 uint32_t planeIndex; 9705 } VkDisplayPlaneInfo2KHR; 9706 9707 typedef struct VkDisplayPlaneCapabilities2KHR { 9708 VkStructureType sType; 9709 void* pNext; 9710 VkDisplayPlaneCapabilitiesKHR capabilities; 9711 } VkDisplayPlaneCapabilities2KHR; 9712 9713 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayProperties2KHR* pProperties); 9714 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties); 9715 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModeProperties2KHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModeProperties2KHR* pProperties); 9716 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities); 9717 9718 #ifndef VK_NO_PROTOTYPES 9719 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayProperties2KHR( 9720 VkPhysicalDevice physicalDevice, 9721 uint32_t* pPropertyCount, 9722 VkDisplayProperties2KHR* pProperties); 9723 9724 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlaneProperties2KHR( 9725 VkPhysicalDevice physicalDevice, 9726 uint32_t* pPropertyCount, 9727 VkDisplayPlaneProperties2KHR* pProperties); 9728 9729 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModeProperties2KHR( 9730 VkPhysicalDevice physicalDevice, 9731 VkDisplayKHR display, 9732 uint32_t* pPropertyCount, 9733 VkDisplayModeProperties2KHR* pProperties); 9734 9735 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilities2KHR( 9736 VkPhysicalDevice physicalDevice, 9737 const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, 9738 VkDisplayPlaneCapabilities2KHR* pCapabilities); 9739 #endif 9740 9741 9742 // VK_KHR_dedicated_allocation is a preprocessor guard. Do not pass it to API calls. 9743 #define VK_KHR_dedicated_allocation 1 9744 #define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3 9745 #define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation" 9746 typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR; 9747 9748 typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR; 9749 9750 9751 9752 // VK_KHR_storage_buffer_storage_class is a preprocessor guard. Do not pass it to API calls. 9753 #define VK_KHR_storage_buffer_storage_class 1 9754 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1 9755 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class" 9756 9757 9758 // VK_KHR_relaxed_block_layout is a preprocessor guard. Do not pass it to API calls. 9759 #define VK_KHR_relaxed_block_layout 1 9760 #define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1 9761 #define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout" 9762 9763 9764 // VK_KHR_get_memory_requirements2 is a preprocessor guard. Do not pass it to API calls. 9765 #define VK_KHR_get_memory_requirements2 1 9766 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1 9767 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2" 9768 typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR; 9769 9770 typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR; 9771 9772 typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR; 9773 9774 typedef VkMemoryRequirements2 VkMemoryRequirements2KHR; 9775 9776 typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR; 9777 9778 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); 9779 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); 9780 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 9781 9782 #ifndef VK_NO_PROTOTYPES 9783 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2KHR( 9784 VkDevice device, 9785 const VkImageMemoryRequirementsInfo2* pInfo, 9786 VkMemoryRequirements2* pMemoryRequirements); 9787 9788 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2KHR( 9789 VkDevice device, 9790 const VkBufferMemoryRequirementsInfo2* pInfo, 9791 VkMemoryRequirements2* pMemoryRequirements); 9792 9793 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR( 9794 VkDevice device, 9795 const VkImageSparseMemoryRequirementsInfo2* pInfo, 9796 uint32_t* pSparseMemoryRequirementCount, 9797 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 9798 #endif 9799 9800 9801 // VK_KHR_image_format_list is a preprocessor guard. Do not pass it to API calls. 9802 #define VK_KHR_image_format_list 1 9803 #define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1 9804 #define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list" 9805 typedef VkImageFormatListCreateInfo VkImageFormatListCreateInfoKHR; 9806 9807 9808 9809 // VK_KHR_sampler_ycbcr_conversion is a preprocessor guard. Do not pass it to API calls. 9810 #define VK_KHR_sampler_ycbcr_conversion 1 9811 typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR; 9812 9813 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 14 9814 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion" 9815 typedef VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR; 9816 9817 typedef VkSamplerYcbcrRange VkSamplerYcbcrRangeKHR; 9818 9819 typedef VkChromaLocation VkChromaLocationKHR; 9820 9821 typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR; 9822 9823 typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR; 9824 9825 typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR; 9826 9827 typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR; 9828 9829 typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR; 9830 9831 typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR; 9832 9833 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion); 9834 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator); 9835 9836 #ifndef VK_NO_PROTOTYPES 9837 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversionKHR( 9838 VkDevice device, 9839 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, 9840 const VkAllocationCallbacks* pAllocator, 9841 VkSamplerYcbcrConversion* pYcbcrConversion); 9842 9843 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversionKHR( 9844 VkDevice device, 9845 VkSamplerYcbcrConversion ycbcrConversion, 9846 const VkAllocationCallbacks* pAllocator); 9847 #endif 9848 9849 9850 // VK_KHR_bind_memory2 is a preprocessor guard. Do not pass it to API calls. 9851 #define VK_KHR_bind_memory2 1 9852 #define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1 9853 #define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2" 9854 typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR; 9855 9856 typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR; 9857 9858 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos); 9859 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos); 9860 9861 #ifndef VK_NO_PROTOTYPES 9862 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2KHR( 9863 VkDevice device, 9864 uint32_t bindInfoCount, 9865 const VkBindBufferMemoryInfo* pBindInfos); 9866 9867 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR( 9868 VkDevice device, 9869 uint32_t bindInfoCount, 9870 const VkBindImageMemoryInfo* pBindInfos); 9871 #endif 9872 9873 9874 // VK_KHR_maintenance3 is a preprocessor guard. Do not pass it to API calls. 9875 #define VK_KHR_maintenance3 1 9876 #define VK_KHR_MAINTENANCE_3_SPEC_VERSION 1 9877 #define VK_KHR_MAINTENANCE_3_EXTENSION_NAME "VK_KHR_maintenance3" 9878 #define VK_KHR_MAINTENANCE3_SPEC_VERSION VK_KHR_MAINTENANCE_3_SPEC_VERSION 9879 #define VK_KHR_MAINTENANCE3_EXTENSION_NAME VK_KHR_MAINTENANCE_3_EXTENSION_NAME 9880 typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR; 9881 9882 typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR; 9883 9884 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport); 9885 9886 #ifndef VK_NO_PROTOTYPES 9887 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR( 9888 VkDevice device, 9889 const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 9890 VkDescriptorSetLayoutSupport* pSupport); 9891 #endif 9892 9893 9894 // VK_KHR_draw_indirect_count is a preprocessor guard. Do not pass it to API calls. 9895 #define VK_KHR_draw_indirect_count 1 9896 #define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1 9897 #define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count" 9898 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 9899 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 9900 9901 #ifndef VK_NO_PROTOTYPES 9902 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountKHR( 9903 VkCommandBuffer commandBuffer, 9904 VkBuffer buffer, 9905 VkDeviceSize offset, 9906 VkBuffer countBuffer, 9907 VkDeviceSize countBufferOffset, 9908 uint32_t maxDrawCount, 9909 uint32_t stride); 9910 9911 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountKHR( 9912 VkCommandBuffer commandBuffer, 9913 VkBuffer buffer, 9914 VkDeviceSize offset, 9915 VkBuffer countBuffer, 9916 VkDeviceSize countBufferOffset, 9917 uint32_t maxDrawCount, 9918 uint32_t stride); 9919 #endif 9920 9921 9922 // VK_KHR_shader_subgroup_extended_types is a preprocessor guard. Do not pass it to API calls. 9923 #define VK_KHR_shader_subgroup_extended_types 1 9924 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION 1 9925 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME "VK_KHR_shader_subgroup_extended_types" 9926 typedef VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR; 9927 9928 9929 9930 // VK_KHR_8bit_storage is a preprocessor guard. Do not pass it to API calls. 9931 #define VK_KHR_8bit_storage 1 9932 #define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1 9933 #define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage" 9934 typedef VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeaturesKHR; 9935 9936 9937 9938 // VK_KHR_shader_atomic_int64 is a preprocessor guard. Do not pass it to API calls. 9939 #define VK_KHR_shader_atomic_int64 1 9940 #define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1 9941 #define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64" 9942 typedef VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64FeaturesKHR; 9943 9944 9945 9946 // VK_KHR_shader_clock is a preprocessor guard. Do not pass it to API calls. 9947 #define VK_KHR_shader_clock 1 9948 #define VK_KHR_SHADER_CLOCK_SPEC_VERSION 1 9949 #define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock" 9950 typedef struct VkPhysicalDeviceShaderClockFeaturesKHR { 9951 VkStructureType sType; 9952 void* pNext; 9953 VkBool32 shaderSubgroupClock; 9954 VkBool32 shaderDeviceClock; 9955 } VkPhysicalDeviceShaderClockFeaturesKHR; 9956 9957 9958 9959 // VK_KHR_video_decode_h265 is a preprocessor guard. Do not pass it to API calls. 9960 #define VK_KHR_video_decode_h265 1 9961 #include "vk_video/vulkan_video_codec_h265std_decode.h" 9962 #define VK_KHR_VIDEO_DECODE_H265_SPEC_VERSION 8 9963 #define VK_KHR_VIDEO_DECODE_H265_EXTENSION_NAME "VK_KHR_video_decode_h265" 9964 typedef struct VkVideoDecodeH265ProfileInfoKHR { 9965 VkStructureType sType; 9966 const void* pNext; 9967 StdVideoH265ProfileIdc stdProfileIdc; 9968 } VkVideoDecodeH265ProfileInfoKHR; 9969 9970 typedef struct VkVideoDecodeH265CapabilitiesKHR { 9971 VkStructureType sType; 9972 void* pNext; 9973 StdVideoH265LevelIdc maxLevelIdc; 9974 } VkVideoDecodeH265CapabilitiesKHR; 9975 9976 typedef struct VkVideoDecodeH265SessionParametersAddInfoKHR { 9977 VkStructureType sType; 9978 const void* pNext; 9979 uint32_t stdVPSCount; 9980 const StdVideoH265VideoParameterSet* pStdVPSs; 9981 uint32_t stdSPSCount; 9982 const StdVideoH265SequenceParameterSet* pStdSPSs; 9983 uint32_t stdPPSCount; 9984 const StdVideoH265PictureParameterSet* pStdPPSs; 9985 } VkVideoDecodeH265SessionParametersAddInfoKHR; 9986 9987 typedef struct VkVideoDecodeH265SessionParametersCreateInfoKHR { 9988 VkStructureType sType; 9989 const void* pNext; 9990 uint32_t maxStdVPSCount; 9991 uint32_t maxStdSPSCount; 9992 uint32_t maxStdPPSCount; 9993 const VkVideoDecodeH265SessionParametersAddInfoKHR* pParametersAddInfo; 9994 } VkVideoDecodeH265SessionParametersCreateInfoKHR; 9995 9996 typedef struct VkVideoDecodeH265PictureInfoKHR { 9997 VkStructureType sType; 9998 const void* pNext; 9999 const StdVideoDecodeH265PictureInfo* pStdPictureInfo; 10000 uint32_t sliceSegmentCount; 10001 const uint32_t* pSliceSegmentOffsets; 10002 } VkVideoDecodeH265PictureInfoKHR; 10003 10004 typedef struct VkVideoDecodeH265DpbSlotInfoKHR { 10005 VkStructureType sType; 10006 const void* pNext; 10007 const StdVideoDecodeH265ReferenceInfo* pStdReferenceInfo; 10008 } VkVideoDecodeH265DpbSlotInfoKHR; 10009 10010 10011 10012 // VK_KHR_global_priority is a preprocessor guard. Do not pass it to API calls. 10013 #define VK_KHR_global_priority 1 10014 #define VK_MAX_GLOBAL_PRIORITY_SIZE_KHR 16U 10015 #define VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION 1 10016 #define VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME "VK_KHR_global_priority" 10017 10018 typedef enum VkQueueGlobalPriorityKHR { 10019 VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR = 128, 10020 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR = 256, 10021 VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR = 512, 10022 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR = 1024, 10023 VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR, 10024 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR, 10025 VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR, 10026 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR, 10027 VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_KHR = 0x7FFFFFFF 10028 } VkQueueGlobalPriorityKHR; 10029 typedef struct VkDeviceQueueGlobalPriorityCreateInfoKHR { 10030 VkStructureType sType; 10031 const void* pNext; 10032 VkQueueGlobalPriorityKHR globalPriority; 10033 } VkDeviceQueueGlobalPriorityCreateInfoKHR; 10034 10035 typedef struct VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR { 10036 VkStructureType sType; 10037 void* pNext; 10038 VkBool32 globalPriorityQuery; 10039 } VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR; 10040 10041 typedef struct VkQueueFamilyGlobalPriorityPropertiesKHR { 10042 VkStructureType sType; 10043 void* pNext; 10044 uint32_t priorityCount; 10045 VkQueueGlobalPriorityKHR priorities[VK_MAX_GLOBAL_PRIORITY_SIZE_KHR]; 10046 } VkQueueFamilyGlobalPriorityPropertiesKHR; 10047 10048 10049 10050 // VK_KHR_driver_properties is a preprocessor guard. Do not pass it to API calls. 10051 #define VK_KHR_driver_properties 1 10052 #define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1 10053 #define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties" 10054 #define VK_MAX_DRIVER_NAME_SIZE_KHR VK_MAX_DRIVER_NAME_SIZE 10055 #define VK_MAX_DRIVER_INFO_SIZE_KHR VK_MAX_DRIVER_INFO_SIZE 10056 typedef VkDriverId VkDriverIdKHR; 10057 10058 typedef VkConformanceVersion VkConformanceVersionKHR; 10059 10060 typedef VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverPropertiesKHR; 10061 10062 10063 10064 // VK_KHR_shader_float_controls is a preprocessor guard. Do not pass it to API calls. 10065 #define VK_KHR_shader_float_controls 1 10066 #define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 4 10067 #define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls" 10068 typedef VkShaderFloatControlsIndependence VkShaderFloatControlsIndependenceKHR; 10069 10070 typedef VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsPropertiesKHR; 10071 10072 10073 10074 // VK_KHR_depth_stencil_resolve is a preprocessor guard. Do not pass it to API calls. 10075 #define VK_KHR_depth_stencil_resolve 1 10076 #define VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION 1 10077 #define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME "VK_KHR_depth_stencil_resolve" 10078 typedef VkResolveModeFlagBits VkResolveModeFlagBitsKHR; 10079 10080 typedef VkResolveModeFlags VkResolveModeFlagsKHR; 10081 10082 typedef VkSubpassDescriptionDepthStencilResolve VkSubpassDescriptionDepthStencilResolveKHR; 10083 10084 typedef VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolvePropertiesKHR; 10085 10086 10087 10088 // VK_KHR_swapchain_mutable_format is a preprocessor guard. Do not pass it to API calls. 10089 #define VK_KHR_swapchain_mutable_format 1 10090 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1 10091 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME "VK_KHR_swapchain_mutable_format" 10092 10093 10094 // VK_KHR_timeline_semaphore is a preprocessor guard. Do not pass it to API calls. 10095 #define VK_KHR_timeline_semaphore 1 10096 #define VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION 2 10097 #define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore" 10098 typedef VkSemaphoreType VkSemaphoreTypeKHR; 10099 10100 typedef VkSemaphoreWaitFlagBits VkSemaphoreWaitFlagBitsKHR; 10101 10102 typedef VkSemaphoreWaitFlags VkSemaphoreWaitFlagsKHR; 10103 10104 typedef VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeaturesKHR; 10105 10106 typedef VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphorePropertiesKHR; 10107 10108 typedef VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR; 10109 10110 typedef VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR; 10111 10112 typedef VkSemaphoreWaitInfo VkSemaphoreWaitInfoKHR; 10113 10114 typedef VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR; 10115 10116 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValueKHR)(VkDevice device, VkSemaphore semaphore, uint64_t* pValue); 10117 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphoresKHR)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout); 10118 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphoreKHR)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo); 10119 10120 #ifndef VK_NO_PROTOTYPES 10121 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValueKHR( 10122 VkDevice device, 10123 VkSemaphore semaphore, 10124 uint64_t* pValue); 10125 10126 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphoresKHR( 10127 VkDevice device, 10128 const VkSemaphoreWaitInfo* pWaitInfo, 10129 uint64_t timeout); 10130 10131 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphoreKHR( 10132 VkDevice device, 10133 const VkSemaphoreSignalInfo* pSignalInfo); 10134 #endif 10135 10136 10137 // VK_KHR_vulkan_memory_model is a preprocessor guard. Do not pass it to API calls. 10138 #define VK_KHR_vulkan_memory_model 1 10139 #define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3 10140 #define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model" 10141 typedef VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeaturesKHR; 10142 10143 10144 10145 // VK_KHR_shader_terminate_invocation is a preprocessor guard. Do not pass it to API calls. 10146 #define VK_KHR_shader_terminate_invocation 1 10147 #define VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION 1 10148 #define VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME "VK_KHR_shader_terminate_invocation" 10149 typedef VkPhysicalDeviceShaderTerminateInvocationFeatures VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR; 10150 10151 10152 10153 // VK_KHR_fragment_shading_rate is a preprocessor guard. Do not pass it to API calls. 10154 #define VK_KHR_fragment_shading_rate 1 10155 #define VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION 2 10156 #define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate" 10157 10158 typedef enum VkFragmentShadingRateCombinerOpKHR { 10159 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0, 10160 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR = 1, 10161 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR = 2, 10162 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR = 3, 10163 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR = 4, 10164 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_ENUM_KHR = 0x7FFFFFFF 10165 } VkFragmentShadingRateCombinerOpKHR; 10166 typedef struct VkFragmentShadingRateAttachmentInfoKHR { 10167 VkStructureType sType; 10168 const void* pNext; 10169 const VkAttachmentReference2* pFragmentShadingRateAttachment; 10170 VkExtent2D shadingRateAttachmentTexelSize; 10171 } VkFragmentShadingRateAttachmentInfoKHR; 10172 10173 typedef struct VkPipelineFragmentShadingRateStateCreateInfoKHR { 10174 VkStructureType sType; 10175 const void* pNext; 10176 VkExtent2D fragmentSize; 10177 VkFragmentShadingRateCombinerOpKHR combinerOps[2]; 10178 } VkPipelineFragmentShadingRateStateCreateInfoKHR; 10179 10180 typedef struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR { 10181 VkStructureType sType; 10182 void* pNext; 10183 VkBool32 pipelineFragmentShadingRate; 10184 VkBool32 primitiveFragmentShadingRate; 10185 VkBool32 attachmentFragmentShadingRate; 10186 } VkPhysicalDeviceFragmentShadingRateFeaturesKHR; 10187 10188 typedef struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR { 10189 VkStructureType sType; 10190 void* pNext; 10191 VkExtent2D minFragmentShadingRateAttachmentTexelSize; 10192 VkExtent2D maxFragmentShadingRateAttachmentTexelSize; 10193 uint32_t maxFragmentShadingRateAttachmentTexelSizeAspectRatio; 10194 VkBool32 primitiveFragmentShadingRateWithMultipleViewports; 10195 VkBool32 layeredShadingRateAttachments; 10196 VkBool32 fragmentShadingRateNonTrivialCombinerOps; 10197 VkExtent2D maxFragmentSize; 10198 uint32_t maxFragmentSizeAspectRatio; 10199 uint32_t maxFragmentShadingRateCoverageSamples; 10200 VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples; 10201 VkBool32 fragmentShadingRateWithShaderDepthStencilWrites; 10202 VkBool32 fragmentShadingRateWithSampleMask; 10203 VkBool32 fragmentShadingRateWithShaderSampleMask; 10204 VkBool32 fragmentShadingRateWithConservativeRasterization; 10205 VkBool32 fragmentShadingRateWithFragmentShaderInterlock; 10206 VkBool32 fragmentShadingRateWithCustomSampleLocations; 10207 VkBool32 fragmentShadingRateStrictMultiplyCombiner; 10208 } VkPhysicalDeviceFragmentShadingRatePropertiesKHR; 10209 10210 typedef struct VkPhysicalDeviceFragmentShadingRateKHR { 10211 VkStructureType sType; 10212 void* pNext; 10213 VkSampleCountFlags sampleCounts; 10214 VkExtent2D fragmentSize; 10215 } VkPhysicalDeviceFragmentShadingRateKHR; 10216 10217 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates); 10218 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateKHR)(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); 10219 10220 #ifndef VK_NO_PROTOTYPES 10221 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceFragmentShadingRatesKHR( 10222 VkPhysicalDevice physicalDevice, 10223 uint32_t* pFragmentShadingRateCount, 10224 VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates); 10225 10226 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateKHR( 10227 VkCommandBuffer commandBuffer, 10228 const VkExtent2D* pFragmentSize, 10229 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); 10230 #endif 10231 10232 10233 // VK_KHR_dynamic_rendering_local_read is a preprocessor guard. Do not pass it to API calls. 10234 #define VK_KHR_dynamic_rendering_local_read 1 10235 #define VK_KHR_DYNAMIC_RENDERING_LOCAL_READ_SPEC_VERSION 1 10236 #define VK_KHR_DYNAMIC_RENDERING_LOCAL_READ_EXTENSION_NAME "VK_KHR_dynamic_rendering_local_read" 10237 typedef struct VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR { 10238 VkStructureType sType; 10239 void* pNext; 10240 VkBool32 dynamicRenderingLocalRead; 10241 } VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR; 10242 10243 typedef struct VkRenderingAttachmentLocationInfoKHR { 10244 VkStructureType sType; 10245 const void* pNext; 10246 uint32_t colorAttachmentCount; 10247 const uint32_t* pColorAttachmentLocations; 10248 } VkRenderingAttachmentLocationInfoKHR; 10249 10250 typedef struct VkRenderingInputAttachmentIndexInfoKHR { 10251 VkStructureType sType; 10252 const void* pNext; 10253 uint32_t colorAttachmentCount; 10254 const uint32_t* pColorAttachmentInputIndices; 10255 const uint32_t* pDepthInputAttachmentIndex; 10256 const uint32_t* pStencilInputAttachmentIndex; 10257 } VkRenderingInputAttachmentIndexInfoKHR; 10258 10259 typedef void (VKAPI_PTR *PFN_vkCmdSetRenderingAttachmentLocationsKHR)(VkCommandBuffer commandBuffer, const VkRenderingAttachmentLocationInfoKHR* pLocationInfo); 10260 typedef void (VKAPI_PTR *PFN_vkCmdSetRenderingInputAttachmentIndicesKHR)(VkCommandBuffer commandBuffer, const VkRenderingInputAttachmentIndexInfoKHR* pLocationInfo); 10261 10262 #ifndef VK_NO_PROTOTYPES 10263 VKAPI_ATTR void VKAPI_CALL vkCmdSetRenderingAttachmentLocationsKHR( 10264 VkCommandBuffer commandBuffer, 10265 const VkRenderingAttachmentLocationInfoKHR* pLocationInfo); 10266 10267 VKAPI_ATTR void VKAPI_CALL vkCmdSetRenderingInputAttachmentIndicesKHR( 10268 VkCommandBuffer commandBuffer, 10269 const VkRenderingInputAttachmentIndexInfoKHR* pLocationInfo); 10270 #endif 10271 10272 10273 // VK_KHR_shader_quad_control is a preprocessor guard. Do not pass it to API calls. 10274 #define VK_KHR_shader_quad_control 1 10275 #define VK_KHR_SHADER_QUAD_CONTROL_SPEC_VERSION 1 10276 #define VK_KHR_SHADER_QUAD_CONTROL_EXTENSION_NAME "VK_KHR_shader_quad_control" 10277 typedef struct VkPhysicalDeviceShaderQuadControlFeaturesKHR { 10278 VkStructureType sType; 10279 void* pNext; 10280 VkBool32 shaderQuadControl; 10281 } VkPhysicalDeviceShaderQuadControlFeaturesKHR; 10282 10283 10284 10285 // VK_KHR_spirv_1_4 is a preprocessor guard. Do not pass it to API calls. 10286 #define VK_KHR_spirv_1_4 1 10287 #define VK_KHR_SPIRV_1_4_SPEC_VERSION 1 10288 #define VK_KHR_SPIRV_1_4_EXTENSION_NAME "VK_KHR_spirv_1_4" 10289 10290 10291 // VK_KHR_surface_protected_capabilities is a preprocessor guard. Do not pass it to API calls. 10292 #define VK_KHR_surface_protected_capabilities 1 10293 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION 1 10294 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME "VK_KHR_surface_protected_capabilities" 10295 typedef struct VkSurfaceProtectedCapabilitiesKHR { 10296 VkStructureType sType; 10297 const void* pNext; 10298 VkBool32 supportsProtected; 10299 } VkSurfaceProtectedCapabilitiesKHR; 10300 10301 10302 10303 // VK_KHR_separate_depth_stencil_layouts is a preprocessor guard. Do not pass it to API calls. 10304 #define VK_KHR_separate_depth_stencil_layouts 1 10305 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION 1 10306 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME "VK_KHR_separate_depth_stencil_layouts" 10307 typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR; 10308 10309 typedef VkAttachmentReferenceStencilLayout VkAttachmentReferenceStencilLayoutKHR; 10310 10311 typedef VkAttachmentDescriptionStencilLayout VkAttachmentDescriptionStencilLayoutKHR; 10312 10313 10314 10315 // VK_KHR_present_wait is a preprocessor guard. Do not pass it to API calls. 10316 #define VK_KHR_present_wait 1 10317 #define VK_KHR_PRESENT_WAIT_SPEC_VERSION 1 10318 #define VK_KHR_PRESENT_WAIT_EXTENSION_NAME "VK_KHR_present_wait" 10319 typedef struct VkPhysicalDevicePresentWaitFeaturesKHR { 10320 VkStructureType sType; 10321 void* pNext; 10322 VkBool32 presentWait; 10323 } VkPhysicalDevicePresentWaitFeaturesKHR; 10324 10325 typedef VkResult (VKAPI_PTR *PFN_vkWaitForPresentKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout); 10326 10327 #ifndef VK_NO_PROTOTYPES 10328 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForPresentKHR( 10329 VkDevice device, 10330 VkSwapchainKHR swapchain, 10331 uint64_t presentId, 10332 uint64_t timeout); 10333 #endif 10334 10335 10336 // VK_KHR_uniform_buffer_standard_layout is a preprocessor guard. Do not pass it to API calls. 10337 #define VK_KHR_uniform_buffer_standard_layout 1 10338 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION 1 10339 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout" 10340 typedef VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR; 10341 10342 10343 10344 // VK_KHR_buffer_device_address is a preprocessor guard. Do not pass it to API calls. 10345 #define VK_KHR_buffer_device_address 1 10346 #define VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 1 10347 #define VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_KHR_buffer_device_address" 10348 typedef VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR; 10349 10350 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoKHR; 10351 10352 typedef VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfoKHR; 10353 10354 typedef VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR; 10355 10356 typedef VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR; 10357 10358 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 10359 typedef uint64_t (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 10360 typedef uint64_t (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); 10361 10362 #ifndef VK_NO_PROTOTYPES 10363 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressKHR( 10364 VkDevice device, 10365 const VkBufferDeviceAddressInfo* pInfo); 10366 10367 VKAPI_ATTR uint64_t VKAPI_CALL vkGetBufferOpaqueCaptureAddressKHR( 10368 VkDevice device, 10369 const VkBufferDeviceAddressInfo* pInfo); 10370 10371 VKAPI_ATTR uint64_t VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddressKHR( 10372 VkDevice device, 10373 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); 10374 #endif 10375 10376 10377 // VK_KHR_deferred_host_operations is a preprocessor guard. Do not pass it to API calls. 10378 #define VK_KHR_deferred_host_operations 1 10379 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR) 10380 #define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 4 10381 #define VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME "VK_KHR_deferred_host_operations" 10382 typedef VkResult (VKAPI_PTR *PFN_vkCreateDeferredOperationKHR)(VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation); 10383 typedef void (VKAPI_PTR *PFN_vkDestroyDeferredOperationKHR)(VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator); 10384 typedef uint32_t (VKAPI_PTR *PFN_vkGetDeferredOperationMaxConcurrencyKHR)(VkDevice device, VkDeferredOperationKHR operation); 10385 typedef VkResult (VKAPI_PTR *PFN_vkGetDeferredOperationResultKHR)(VkDevice device, VkDeferredOperationKHR operation); 10386 typedef VkResult (VKAPI_PTR *PFN_vkDeferredOperationJoinKHR)(VkDevice device, VkDeferredOperationKHR operation); 10387 10388 #ifndef VK_NO_PROTOTYPES 10389 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDeferredOperationKHR( 10390 VkDevice device, 10391 const VkAllocationCallbacks* pAllocator, 10392 VkDeferredOperationKHR* pDeferredOperation); 10393 10394 VKAPI_ATTR void VKAPI_CALL vkDestroyDeferredOperationKHR( 10395 VkDevice device, 10396 VkDeferredOperationKHR operation, 10397 const VkAllocationCallbacks* pAllocator); 10398 10399 VKAPI_ATTR uint32_t VKAPI_CALL vkGetDeferredOperationMaxConcurrencyKHR( 10400 VkDevice device, 10401 VkDeferredOperationKHR operation); 10402 10403 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeferredOperationResultKHR( 10404 VkDevice device, 10405 VkDeferredOperationKHR operation); 10406 10407 VKAPI_ATTR VkResult VKAPI_CALL vkDeferredOperationJoinKHR( 10408 VkDevice device, 10409 VkDeferredOperationKHR operation); 10410 #endif 10411 10412 10413 // VK_KHR_pipeline_executable_properties is a preprocessor guard. Do not pass it to API calls. 10414 #define VK_KHR_pipeline_executable_properties 1 10415 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION 1 10416 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties" 10417 10418 typedef enum VkPipelineExecutableStatisticFormatKHR { 10419 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR = 0, 10420 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR = 1, 10421 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR = 2, 10422 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR = 3, 10423 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR = 0x7FFFFFFF 10424 } VkPipelineExecutableStatisticFormatKHR; 10425 typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR { 10426 VkStructureType sType; 10427 void* pNext; 10428 VkBool32 pipelineExecutableInfo; 10429 } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR; 10430 10431 typedef struct VkPipelineInfoKHR { 10432 VkStructureType sType; 10433 const void* pNext; 10434 VkPipeline pipeline; 10435 } VkPipelineInfoKHR; 10436 10437 typedef struct VkPipelineExecutablePropertiesKHR { 10438 VkStructureType sType; 10439 void* pNext; 10440 VkShaderStageFlags stages; 10441 char name[VK_MAX_DESCRIPTION_SIZE]; 10442 char description[VK_MAX_DESCRIPTION_SIZE]; 10443 uint32_t subgroupSize; 10444 } VkPipelineExecutablePropertiesKHR; 10445 10446 typedef struct VkPipelineExecutableInfoKHR { 10447 VkStructureType sType; 10448 const void* pNext; 10449 VkPipeline pipeline; 10450 uint32_t executableIndex; 10451 } VkPipelineExecutableInfoKHR; 10452 10453 typedef union VkPipelineExecutableStatisticValueKHR { 10454 VkBool32 b32; 10455 int64_t i64; 10456 uint64_t u64; 10457 double f64; 10458 } VkPipelineExecutableStatisticValueKHR; 10459 10460 typedef struct VkPipelineExecutableStatisticKHR { 10461 VkStructureType sType; 10462 void* pNext; 10463 char name[VK_MAX_DESCRIPTION_SIZE]; 10464 char description[VK_MAX_DESCRIPTION_SIZE]; 10465 VkPipelineExecutableStatisticFormatKHR format; 10466 VkPipelineExecutableStatisticValueKHR value; 10467 } VkPipelineExecutableStatisticKHR; 10468 10469 typedef struct VkPipelineExecutableInternalRepresentationKHR { 10470 VkStructureType sType; 10471 void* pNext; 10472 char name[VK_MAX_DESCRIPTION_SIZE]; 10473 char description[VK_MAX_DESCRIPTION_SIZE]; 10474 VkBool32 isText; 10475 size_t dataSize; 10476 void* pData; 10477 } VkPipelineExecutableInternalRepresentationKHR; 10478 10479 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutablePropertiesKHR)(VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties); 10480 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableStatisticsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics); 10481 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableInternalRepresentationsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations); 10482 10483 #ifndef VK_NO_PROTOTYPES 10484 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutablePropertiesKHR( 10485 VkDevice device, 10486 const VkPipelineInfoKHR* pPipelineInfo, 10487 uint32_t* pExecutableCount, 10488 VkPipelineExecutablePropertiesKHR* pProperties); 10489 10490 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableStatisticsKHR( 10491 VkDevice device, 10492 const VkPipelineExecutableInfoKHR* pExecutableInfo, 10493 uint32_t* pStatisticCount, 10494 VkPipelineExecutableStatisticKHR* pStatistics); 10495 10496 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableInternalRepresentationsKHR( 10497 VkDevice device, 10498 const VkPipelineExecutableInfoKHR* pExecutableInfo, 10499 uint32_t* pInternalRepresentationCount, 10500 VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations); 10501 #endif 10502 10503 10504 // VK_KHR_map_memory2 is a preprocessor guard. Do not pass it to API calls. 10505 #define VK_KHR_map_memory2 1 10506 #define VK_KHR_MAP_MEMORY_2_SPEC_VERSION 1 10507 #define VK_KHR_MAP_MEMORY_2_EXTENSION_NAME "VK_KHR_map_memory2" 10508 10509 typedef enum VkMemoryUnmapFlagBitsKHR { 10510 VK_MEMORY_UNMAP_RESERVE_BIT_EXT = 0x00000001, 10511 VK_MEMORY_UNMAP_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 10512 } VkMemoryUnmapFlagBitsKHR; 10513 typedef VkFlags VkMemoryUnmapFlagsKHR; 10514 typedef struct VkMemoryMapInfoKHR { 10515 VkStructureType sType; 10516 const void* pNext; 10517 VkMemoryMapFlags flags; 10518 VkDeviceMemory memory; 10519 VkDeviceSize offset; 10520 VkDeviceSize size; 10521 } VkMemoryMapInfoKHR; 10522 10523 typedef struct VkMemoryUnmapInfoKHR { 10524 VkStructureType sType; 10525 const void* pNext; 10526 VkMemoryUnmapFlagsKHR flags; 10527 VkDeviceMemory memory; 10528 } VkMemoryUnmapInfoKHR; 10529 10530 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory2KHR)(VkDevice device, const VkMemoryMapInfoKHR* pMemoryMapInfo, void** ppData); 10531 typedef VkResult (VKAPI_PTR *PFN_vkUnmapMemory2KHR)(VkDevice device, const VkMemoryUnmapInfoKHR* pMemoryUnmapInfo); 10532 10533 #ifndef VK_NO_PROTOTYPES 10534 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory2KHR( 10535 VkDevice device, 10536 const VkMemoryMapInfoKHR* pMemoryMapInfo, 10537 void** ppData); 10538 10539 VKAPI_ATTR VkResult VKAPI_CALL vkUnmapMemory2KHR( 10540 VkDevice device, 10541 const VkMemoryUnmapInfoKHR* pMemoryUnmapInfo); 10542 #endif 10543 10544 10545 // VK_KHR_shader_integer_dot_product is a preprocessor guard. Do not pass it to API calls. 10546 #define VK_KHR_shader_integer_dot_product 1 10547 #define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION 1 10548 #define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME "VK_KHR_shader_integer_dot_product" 10549 typedef VkPhysicalDeviceShaderIntegerDotProductFeatures VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR; 10550 10551 typedef VkPhysicalDeviceShaderIntegerDotProductProperties VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR; 10552 10553 10554 10555 // VK_KHR_pipeline_library is a preprocessor guard. Do not pass it to API calls. 10556 #define VK_KHR_pipeline_library 1 10557 #define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1 10558 #define VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME "VK_KHR_pipeline_library" 10559 typedef struct VkPipelineLibraryCreateInfoKHR { 10560 VkStructureType sType; 10561 const void* pNext; 10562 uint32_t libraryCount; 10563 const VkPipeline* pLibraries; 10564 } VkPipelineLibraryCreateInfoKHR; 10565 10566 10567 10568 // VK_KHR_shader_non_semantic_info is a preprocessor guard. Do not pass it to API calls. 10569 #define VK_KHR_shader_non_semantic_info 1 10570 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION 1 10571 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME "VK_KHR_shader_non_semantic_info" 10572 10573 10574 // VK_KHR_present_id is a preprocessor guard. Do not pass it to API calls. 10575 #define VK_KHR_present_id 1 10576 #define VK_KHR_PRESENT_ID_SPEC_VERSION 1 10577 #define VK_KHR_PRESENT_ID_EXTENSION_NAME "VK_KHR_present_id" 10578 typedef struct VkPresentIdKHR { 10579 VkStructureType sType; 10580 const void* pNext; 10581 uint32_t swapchainCount; 10582 const uint64_t* pPresentIds; 10583 } VkPresentIdKHR; 10584 10585 typedef struct VkPhysicalDevicePresentIdFeaturesKHR { 10586 VkStructureType sType; 10587 void* pNext; 10588 VkBool32 presentId; 10589 } VkPhysicalDevicePresentIdFeaturesKHR; 10590 10591 10592 10593 // VK_KHR_video_encode_queue is a preprocessor guard. Do not pass it to API calls. 10594 #define VK_KHR_video_encode_queue 1 10595 #define VK_KHR_VIDEO_ENCODE_QUEUE_SPEC_VERSION 12 10596 #define VK_KHR_VIDEO_ENCODE_QUEUE_EXTENSION_NAME "VK_KHR_video_encode_queue" 10597 10598 typedef enum VkVideoEncodeTuningModeKHR { 10599 VK_VIDEO_ENCODE_TUNING_MODE_DEFAULT_KHR = 0, 10600 VK_VIDEO_ENCODE_TUNING_MODE_HIGH_QUALITY_KHR = 1, 10601 VK_VIDEO_ENCODE_TUNING_MODE_LOW_LATENCY_KHR = 2, 10602 VK_VIDEO_ENCODE_TUNING_MODE_ULTRA_LOW_LATENCY_KHR = 3, 10603 VK_VIDEO_ENCODE_TUNING_MODE_LOSSLESS_KHR = 4, 10604 VK_VIDEO_ENCODE_TUNING_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 10605 } VkVideoEncodeTuningModeKHR; 10606 10607 typedef enum VkVideoEncodeFlagBitsKHR { 10608 VK_VIDEO_ENCODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 10609 } VkVideoEncodeFlagBitsKHR; 10610 typedef VkFlags VkVideoEncodeFlagsKHR; 10611 10612 typedef enum VkVideoEncodeCapabilityFlagBitsKHR { 10613 VK_VIDEO_ENCODE_CAPABILITY_PRECEDING_EXTERNALLY_ENCODED_BYTES_BIT_KHR = 0x00000001, 10614 VK_VIDEO_ENCODE_CAPABILITY_INSUFFICIENT_BITSTREAM_BUFFER_RANGE_DETECTION_BIT_KHR = 0x00000002, 10615 VK_VIDEO_ENCODE_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 10616 } VkVideoEncodeCapabilityFlagBitsKHR; 10617 typedef VkFlags VkVideoEncodeCapabilityFlagsKHR; 10618 10619 typedef enum VkVideoEncodeRateControlModeFlagBitsKHR { 10620 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DEFAULT_KHR = 0, 10621 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DISABLED_BIT_KHR = 0x00000001, 10622 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_CBR_BIT_KHR = 0x00000002, 10623 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_VBR_BIT_KHR = 0x00000004, 10624 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 10625 } VkVideoEncodeRateControlModeFlagBitsKHR; 10626 typedef VkFlags VkVideoEncodeRateControlModeFlagsKHR; 10627 10628 typedef enum VkVideoEncodeFeedbackFlagBitsKHR { 10629 VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BUFFER_OFFSET_BIT_KHR = 0x00000001, 10630 VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BYTES_WRITTEN_BIT_KHR = 0x00000002, 10631 VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_HAS_OVERRIDES_BIT_KHR = 0x00000004, 10632 VK_VIDEO_ENCODE_FEEDBACK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 10633 } VkVideoEncodeFeedbackFlagBitsKHR; 10634 typedef VkFlags VkVideoEncodeFeedbackFlagsKHR; 10635 10636 typedef enum VkVideoEncodeUsageFlagBitsKHR { 10637 VK_VIDEO_ENCODE_USAGE_DEFAULT_KHR = 0, 10638 VK_VIDEO_ENCODE_USAGE_TRANSCODING_BIT_KHR = 0x00000001, 10639 VK_VIDEO_ENCODE_USAGE_STREAMING_BIT_KHR = 0x00000002, 10640 VK_VIDEO_ENCODE_USAGE_RECORDING_BIT_KHR = 0x00000004, 10641 VK_VIDEO_ENCODE_USAGE_CONFERENCING_BIT_KHR = 0x00000008, 10642 VK_VIDEO_ENCODE_USAGE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 10643 } VkVideoEncodeUsageFlagBitsKHR; 10644 typedef VkFlags VkVideoEncodeUsageFlagsKHR; 10645 10646 typedef enum VkVideoEncodeContentFlagBitsKHR { 10647 VK_VIDEO_ENCODE_CONTENT_DEFAULT_KHR = 0, 10648 VK_VIDEO_ENCODE_CONTENT_CAMERA_BIT_KHR = 0x00000001, 10649 VK_VIDEO_ENCODE_CONTENT_DESKTOP_BIT_KHR = 0x00000002, 10650 VK_VIDEO_ENCODE_CONTENT_RENDERED_BIT_KHR = 0x00000004, 10651 VK_VIDEO_ENCODE_CONTENT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 10652 } VkVideoEncodeContentFlagBitsKHR; 10653 typedef VkFlags VkVideoEncodeContentFlagsKHR; 10654 typedef VkFlags VkVideoEncodeRateControlFlagsKHR; 10655 typedef struct VkVideoEncodeInfoKHR { 10656 VkStructureType sType; 10657 const void* pNext; 10658 VkVideoEncodeFlagsKHR flags; 10659 VkBuffer dstBuffer; 10660 VkDeviceSize dstBufferOffset; 10661 VkDeviceSize dstBufferRange; 10662 VkVideoPictureResourceInfoKHR srcPictureResource; 10663 const VkVideoReferenceSlotInfoKHR* pSetupReferenceSlot; 10664 uint32_t referenceSlotCount; 10665 const VkVideoReferenceSlotInfoKHR* pReferenceSlots; 10666 uint32_t precedingExternallyEncodedBytes; 10667 } VkVideoEncodeInfoKHR; 10668 10669 typedef struct VkVideoEncodeCapabilitiesKHR { 10670 VkStructureType sType; 10671 void* pNext; 10672 VkVideoEncodeCapabilityFlagsKHR flags; 10673 VkVideoEncodeRateControlModeFlagsKHR rateControlModes; 10674 uint32_t maxRateControlLayers; 10675 uint64_t maxBitrate; 10676 uint32_t maxQualityLevels; 10677 VkExtent2D encodeInputPictureGranularity; 10678 VkVideoEncodeFeedbackFlagsKHR supportedEncodeFeedbackFlags; 10679 } VkVideoEncodeCapabilitiesKHR; 10680 10681 typedef struct VkQueryPoolVideoEncodeFeedbackCreateInfoKHR { 10682 VkStructureType sType; 10683 const void* pNext; 10684 VkVideoEncodeFeedbackFlagsKHR encodeFeedbackFlags; 10685 } VkQueryPoolVideoEncodeFeedbackCreateInfoKHR; 10686 10687 typedef struct VkVideoEncodeUsageInfoKHR { 10688 VkStructureType sType; 10689 const void* pNext; 10690 VkVideoEncodeUsageFlagsKHR videoUsageHints; 10691 VkVideoEncodeContentFlagsKHR videoContentHints; 10692 VkVideoEncodeTuningModeKHR tuningMode; 10693 } VkVideoEncodeUsageInfoKHR; 10694 10695 typedef struct VkVideoEncodeRateControlLayerInfoKHR { 10696 VkStructureType sType; 10697 const void* pNext; 10698 uint64_t averageBitrate; 10699 uint64_t maxBitrate; 10700 uint32_t frameRateNumerator; 10701 uint32_t frameRateDenominator; 10702 } VkVideoEncodeRateControlLayerInfoKHR; 10703 10704 typedef struct VkVideoEncodeRateControlInfoKHR { 10705 VkStructureType sType; 10706 const void* pNext; 10707 VkVideoEncodeRateControlFlagsKHR flags; 10708 VkVideoEncodeRateControlModeFlagBitsKHR rateControlMode; 10709 uint32_t layerCount; 10710 const VkVideoEncodeRateControlLayerInfoKHR* pLayers; 10711 uint32_t virtualBufferSizeInMs; 10712 uint32_t initialVirtualBufferSizeInMs; 10713 } VkVideoEncodeRateControlInfoKHR; 10714 10715 typedef struct VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR { 10716 VkStructureType sType; 10717 const void* pNext; 10718 const VkVideoProfileInfoKHR* pVideoProfile; 10719 uint32_t qualityLevel; 10720 } VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR; 10721 10722 typedef struct VkVideoEncodeQualityLevelPropertiesKHR { 10723 VkStructureType sType; 10724 void* pNext; 10725 VkVideoEncodeRateControlModeFlagBitsKHR preferredRateControlMode; 10726 uint32_t preferredRateControlLayerCount; 10727 } VkVideoEncodeQualityLevelPropertiesKHR; 10728 10729 typedef struct VkVideoEncodeQualityLevelInfoKHR { 10730 VkStructureType sType; 10731 const void* pNext; 10732 uint32_t qualityLevel; 10733 } VkVideoEncodeQualityLevelInfoKHR; 10734 10735 typedef struct VkVideoEncodeSessionParametersGetInfoKHR { 10736 VkStructureType sType; 10737 const void* pNext; 10738 VkVideoSessionParametersKHR videoSessionParameters; 10739 } VkVideoEncodeSessionParametersGetInfoKHR; 10740 10741 typedef struct VkVideoEncodeSessionParametersFeedbackInfoKHR { 10742 VkStructureType sType; 10743 void* pNext; 10744 VkBool32 hasOverrides; 10745 } VkVideoEncodeSessionParametersFeedbackInfoKHR; 10746 10747 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR* pQualityLevelInfo, VkVideoEncodeQualityLevelPropertiesKHR* pQualityLevelProperties); 10748 typedef VkResult (VKAPI_PTR *PFN_vkGetEncodedVideoSessionParametersKHR)(VkDevice device, const VkVideoEncodeSessionParametersGetInfoKHR* pVideoSessionParametersInfo, VkVideoEncodeSessionParametersFeedbackInfoKHR* pFeedbackInfo, size_t* pDataSize, void* pData); 10749 typedef void (VKAPI_PTR *PFN_vkCmdEncodeVideoKHR)(VkCommandBuffer commandBuffer, const VkVideoEncodeInfoKHR* pEncodeInfo); 10750 10751 #ifndef VK_NO_PROTOTYPES 10752 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR( 10753 VkPhysicalDevice physicalDevice, 10754 const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR* pQualityLevelInfo, 10755 VkVideoEncodeQualityLevelPropertiesKHR* pQualityLevelProperties); 10756 10757 VKAPI_ATTR VkResult VKAPI_CALL vkGetEncodedVideoSessionParametersKHR( 10758 VkDevice device, 10759 const VkVideoEncodeSessionParametersGetInfoKHR* pVideoSessionParametersInfo, 10760 VkVideoEncodeSessionParametersFeedbackInfoKHR* pFeedbackInfo, 10761 size_t* pDataSize, 10762 void* pData); 10763 10764 VKAPI_ATTR void VKAPI_CALL vkCmdEncodeVideoKHR( 10765 VkCommandBuffer commandBuffer, 10766 const VkVideoEncodeInfoKHR* pEncodeInfo); 10767 #endif 10768 10769 10770 // VK_KHR_synchronization2 is a preprocessor guard. Do not pass it to API calls. 10771 #define VK_KHR_synchronization2 1 10772 #define VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION 1 10773 #define VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME "VK_KHR_synchronization2" 10774 typedef VkPipelineStageFlags2 VkPipelineStageFlags2KHR; 10775 10776 typedef VkPipelineStageFlagBits2 VkPipelineStageFlagBits2KHR; 10777 10778 typedef VkAccessFlags2 VkAccessFlags2KHR; 10779 10780 typedef VkAccessFlagBits2 VkAccessFlagBits2KHR; 10781 10782 typedef VkSubmitFlagBits VkSubmitFlagBitsKHR; 10783 10784 typedef VkSubmitFlags VkSubmitFlagsKHR; 10785 10786 typedef VkMemoryBarrier2 VkMemoryBarrier2KHR; 10787 10788 typedef VkBufferMemoryBarrier2 VkBufferMemoryBarrier2KHR; 10789 10790 typedef VkImageMemoryBarrier2 VkImageMemoryBarrier2KHR; 10791 10792 typedef VkDependencyInfo VkDependencyInfoKHR; 10793 10794 typedef VkSubmitInfo2 VkSubmitInfo2KHR; 10795 10796 typedef VkSemaphoreSubmitInfo VkSemaphoreSubmitInfoKHR; 10797 10798 typedef VkCommandBufferSubmitInfo VkCommandBufferSubmitInfoKHR; 10799 10800 typedef VkPhysicalDeviceSynchronization2Features VkPhysicalDeviceSynchronization2FeaturesKHR; 10801 10802 typedef struct VkQueueFamilyCheckpointProperties2NV { 10803 VkStructureType sType; 10804 void* pNext; 10805 VkPipelineStageFlags2 checkpointExecutionStageMask; 10806 } VkQueueFamilyCheckpointProperties2NV; 10807 10808 typedef struct VkCheckpointData2NV { 10809 VkStructureType sType; 10810 void* pNext; 10811 VkPipelineStageFlags2 stage; 10812 void* pCheckpointMarker; 10813 } VkCheckpointData2NV; 10814 10815 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo); 10816 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask); 10817 typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2KHR)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos); 10818 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2KHR)(VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo); 10819 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2KHR)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query); 10820 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2KHR)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence); 10821 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarker2AMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker); 10822 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointData2NV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData); 10823 10824 #ifndef VK_NO_PROTOTYPES 10825 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2KHR( 10826 VkCommandBuffer commandBuffer, 10827 VkEvent event, 10828 const VkDependencyInfo* pDependencyInfo); 10829 10830 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2KHR( 10831 VkCommandBuffer commandBuffer, 10832 VkEvent event, 10833 VkPipelineStageFlags2 stageMask); 10834 10835 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2KHR( 10836 VkCommandBuffer commandBuffer, 10837 uint32_t eventCount, 10838 const VkEvent* pEvents, 10839 const VkDependencyInfo* pDependencyInfos); 10840 10841 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2KHR( 10842 VkCommandBuffer commandBuffer, 10843 const VkDependencyInfo* pDependencyInfo); 10844 10845 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2KHR( 10846 VkCommandBuffer commandBuffer, 10847 VkPipelineStageFlags2 stage, 10848 VkQueryPool queryPool, 10849 uint32_t query); 10850 10851 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2KHR( 10852 VkQueue queue, 10853 uint32_t submitCount, 10854 const VkSubmitInfo2* pSubmits, 10855 VkFence fence); 10856 10857 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarker2AMD( 10858 VkCommandBuffer commandBuffer, 10859 VkPipelineStageFlags2 stage, 10860 VkBuffer dstBuffer, 10861 VkDeviceSize dstOffset, 10862 uint32_t marker); 10863 10864 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointData2NV( 10865 VkQueue queue, 10866 uint32_t* pCheckpointDataCount, 10867 VkCheckpointData2NV* pCheckpointData); 10868 #endif 10869 10870 10871 // VK_KHR_fragment_shader_barycentric is a preprocessor guard. Do not pass it to API calls. 10872 #define VK_KHR_fragment_shader_barycentric 1 10873 #define VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1 10874 #define VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_KHR_fragment_shader_barycentric" 10875 typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR { 10876 VkStructureType sType; 10877 void* pNext; 10878 VkBool32 fragmentShaderBarycentric; 10879 } VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR; 10880 10881 typedef struct VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR { 10882 VkStructureType sType; 10883 void* pNext; 10884 VkBool32 triStripVertexOrderIndependentOfProvokingVertex; 10885 } VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR; 10886 10887 10888 10889 // VK_KHR_shader_subgroup_uniform_control_flow is a preprocessor guard. Do not pass it to API calls. 10890 #define VK_KHR_shader_subgroup_uniform_control_flow 1 10891 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION 1 10892 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME "VK_KHR_shader_subgroup_uniform_control_flow" 10893 typedef struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR { 10894 VkStructureType sType; 10895 void* pNext; 10896 VkBool32 shaderSubgroupUniformControlFlow; 10897 } VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR; 10898 10899 10900 10901 // VK_KHR_zero_initialize_workgroup_memory is a preprocessor guard. Do not pass it to API calls. 10902 #define VK_KHR_zero_initialize_workgroup_memory 1 10903 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION 1 10904 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME "VK_KHR_zero_initialize_workgroup_memory" 10905 typedef VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR; 10906 10907 10908 10909 // VK_KHR_workgroup_memory_explicit_layout is a preprocessor guard. Do not pass it to API calls. 10910 #define VK_KHR_workgroup_memory_explicit_layout 1 10911 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION 1 10912 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME "VK_KHR_workgroup_memory_explicit_layout" 10913 typedef struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR { 10914 VkStructureType sType; 10915 void* pNext; 10916 VkBool32 workgroupMemoryExplicitLayout; 10917 VkBool32 workgroupMemoryExplicitLayoutScalarBlockLayout; 10918 VkBool32 workgroupMemoryExplicitLayout8BitAccess; 10919 VkBool32 workgroupMemoryExplicitLayout16BitAccess; 10920 } VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR; 10921 10922 10923 10924 // VK_KHR_copy_commands2 is a preprocessor guard. Do not pass it to API calls. 10925 #define VK_KHR_copy_commands2 1 10926 #define VK_KHR_COPY_COMMANDS_2_SPEC_VERSION 1 10927 #define VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME "VK_KHR_copy_commands2" 10928 typedef VkCopyBufferInfo2 VkCopyBufferInfo2KHR; 10929 10930 typedef VkCopyImageInfo2 VkCopyImageInfo2KHR; 10931 10932 typedef VkCopyBufferToImageInfo2 VkCopyBufferToImageInfo2KHR; 10933 10934 typedef VkCopyImageToBufferInfo2 VkCopyImageToBufferInfo2KHR; 10935 10936 typedef VkBlitImageInfo2 VkBlitImageInfo2KHR; 10937 10938 typedef VkResolveImageInfo2 VkResolveImageInfo2KHR; 10939 10940 typedef VkBufferCopy2 VkBufferCopy2KHR; 10941 10942 typedef VkImageCopy2 VkImageCopy2KHR; 10943 10944 typedef VkImageBlit2 VkImageBlit2KHR; 10945 10946 typedef VkBufferImageCopy2 VkBufferImageCopy2KHR; 10947 10948 typedef VkImageResolve2 VkImageResolve2KHR; 10949 10950 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo); 10951 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo); 10952 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo); 10953 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo); 10954 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2KHR)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo); 10955 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2KHR)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo); 10956 10957 #ifndef VK_NO_PROTOTYPES 10958 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2KHR( 10959 VkCommandBuffer commandBuffer, 10960 const VkCopyBufferInfo2* pCopyBufferInfo); 10961 10962 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2KHR( 10963 VkCommandBuffer commandBuffer, 10964 const VkCopyImageInfo2* pCopyImageInfo); 10965 10966 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2KHR( 10967 VkCommandBuffer commandBuffer, 10968 const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo); 10969 10970 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2KHR( 10971 VkCommandBuffer commandBuffer, 10972 const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo); 10973 10974 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2KHR( 10975 VkCommandBuffer commandBuffer, 10976 const VkBlitImageInfo2* pBlitImageInfo); 10977 10978 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2KHR( 10979 VkCommandBuffer commandBuffer, 10980 const VkResolveImageInfo2* pResolveImageInfo); 10981 #endif 10982 10983 10984 // VK_KHR_format_feature_flags2 is a preprocessor guard. Do not pass it to API calls. 10985 #define VK_KHR_format_feature_flags2 1 10986 #define VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION 2 10987 #define VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME "VK_KHR_format_feature_flags2" 10988 typedef VkFormatFeatureFlags2 VkFormatFeatureFlags2KHR; 10989 10990 typedef VkFormatFeatureFlagBits2 VkFormatFeatureFlagBits2KHR; 10991 10992 typedef VkFormatProperties3 VkFormatProperties3KHR; 10993 10994 10995 10996 // VK_KHR_ray_tracing_maintenance1 is a preprocessor guard. Do not pass it to API calls. 10997 #define VK_KHR_ray_tracing_maintenance1 1 10998 #define VK_KHR_RAY_TRACING_MAINTENANCE_1_SPEC_VERSION 1 10999 #define VK_KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_ray_tracing_maintenance1" 11000 typedef struct VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR { 11001 VkStructureType sType; 11002 void* pNext; 11003 VkBool32 rayTracingMaintenance1; 11004 VkBool32 rayTracingPipelineTraceRaysIndirect2; 11005 } VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR; 11006 11007 typedef struct VkTraceRaysIndirectCommand2KHR { 11008 VkDeviceAddress raygenShaderRecordAddress; 11009 VkDeviceSize raygenShaderRecordSize; 11010 VkDeviceAddress missShaderBindingTableAddress; 11011 VkDeviceSize missShaderBindingTableSize; 11012 VkDeviceSize missShaderBindingTableStride; 11013 VkDeviceAddress hitShaderBindingTableAddress; 11014 VkDeviceSize hitShaderBindingTableSize; 11015 VkDeviceSize hitShaderBindingTableStride; 11016 VkDeviceAddress callableShaderBindingTableAddress; 11017 VkDeviceSize callableShaderBindingTableSize; 11018 VkDeviceSize callableShaderBindingTableStride; 11019 uint32_t width; 11020 uint32_t height; 11021 uint32_t depth; 11022 } VkTraceRaysIndirectCommand2KHR; 11023 11024 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirect2KHR)(VkCommandBuffer commandBuffer, VkDeviceAddress indirectDeviceAddress); 11025 11026 #ifndef VK_NO_PROTOTYPES 11027 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirect2KHR( 11028 VkCommandBuffer commandBuffer, 11029 VkDeviceAddress indirectDeviceAddress); 11030 #endif 11031 11032 11033 // VK_KHR_portability_enumeration is a preprocessor guard. Do not pass it to API calls. 11034 #define VK_KHR_portability_enumeration 1 11035 #define VK_KHR_PORTABILITY_ENUMERATION_SPEC_VERSION 1 11036 #define VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME "VK_KHR_portability_enumeration" 11037 11038 11039 // VK_KHR_maintenance4 is a preprocessor guard. Do not pass it to API calls. 11040 #define VK_KHR_maintenance4 1 11041 #define VK_KHR_MAINTENANCE_4_SPEC_VERSION 2 11042 #define VK_KHR_MAINTENANCE_4_EXTENSION_NAME "VK_KHR_maintenance4" 11043 typedef VkPhysicalDeviceMaintenance4Features VkPhysicalDeviceMaintenance4FeaturesKHR; 11044 11045 typedef VkPhysicalDeviceMaintenance4Properties VkPhysicalDeviceMaintenance4PropertiesKHR; 11046 11047 typedef VkDeviceBufferMemoryRequirements VkDeviceBufferMemoryRequirementsKHR; 11048 11049 typedef VkDeviceImageMemoryRequirements VkDeviceImageMemoryRequirementsKHR; 11050 11051 typedef void (VKAPI_PTR *PFN_vkGetDeviceBufferMemoryRequirementsKHR)(VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements); 11052 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageMemoryRequirementsKHR)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements); 11053 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSparseMemoryRequirementsKHR)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 11054 11055 #ifndef VK_NO_PROTOTYPES 11056 VKAPI_ATTR void VKAPI_CALL vkGetDeviceBufferMemoryRequirementsKHR( 11057 VkDevice device, 11058 const VkDeviceBufferMemoryRequirements* pInfo, 11059 VkMemoryRequirements2* pMemoryRequirements); 11060 11061 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageMemoryRequirementsKHR( 11062 VkDevice device, 11063 const VkDeviceImageMemoryRequirements* pInfo, 11064 VkMemoryRequirements2* pMemoryRequirements); 11065 11066 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSparseMemoryRequirementsKHR( 11067 VkDevice device, 11068 const VkDeviceImageMemoryRequirements* pInfo, 11069 uint32_t* pSparseMemoryRequirementCount, 11070 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 11071 #endif 11072 11073 11074 // VK_KHR_shader_subgroup_rotate is a preprocessor guard. Do not pass it to API calls. 11075 #define VK_KHR_shader_subgroup_rotate 1 11076 #define VK_KHR_SHADER_SUBGROUP_ROTATE_SPEC_VERSION 2 11077 #define VK_KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME "VK_KHR_shader_subgroup_rotate" 11078 typedef struct VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR { 11079 VkStructureType sType; 11080 void* pNext; 11081 VkBool32 shaderSubgroupRotate; 11082 VkBool32 shaderSubgroupRotateClustered; 11083 } VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR; 11084 11085 11086 11087 // VK_KHR_shader_maximal_reconvergence is a preprocessor guard. Do not pass it to API calls. 11088 #define VK_KHR_shader_maximal_reconvergence 1 11089 #define VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_SPEC_VERSION 1 11090 #define VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_EXTENSION_NAME "VK_KHR_shader_maximal_reconvergence" 11091 typedef struct VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR { 11092 VkStructureType sType; 11093 void* pNext; 11094 VkBool32 shaderMaximalReconvergence; 11095 } VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR; 11096 11097 11098 11099 // VK_KHR_maintenance5 is a preprocessor guard. Do not pass it to API calls. 11100 #define VK_KHR_maintenance5 1 11101 #define VK_KHR_MAINTENANCE_5_SPEC_VERSION 1 11102 #define VK_KHR_MAINTENANCE_5_EXTENSION_NAME "VK_KHR_maintenance5" 11103 typedef VkFlags64 VkPipelineCreateFlags2KHR; 11104 11105 // Flag bits for VkPipelineCreateFlagBits2KHR 11106 typedef VkFlags64 VkPipelineCreateFlagBits2KHR; 11107 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT_KHR = 0x00000001ULL; 11108 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT_KHR = 0x00000002ULL; 11109 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DERIVATIVE_BIT_KHR = 0x00000004ULL; 11110 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = 0x00000008ULL; 11111 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DISPATCH_BASE_BIT_KHR = 0x00000010ULL; 11112 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DEFER_COMPILE_BIT_NV = 0x00000020ULL; 11113 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_CAPTURE_STATISTICS_BIT_KHR = 0x00000040ULL; 11114 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080ULL; 11115 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_KHR = 0x00000100ULL; 11116 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_EARLY_RETURN_ON_FAILURE_BIT_KHR = 0x00000200ULL; 11117 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_LINK_TIME_OPTIMIZATION_BIT_EXT = 0x00000400ULL; 11118 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT = 0x00800000ULL; 11119 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_LIBRARY_BIT_KHR = 0x00000800ULL; 11120 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000ULL; 11121 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000ULL; 11122 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000ULL; 11123 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000ULL; 11124 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000ULL; 11125 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000ULL; 11126 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000ULL; 11127 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_NV = 0x00040000ULL; 11128 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000ULL; 11129 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00200000ULL; 11130 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00400000ULL; 11131 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT = 0x01000000ULL; 11132 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x02000000ULL; 11133 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x04000000ULL; 11134 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT_EXT = 0x08000000ULL; 11135 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT_EXT = 0x40000000ULL; 11136 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV = 0x10000000ULL; 11137 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DESCRIPTOR_BUFFER_BIT_EXT = 0x20000000ULL; 11138 11139 typedef VkFlags64 VkBufferUsageFlags2KHR; 11140 11141 // Flag bits for VkBufferUsageFlagBits2KHR 11142 typedef VkFlags64 VkBufferUsageFlagBits2KHR; 11143 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_TRANSFER_SRC_BIT_KHR = 0x00000001ULL; 11144 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_TRANSFER_DST_BIT_KHR = 0x00000002ULL; 11145 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR = 0x00000004ULL; 11146 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_STORAGE_TEXEL_BUFFER_BIT_KHR = 0x00000008ULL; 11147 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_UNIFORM_BUFFER_BIT_KHR = 0x00000010ULL; 11148 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_STORAGE_BUFFER_BIT_KHR = 0x00000020ULL; 11149 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_INDEX_BUFFER_BIT_KHR = 0x00000040ULL; 11150 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_VERTEX_BUFFER_BIT_KHR = 0x00000080ULL; 11151 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_INDIRECT_BUFFER_BIT_KHR = 0x00000100ULL; 11152 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_EXECUTION_GRAPH_SCRATCH_BIT_AMDX = 0x02000000ULL; 11153 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200ULL; 11154 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400ULL; 11155 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_RAY_TRACING_BIT_NV = 0x00000400ULL; 11156 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800ULL; 11157 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000ULL; 11158 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000ULL; 11159 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_VIDEO_DECODE_DST_BIT_KHR = 0x00004000ULL; 11160 #ifdef VK_ENABLE_BETA_EXTENSIONS 11161 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000ULL; 11162 #endif 11163 #ifdef VK_ENABLE_BETA_EXTENSIONS 11164 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000ULL; 11165 #endif 11166 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_SHADER_DEVICE_ADDRESS_BIT_KHR = 0x00020000ULL; 11167 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000ULL; 11168 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000ULL; 11169 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT = 0x00200000ULL; 11170 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT = 0x00400000ULL; 11171 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT = 0x04000000ULL; 11172 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT = 0x00800000ULL; 11173 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_MICROMAP_STORAGE_BIT_EXT = 0x01000000ULL; 11174 11175 typedef struct VkPhysicalDeviceMaintenance5FeaturesKHR { 11176 VkStructureType sType; 11177 void* pNext; 11178 VkBool32 maintenance5; 11179 } VkPhysicalDeviceMaintenance5FeaturesKHR; 11180 11181 typedef struct VkPhysicalDeviceMaintenance5PropertiesKHR { 11182 VkStructureType sType; 11183 void* pNext; 11184 VkBool32 earlyFragmentMultisampleCoverageAfterSampleCounting; 11185 VkBool32 earlyFragmentSampleMaskTestBeforeSampleCounting; 11186 VkBool32 depthStencilSwizzleOneSupport; 11187 VkBool32 polygonModePointSize; 11188 VkBool32 nonStrictSinglePixelWideLinesUseParallelogram; 11189 VkBool32 nonStrictWideLinesUseParallelogram; 11190 } VkPhysicalDeviceMaintenance5PropertiesKHR; 11191 11192 typedef struct VkRenderingAreaInfoKHR { 11193 VkStructureType sType; 11194 const void* pNext; 11195 uint32_t viewMask; 11196 uint32_t colorAttachmentCount; 11197 const VkFormat* pColorAttachmentFormats; 11198 VkFormat depthAttachmentFormat; 11199 VkFormat stencilAttachmentFormat; 11200 } VkRenderingAreaInfoKHR; 11201 11202 typedef struct VkImageSubresource2KHR { 11203 VkStructureType sType; 11204 void* pNext; 11205 VkImageSubresource imageSubresource; 11206 } VkImageSubresource2KHR; 11207 11208 typedef struct VkDeviceImageSubresourceInfoKHR { 11209 VkStructureType sType; 11210 const void* pNext; 11211 const VkImageCreateInfo* pCreateInfo; 11212 const VkImageSubresource2KHR* pSubresource; 11213 } VkDeviceImageSubresourceInfoKHR; 11214 11215 typedef struct VkSubresourceLayout2KHR { 11216 VkStructureType sType; 11217 void* pNext; 11218 VkSubresourceLayout subresourceLayout; 11219 } VkSubresourceLayout2KHR; 11220 11221 typedef struct VkPipelineCreateFlags2CreateInfoKHR { 11222 VkStructureType sType; 11223 const void* pNext; 11224 VkPipelineCreateFlags2KHR flags; 11225 } VkPipelineCreateFlags2CreateInfoKHR; 11226 11227 typedef struct VkBufferUsageFlags2CreateInfoKHR { 11228 VkStructureType sType; 11229 const void* pNext; 11230 VkBufferUsageFlags2KHR usage; 11231 } VkBufferUsageFlags2CreateInfoKHR; 11232 11233 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer2KHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType); 11234 typedef void (VKAPI_PTR *PFN_vkGetRenderingAreaGranularityKHR)(VkDevice device, const VkRenderingAreaInfoKHR* pRenderingAreaInfo, VkExtent2D* pGranularity); 11235 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSubresourceLayoutKHR)(VkDevice device, const VkDeviceImageSubresourceInfoKHR* pInfo, VkSubresourceLayout2KHR* pLayout); 11236 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout2KHR)(VkDevice device, VkImage image, const VkImageSubresource2KHR* pSubresource, VkSubresourceLayout2KHR* pLayout); 11237 11238 #ifndef VK_NO_PROTOTYPES 11239 VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer2KHR( 11240 VkCommandBuffer commandBuffer, 11241 VkBuffer buffer, 11242 VkDeviceSize offset, 11243 VkDeviceSize size, 11244 VkIndexType indexType); 11245 11246 VKAPI_ATTR void VKAPI_CALL vkGetRenderingAreaGranularityKHR( 11247 VkDevice device, 11248 const VkRenderingAreaInfoKHR* pRenderingAreaInfo, 11249 VkExtent2D* pGranularity); 11250 11251 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSubresourceLayoutKHR( 11252 VkDevice device, 11253 const VkDeviceImageSubresourceInfoKHR* pInfo, 11254 VkSubresourceLayout2KHR* pLayout); 11255 11256 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout2KHR( 11257 VkDevice device, 11258 VkImage image, 11259 const VkImageSubresource2KHR* pSubresource, 11260 VkSubresourceLayout2KHR* pLayout); 11261 #endif 11262 11263 11264 // VK_KHR_ray_tracing_position_fetch is a preprocessor guard. Do not pass it to API calls. 11265 #define VK_KHR_ray_tracing_position_fetch 1 11266 #define VK_KHR_RAY_TRACING_POSITION_FETCH_SPEC_VERSION 1 11267 #define VK_KHR_RAY_TRACING_POSITION_FETCH_EXTENSION_NAME "VK_KHR_ray_tracing_position_fetch" 11268 typedef struct VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR { 11269 VkStructureType sType; 11270 void* pNext; 11271 VkBool32 rayTracingPositionFetch; 11272 } VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR; 11273 11274 11275 11276 // VK_KHR_cooperative_matrix is a preprocessor guard. Do not pass it to API calls. 11277 #define VK_KHR_cooperative_matrix 1 11278 #define VK_KHR_COOPERATIVE_MATRIX_SPEC_VERSION 2 11279 #define VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_KHR_cooperative_matrix" 11280 11281 typedef enum VkComponentTypeKHR { 11282 VK_COMPONENT_TYPE_FLOAT16_KHR = 0, 11283 VK_COMPONENT_TYPE_FLOAT32_KHR = 1, 11284 VK_COMPONENT_TYPE_FLOAT64_KHR = 2, 11285 VK_COMPONENT_TYPE_SINT8_KHR = 3, 11286 VK_COMPONENT_TYPE_SINT16_KHR = 4, 11287 VK_COMPONENT_TYPE_SINT32_KHR = 5, 11288 VK_COMPONENT_TYPE_SINT64_KHR = 6, 11289 VK_COMPONENT_TYPE_UINT8_KHR = 7, 11290 VK_COMPONENT_TYPE_UINT16_KHR = 8, 11291 VK_COMPONENT_TYPE_UINT32_KHR = 9, 11292 VK_COMPONENT_TYPE_UINT64_KHR = 10, 11293 VK_COMPONENT_TYPE_FLOAT16_NV = VK_COMPONENT_TYPE_FLOAT16_KHR, 11294 VK_COMPONENT_TYPE_FLOAT32_NV = VK_COMPONENT_TYPE_FLOAT32_KHR, 11295 VK_COMPONENT_TYPE_FLOAT64_NV = VK_COMPONENT_TYPE_FLOAT64_KHR, 11296 VK_COMPONENT_TYPE_SINT8_NV = VK_COMPONENT_TYPE_SINT8_KHR, 11297 VK_COMPONENT_TYPE_SINT16_NV = VK_COMPONENT_TYPE_SINT16_KHR, 11298 VK_COMPONENT_TYPE_SINT32_NV = VK_COMPONENT_TYPE_SINT32_KHR, 11299 VK_COMPONENT_TYPE_SINT64_NV = VK_COMPONENT_TYPE_SINT64_KHR, 11300 VK_COMPONENT_TYPE_UINT8_NV = VK_COMPONENT_TYPE_UINT8_KHR, 11301 VK_COMPONENT_TYPE_UINT16_NV = VK_COMPONENT_TYPE_UINT16_KHR, 11302 VK_COMPONENT_TYPE_UINT32_NV = VK_COMPONENT_TYPE_UINT32_KHR, 11303 VK_COMPONENT_TYPE_UINT64_NV = VK_COMPONENT_TYPE_UINT64_KHR, 11304 VK_COMPONENT_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 11305 } VkComponentTypeKHR; 11306 11307 typedef enum VkScopeKHR { 11308 VK_SCOPE_DEVICE_KHR = 1, 11309 VK_SCOPE_WORKGROUP_KHR = 2, 11310 VK_SCOPE_SUBGROUP_KHR = 3, 11311 VK_SCOPE_QUEUE_FAMILY_KHR = 5, 11312 VK_SCOPE_DEVICE_NV = VK_SCOPE_DEVICE_KHR, 11313 VK_SCOPE_WORKGROUP_NV = VK_SCOPE_WORKGROUP_KHR, 11314 VK_SCOPE_SUBGROUP_NV = VK_SCOPE_SUBGROUP_KHR, 11315 VK_SCOPE_QUEUE_FAMILY_NV = VK_SCOPE_QUEUE_FAMILY_KHR, 11316 VK_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF 11317 } VkScopeKHR; 11318 typedef struct VkCooperativeMatrixPropertiesKHR { 11319 VkStructureType sType; 11320 void* pNext; 11321 uint32_t MSize; 11322 uint32_t NSize; 11323 uint32_t KSize; 11324 VkComponentTypeKHR AType; 11325 VkComponentTypeKHR BType; 11326 VkComponentTypeKHR CType; 11327 VkComponentTypeKHR ResultType; 11328 VkBool32 saturatingAccumulation; 11329 VkScopeKHR scope; 11330 } VkCooperativeMatrixPropertiesKHR; 11331 11332 typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesKHR { 11333 VkStructureType sType; 11334 void* pNext; 11335 VkBool32 cooperativeMatrix; 11336 VkBool32 cooperativeMatrixRobustBufferAccess; 11337 } VkPhysicalDeviceCooperativeMatrixFeaturesKHR; 11338 11339 typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesKHR { 11340 VkStructureType sType; 11341 void* pNext; 11342 VkShaderStageFlags cooperativeMatrixSupportedStages; 11343 } VkPhysicalDeviceCooperativeMatrixPropertiesKHR; 11344 11345 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesKHR* pProperties); 11346 11347 #ifndef VK_NO_PROTOTYPES 11348 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( 11349 VkPhysicalDevice physicalDevice, 11350 uint32_t* pPropertyCount, 11351 VkCooperativeMatrixPropertiesKHR* pProperties); 11352 #endif 11353 11354 11355 // VK_KHR_video_decode_av1 is a preprocessor guard. Do not pass it to API calls. 11356 #define VK_KHR_video_decode_av1 1 11357 #include "vk_video/vulkan_video_codec_av1std.h" 11358 #include "vk_video/vulkan_video_codec_av1std_decode.h" 11359 #define VK_MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR 7U 11360 #define VK_KHR_VIDEO_DECODE_AV1_SPEC_VERSION 1 11361 #define VK_KHR_VIDEO_DECODE_AV1_EXTENSION_NAME "VK_KHR_video_decode_av1" 11362 typedef struct VkVideoDecodeAV1ProfileInfoKHR { 11363 VkStructureType sType; 11364 const void* pNext; 11365 StdVideoAV1Profile stdProfile; 11366 VkBool32 filmGrainSupport; 11367 } VkVideoDecodeAV1ProfileInfoKHR; 11368 11369 typedef struct VkVideoDecodeAV1CapabilitiesKHR { 11370 VkStructureType sType; 11371 void* pNext; 11372 StdVideoAV1Level maxLevel; 11373 } VkVideoDecodeAV1CapabilitiesKHR; 11374 11375 typedef struct VkVideoDecodeAV1SessionParametersCreateInfoKHR { 11376 VkStructureType sType; 11377 const void* pNext; 11378 const StdVideoAV1SequenceHeader* pStdSequenceHeader; 11379 } VkVideoDecodeAV1SessionParametersCreateInfoKHR; 11380 11381 typedef struct VkVideoDecodeAV1PictureInfoKHR { 11382 VkStructureType sType; 11383 const void* pNext; 11384 const StdVideoDecodeAV1PictureInfo* pStdPictureInfo; 11385 int32_t referenceNameSlotIndices[VK_MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR]; 11386 uint32_t frameHeaderOffset; 11387 uint32_t tileCount; 11388 const uint32_t* pTileOffsets; 11389 const uint32_t* pTileSizes; 11390 } VkVideoDecodeAV1PictureInfoKHR; 11391 11392 typedef struct VkVideoDecodeAV1DpbSlotInfoKHR { 11393 VkStructureType sType; 11394 const void* pNext; 11395 const StdVideoDecodeAV1ReferenceInfo* pStdReferenceInfo; 11396 } VkVideoDecodeAV1DpbSlotInfoKHR; 11397 11398 11399 11400 // VK_KHR_video_maintenance1 is a preprocessor guard. Do not pass it to API calls. 11401 #define VK_KHR_video_maintenance1 1 11402 #define VK_KHR_VIDEO_MAINTENANCE_1_SPEC_VERSION 1 11403 #define VK_KHR_VIDEO_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_video_maintenance1" 11404 typedef struct VkPhysicalDeviceVideoMaintenance1FeaturesKHR { 11405 VkStructureType sType; 11406 void* pNext; 11407 VkBool32 videoMaintenance1; 11408 } VkPhysicalDeviceVideoMaintenance1FeaturesKHR; 11409 11410 typedef struct VkVideoInlineQueryInfoKHR { 11411 VkStructureType sType; 11412 const void* pNext; 11413 VkQueryPool queryPool; 11414 uint32_t firstQuery; 11415 uint32_t queryCount; 11416 } VkVideoInlineQueryInfoKHR; 11417 11418 11419 11420 // VK_KHR_vertex_attribute_divisor is a preprocessor guard. Do not pass it to API calls. 11421 #define VK_KHR_vertex_attribute_divisor 1 11422 #define VK_KHR_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 1 11423 #define VK_KHR_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_KHR_vertex_attribute_divisor" 11424 typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR { 11425 VkStructureType sType; 11426 void* pNext; 11427 uint32_t maxVertexAttribDivisor; 11428 VkBool32 supportsNonZeroFirstInstance; 11429 } VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR; 11430 11431 typedef struct VkVertexInputBindingDivisorDescriptionKHR { 11432 uint32_t binding; 11433 uint32_t divisor; 11434 } VkVertexInputBindingDivisorDescriptionKHR; 11435 11436 typedef struct VkPipelineVertexInputDivisorStateCreateInfoKHR { 11437 VkStructureType sType; 11438 const void* pNext; 11439 uint32_t vertexBindingDivisorCount; 11440 const VkVertexInputBindingDivisorDescriptionKHR* pVertexBindingDivisors; 11441 } VkPipelineVertexInputDivisorStateCreateInfoKHR; 11442 11443 typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR { 11444 VkStructureType sType; 11445 void* pNext; 11446 VkBool32 vertexAttributeInstanceRateDivisor; 11447 VkBool32 vertexAttributeInstanceRateZeroDivisor; 11448 } VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR; 11449 11450 11451 11452 // VK_KHR_load_store_op_none is a preprocessor guard. Do not pass it to API calls. 11453 #define VK_KHR_load_store_op_none 1 11454 #define VK_KHR_LOAD_STORE_OP_NONE_SPEC_VERSION 1 11455 #define VK_KHR_LOAD_STORE_OP_NONE_EXTENSION_NAME "VK_KHR_load_store_op_none" 11456 11457 11458 // VK_KHR_shader_float_controls2 is a preprocessor guard. Do not pass it to API calls. 11459 #define VK_KHR_shader_float_controls2 1 11460 #define VK_KHR_SHADER_FLOAT_CONTROLS_2_SPEC_VERSION 1 11461 #define VK_KHR_SHADER_FLOAT_CONTROLS_2_EXTENSION_NAME "VK_KHR_shader_float_controls2" 11462 typedef struct VkPhysicalDeviceShaderFloatControls2FeaturesKHR { 11463 VkStructureType sType; 11464 void* pNext; 11465 VkBool32 shaderFloatControls2; 11466 } VkPhysicalDeviceShaderFloatControls2FeaturesKHR; 11467 11468 11469 11470 // VK_KHR_index_type_uint8 is a preprocessor guard. Do not pass it to API calls. 11471 #define VK_KHR_index_type_uint8 1 11472 #define VK_KHR_INDEX_TYPE_UINT8_SPEC_VERSION 1 11473 #define VK_KHR_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_KHR_index_type_uint8" 11474 typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesKHR { 11475 VkStructureType sType; 11476 void* pNext; 11477 VkBool32 indexTypeUint8; 11478 } VkPhysicalDeviceIndexTypeUint8FeaturesKHR; 11479 11480 11481 11482 // VK_KHR_line_rasterization is a preprocessor guard. Do not pass it to API calls. 11483 #define VK_KHR_line_rasterization 1 11484 #define VK_KHR_LINE_RASTERIZATION_SPEC_VERSION 1 11485 #define VK_KHR_LINE_RASTERIZATION_EXTENSION_NAME "VK_KHR_line_rasterization" 11486 11487 typedef enum VkLineRasterizationModeKHR { 11488 VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR = 0, 11489 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR = 1, 11490 VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR = 2, 11491 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR = 3, 11492 VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR, 11493 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR, 11494 VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR, 11495 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR, 11496 VK_LINE_RASTERIZATION_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 11497 } VkLineRasterizationModeKHR; 11498 typedef struct VkPhysicalDeviceLineRasterizationFeaturesKHR { 11499 VkStructureType sType; 11500 void* pNext; 11501 VkBool32 rectangularLines; 11502 VkBool32 bresenhamLines; 11503 VkBool32 smoothLines; 11504 VkBool32 stippledRectangularLines; 11505 VkBool32 stippledBresenhamLines; 11506 VkBool32 stippledSmoothLines; 11507 } VkPhysicalDeviceLineRasterizationFeaturesKHR; 11508 11509 typedef struct VkPhysicalDeviceLineRasterizationPropertiesKHR { 11510 VkStructureType sType; 11511 void* pNext; 11512 uint32_t lineSubPixelPrecisionBits; 11513 } VkPhysicalDeviceLineRasterizationPropertiesKHR; 11514 11515 typedef struct VkPipelineRasterizationLineStateCreateInfoKHR { 11516 VkStructureType sType; 11517 const void* pNext; 11518 VkLineRasterizationModeKHR lineRasterizationMode; 11519 VkBool32 stippledLineEnable; 11520 uint32_t lineStippleFactor; 11521 uint16_t lineStipplePattern; 11522 } VkPipelineRasterizationLineStateCreateInfoKHR; 11523 11524 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleKHR)(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern); 11525 11526 #ifndef VK_NO_PROTOTYPES 11527 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleKHR( 11528 VkCommandBuffer commandBuffer, 11529 uint32_t lineStippleFactor, 11530 uint16_t lineStipplePattern); 11531 #endif 11532 11533 11534 // VK_KHR_calibrated_timestamps is a preprocessor guard. Do not pass it to API calls. 11535 #define VK_KHR_calibrated_timestamps 1 11536 #define VK_KHR_CALIBRATED_TIMESTAMPS_SPEC_VERSION 1 11537 #define VK_KHR_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_KHR_calibrated_timestamps" 11538 11539 typedef enum VkTimeDomainKHR { 11540 VK_TIME_DOMAIN_DEVICE_KHR = 0, 11541 VK_TIME_DOMAIN_CLOCK_MONOTONIC_KHR = 1, 11542 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_KHR = 2, 11543 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_KHR = 3, 11544 VK_TIME_DOMAIN_DEVICE_EXT = VK_TIME_DOMAIN_DEVICE_KHR, 11545 VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = VK_TIME_DOMAIN_CLOCK_MONOTONIC_KHR, 11546 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_KHR, 11547 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_KHR, 11548 VK_TIME_DOMAIN_MAX_ENUM_KHR = 0x7FFFFFFF 11549 } VkTimeDomainKHR; 11550 typedef struct VkCalibratedTimestampInfoKHR { 11551 VkStructureType sType; 11552 const void* pNext; 11553 VkTimeDomainKHR timeDomain; 11554 } VkCalibratedTimestampInfoKHR; 11555 11556 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsKHR)(VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainKHR* pTimeDomains); 11557 typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsKHR)(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoKHR* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation); 11558 11559 #ifndef VK_NO_PROTOTYPES 11560 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( 11561 VkPhysicalDevice physicalDevice, 11562 uint32_t* pTimeDomainCount, 11563 VkTimeDomainKHR* pTimeDomains); 11564 11565 VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsKHR( 11566 VkDevice device, 11567 uint32_t timestampCount, 11568 const VkCalibratedTimestampInfoKHR* pTimestampInfos, 11569 uint64_t* pTimestamps, 11570 uint64_t* pMaxDeviation); 11571 #endif 11572 11573 11574 // VK_KHR_shader_expect_assume is a preprocessor guard. Do not pass it to API calls. 11575 #define VK_KHR_shader_expect_assume 1 11576 #define VK_KHR_SHADER_EXPECT_ASSUME_SPEC_VERSION 1 11577 #define VK_KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME "VK_KHR_shader_expect_assume" 11578 typedef struct VkPhysicalDeviceShaderExpectAssumeFeaturesKHR { 11579 VkStructureType sType; 11580 void* pNext; 11581 VkBool32 shaderExpectAssume; 11582 } VkPhysicalDeviceShaderExpectAssumeFeaturesKHR; 11583 11584 11585 11586 // VK_KHR_maintenance6 is a preprocessor guard. Do not pass it to API calls. 11587 #define VK_KHR_maintenance6 1 11588 #define VK_KHR_MAINTENANCE_6_SPEC_VERSION 1 11589 #define VK_KHR_MAINTENANCE_6_EXTENSION_NAME "VK_KHR_maintenance6" 11590 typedef struct VkPhysicalDeviceMaintenance6FeaturesKHR { 11591 VkStructureType sType; 11592 void* pNext; 11593 VkBool32 maintenance6; 11594 } VkPhysicalDeviceMaintenance6FeaturesKHR; 11595 11596 typedef struct VkPhysicalDeviceMaintenance6PropertiesKHR { 11597 VkStructureType sType; 11598 void* pNext; 11599 VkBool32 blockTexelViewCompatibleMultipleLayers; 11600 uint32_t maxCombinedImageSamplerDescriptorCount; 11601 VkBool32 fragmentShadingRateClampCombinerInputs; 11602 } VkPhysicalDeviceMaintenance6PropertiesKHR; 11603 11604 typedef struct VkBindMemoryStatusKHR { 11605 VkStructureType sType; 11606 const void* pNext; 11607 VkResult* pResult; 11608 } VkBindMemoryStatusKHR; 11609 11610 typedef struct VkBindDescriptorSetsInfoKHR { 11611 VkStructureType sType; 11612 const void* pNext; 11613 VkShaderStageFlags stageFlags; 11614 VkPipelineLayout layout; 11615 uint32_t firstSet; 11616 uint32_t descriptorSetCount; 11617 const VkDescriptorSet* pDescriptorSets; 11618 uint32_t dynamicOffsetCount; 11619 const uint32_t* pDynamicOffsets; 11620 } VkBindDescriptorSetsInfoKHR; 11621 11622 typedef struct VkPushConstantsInfoKHR { 11623 VkStructureType sType; 11624 const void* pNext; 11625 VkPipelineLayout layout; 11626 VkShaderStageFlags stageFlags; 11627 uint32_t offset; 11628 uint32_t size; 11629 const void* pValues; 11630 } VkPushConstantsInfoKHR; 11631 11632 typedef struct VkPushDescriptorSetInfoKHR { 11633 VkStructureType sType; 11634 const void* pNext; 11635 VkShaderStageFlags stageFlags; 11636 VkPipelineLayout layout; 11637 uint32_t set; 11638 uint32_t descriptorWriteCount; 11639 const VkWriteDescriptorSet* pDescriptorWrites; 11640 } VkPushDescriptorSetInfoKHR; 11641 11642 typedef struct VkPushDescriptorSetWithTemplateInfoKHR { 11643 VkStructureType sType; 11644 const void* pNext; 11645 VkDescriptorUpdateTemplate descriptorUpdateTemplate; 11646 VkPipelineLayout layout; 11647 uint32_t set; 11648 const void* pData; 11649 } VkPushDescriptorSetWithTemplateInfoKHR; 11650 11651 typedef struct VkSetDescriptorBufferOffsetsInfoEXT { 11652 VkStructureType sType; 11653 const void* pNext; 11654 VkShaderStageFlags stageFlags; 11655 VkPipelineLayout layout; 11656 uint32_t firstSet; 11657 uint32_t setCount; 11658 const uint32_t* pBufferIndices; 11659 const VkDeviceSize* pOffsets; 11660 } VkSetDescriptorBufferOffsetsInfoEXT; 11661 11662 typedef struct VkBindDescriptorBufferEmbeddedSamplersInfoEXT { 11663 VkStructureType sType; 11664 const void* pNext; 11665 VkShaderStageFlags stageFlags; 11666 VkPipelineLayout layout; 11667 uint32_t set; 11668 } VkBindDescriptorBufferEmbeddedSamplersInfoEXT; 11669 11670 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets2KHR)(VkCommandBuffer commandBuffer, const VkBindDescriptorSetsInfoKHR* pBindDescriptorSetsInfo); 11671 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants2KHR)(VkCommandBuffer commandBuffer, const VkPushConstantsInfoKHR* pPushConstantsInfo); 11672 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSet2KHR)(VkCommandBuffer commandBuffer, const VkPushDescriptorSetInfoKHR* pPushDescriptorSetInfo); 11673 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplate2KHR)(VkCommandBuffer commandBuffer, const VkPushDescriptorSetWithTemplateInfoKHR* pPushDescriptorSetWithTemplateInfo); 11674 typedef void (VKAPI_PTR *PFN_vkCmdSetDescriptorBufferOffsets2EXT)(VkCommandBuffer commandBuffer, const VkSetDescriptorBufferOffsetsInfoEXT* pSetDescriptorBufferOffsetsInfo); 11675 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT)(VkCommandBuffer commandBuffer, const VkBindDescriptorBufferEmbeddedSamplersInfoEXT* pBindDescriptorBufferEmbeddedSamplersInfo); 11676 11677 #ifndef VK_NO_PROTOTYPES 11678 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets2KHR( 11679 VkCommandBuffer commandBuffer, 11680 const VkBindDescriptorSetsInfoKHR* pBindDescriptorSetsInfo); 11681 11682 VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants2KHR( 11683 VkCommandBuffer commandBuffer, 11684 const VkPushConstantsInfoKHR* pPushConstantsInfo); 11685 11686 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSet2KHR( 11687 VkCommandBuffer commandBuffer, 11688 const VkPushDescriptorSetInfoKHR* pPushDescriptorSetInfo); 11689 11690 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplate2KHR( 11691 VkCommandBuffer commandBuffer, 11692 const VkPushDescriptorSetWithTemplateInfoKHR* pPushDescriptorSetWithTemplateInfo); 11693 11694 VKAPI_ATTR void VKAPI_CALL vkCmdSetDescriptorBufferOffsets2EXT( 11695 VkCommandBuffer commandBuffer, 11696 const VkSetDescriptorBufferOffsetsInfoEXT* pSetDescriptorBufferOffsetsInfo); 11697 11698 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorBufferEmbeddedSamplers2EXT( 11699 VkCommandBuffer commandBuffer, 11700 const VkBindDescriptorBufferEmbeddedSamplersInfoEXT* pBindDescriptorBufferEmbeddedSamplersInfo); 11701 #endif 11702 11703 11704 // VK_EXT_debug_report is a preprocessor guard. Do not pass it to API calls. 11705 #define VK_EXT_debug_report 1 11706 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT) 11707 #define VK_EXT_DEBUG_REPORT_SPEC_VERSION 10 11708 #define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report" 11709 11710 typedef enum VkDebugReportObjectTypeEXT { 11711 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0, 11712 VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1, 11713 VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2, 11714 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3, 11715 VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4, 11716 VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5, 11717 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6, 11718 VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7, 11719 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8, 11720 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9, 11721 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10, 11722 VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11, 11723 VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12, 11724 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13, 11725 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14, 11726 VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15, 11727 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16, 11728 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17, 11729 VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18, 11730 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19, 11731 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20, 11732 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21, 11733 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22, 11734 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23, 11735 VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24, 11736 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25, 11737 VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26, 11738 VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27, 11739 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28, 11740 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29, 11741 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30, 11742 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33, 11743 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000, 11744 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000, 11745 VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT = 1000029000, 11746 VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT = 1000029001, 11747 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT = 1000150000, 11748 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = 1000165000, 11749 VK_DEBUG_REPORT_OBJECT_TYPE_CUDA_MODULE_NV_EXT = 1000307000, 11750 VK_DEBUG_REPORT_OBJECT_TYPE_CUDA_FUNCTION_NV_EXT = 1000307001, 11751 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT = 1000366000, 11752 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT, 11753 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT, 11754 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT, 11755 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT, 11756 VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 11757 } VkDebugReportObjectTypeEXT; 11758 11759 typedef enum VkDebugReportFlagBitsEXT { 11760 VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001, 11761 VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002, 11762 VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004, 11763 VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008, 11764 VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010, 11765 VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 11766 } VkDebugReportFlagBitsEXT; 11767 typedef VkFlags VkDebugReportFlagsEXT; 11768 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)( 11769 VkDebugReportFlagsEXT flags, 11770 VkDebugReportObjectTypeEXT objectType, 11771 uint64_t object, 11772 size_t location, 11773 int32_t messageCode, 11774 const char* pLayerPrefix, 11775 const char* pMessage, 11776 void* pUserData); 11777 11778 typedef struct VkDebugReportCallbackCreateInfoEXT { 11779 VkStructureType sType; 11780 const void* pNext; 11781 VkDebugReportFlagsEXT flags; 11782 PFN_vkDebugReportCallbackEXT pfnCallback; 11783 void* pUserData; 11784 } VkDebugReportCallbackCreateInfoEXT; 11785 11786 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback); 11787 typedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator); 11788 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); 11789 11790 #ifndef VK_NO_PROTOTYPES 11791 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT( 11792 VkInstance instance, 11793 const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, 11794 const VkAllocationCallbacks* pAllocator, 11795 VkDebugReportCallbackEXT* pCallback); 11796 11797 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT( 11798 VkInstance instance, 11799 VkDebugReportCallbackEXT callback, 11800 const VkAllocationCallbacks* pAllocator); 11801 11802 VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT( 11803 VkInstance instance, 11804 VkDebugReportFlagsEXT flags, 11805 VkDebugReportObjectTypeEXT objectType, 11806 uint64_t object, 11807 size_t location, 11808 int32_t messageCode, 11809 const char* pLayerPrefix, 11810 const char* pMessage); 11811 #endif 11812 11813 11814 // VK_NV_glsl_shader is a preprocessor guard. Do not pass it to API calls. 11815 #define VK_NV_glsl_shader 1 11816 #define VK_NV_GLSL_SHADER_SPEC_VERSION 1 11817 #define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader" 11818 11819 11820 // VK_EXT_depth_range_unrestricted is a preprocessor guard. Do not pass it to API calls. 11821 #define VK_EXT_depth_range_unrestricted 1 11822 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1 11823 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted" 11824 11825 11826 // VK_IMG_filter_cubic is a preprocessor guard. Do not pass it to API calls. 11827 #define VK_IMG_filter_cubic 1 11828 #define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1 11829 #define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic" 11830 11831 11832 // VK_AMD_rasterization_order is a preprocessor guard. Do not pass it to API calls. 11833 #define VK_AMD_rasterization_order 1 11834 #define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1 11835 #define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order" 11836 11837 typedef enum VkRasterizationOrderAMD { 11838 VK_RASTERIZATION_ORDER_STRICT_AMD = 0, 11839 VK_RASTERIZATION_ORDER_RELAXED_AMD = 1, 11840 VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF 11841 } VkRasterizationOrderAMD; 11842 typedef struct VkPipelineRasterizationStateRasterizationOrderAMD { 11843 VkStructureType sType; 11844 const void* pNext; 11845 VkRasterizationOrderAMD rasterizationOrder; 11846 } VkPipelineRasterizationStateRasterizationOrderAMD; 11847 11848 11849 11850 // VK_AMD_shader_trinary_minmax is a preprocessor guard. Do not pass it to API calls. 11851 #define VK_AMD_shader_trinary_minmax 1 11852 #define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1 11853 #define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax" 11854 11855 11856 // VK_AMD_shader_explicit_vertex_parameter is a preprocessor guard. Do not pass it to API calls. 11857 #define VK_AMD_shader_explicit_vertex_parameter 1 11858 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1 11859 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter" 11860 11861 11862 // VK_EXT_debug_marker is a preprocessor guard. Do not pass it to API calls. 11863 #define VK_EXT_debug_marker 1 11864 #define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4 11865 #define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker" 11866 typedef struct VkDebugMarkerObjectNameInfoEXT { 11867 VkStructureType sType; 11868 const void* pNext; 11869 VkDebugReportObjectTypeEXT objectType; 11870 uint64_t object; 11871 const char* pObjectName; 11872 } VkDebugMarkerObjectNameInfoEXT; 11873 11874 typedef struct VkDebugMarkerObjectTagInfoEXT { 11875 VkStructureType sType; 11876 const void* pNext; 11877 VkDebugReportObjectTypeEXT objectType; 11878 uint64_t object; 11879 uint64_t tagName; 11880 size_t tagSize; 11881 const void* pTag; 11882 } VkDebugMarkerObjectTagInfoEXT; 11883 11884 typedef struct VkDebugMarkerMarkerInfoEXT { 11885 VkStructureType sType; 11886 const void* pNext; 11887 const char* pMarkerName; 11888 float color[4]; 11889 } VkDebugMarkerMarkerInfoEXT; 11890 11891 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo); 11892 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo); 11893 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 11894 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer); 11895 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 11896 11897 #ifndef VK_NO_PROTOTYPES 11898 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT( 11899 VkDevice device, 11900 const VkDebugMarkerObjectTagInfoEXT* pTagInfo); 11901 11902 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT( 11903 VkDevice device, 11904 const VkDebugMarkerObjectNameInfoEXT* pNameInfo); 11905 11906 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT( 11907 VkCommandBuffer commandBuffer, 11908 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 11909 11910 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT( 11911 VkCommandBuffer commandBuffer); 11912 11913 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT( 11914 VkCommandBuffer commandBuffer, 11915 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 11916 #endif 11917 11918 11919 // VK_AMD_gcn_shader is a preprocessor guard. Do not pass it to API calls. 11920 #define VK_AMD_gcn_shader 1 11921 #define VK_AMD_GCN_SHADER_SPEC_VERSION 1 11922 #define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader" 11923 11924 11925 // VK_NV_dedicated_allocation is a preprocessor guard. Do not pass it to API calls. 11926 #define VK_NV_dedicated_allocation 1 11927 #define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1 11928 #define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation" 11929 typedef struct VkDedicatedAllocationImageCreateInfoNV { 11930 VkStructureType sType; 11931 const void* pNext; 11932 VkBool32 dedicatedAllocation; 11933 } VkDedicatedAllocationImageCreateInfoNV; 11934 11935 typedef struct VkDedicatedAllocationBufferCreateInfoNV { 11936 VkStructureType sType; 11937 const void* pNext; 11938 VkBool32 dedicatedAllocation; 11939 } VkDedicatedAllocationBufferCreateInfoNV; 11940 11941 typedef struct VkDedicatedAllocationMemoryAllocateInfoNV { 11942 VkStructureType sType; 11943 const void* pNext; 11944 VkImage image; 11945 VkBuffer buffer; 11946 } VkDedicatedAllocationMemoryAllocateInfoNV; 11947 11948 11949 11950 // VK_EXT_transform_feedback is a preprocessor guard. Do not pass it to API calls. 11951 #define VK_EXT_transform_feedback 1 11952 #define VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION 1 11953 #define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback" 11954 typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT; 11955 typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT { 11956 VkStructureType sType; 11957 void* pNext; 11958 VkBool32 transformFeedback; 11959 VkBool32 geometryStreams; 11960 } VkPhysicalDeviceTransformFeedbackFeaturesEXT; 11961 11962 typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT { 11963 VkStructureType sType; 11964 void* pNext; 11965 uint32_t maxTransformFeedbackStreams; 11966 uint32_t maxTransformFeedbackBuffers; 11967 VkDeviceSize maxTransformFeedbackBufferSize; 11968 uint32_t maxTransformFeedbackStreamDataSize; 11969 uint32_t maxTransformFeedbackBufferDataSize; 11970 uint32_t maxTransformFeedbackBufferDataStride; 11971 VkBool32 transformFeedbackQueries; 11972 VkBool32 transformFeedbackStreamsLinesTriangles; 11973 VkBool32 transformFeedbackRasterizationStreamSelect; 11974 VkBool32 transformFeedbackDraw; 11975 } VkPhysicalDeviceTransformFeedbackPropertiesEXT; 11976 11977 typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT { 11978 VkStructureType sType; 11979 const void* pNext; 11980 VkPipelineRasterizationStateStreamCreateFlagsEXT flags; 11981 uint32_t rasterizationStream; 11982 } VkPipelineRasterizationStateStreamCreateInfoEXT; 11983 11984 typedef void (VKAPI_PTR *PFN_vkCmdBindTransformFeedbackBuffersEXT)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes); 11985 typedef void (VKAPI_PTR *PFN_vkCmdBeginTransformFeedbackEXT)(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets); 11986 typedef void (VKAPI_PTR *PFN_vkCmdEndTransformFeedbackEXT)(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets); 11987 typedef void (VKAPI_PTR *PFN_vkCmdBeginQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index); 11988 typedef void (VKAPI_PTR *PFN_vkCmdEndQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index); 11989 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectByteCountEXT)(VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride); 11990 11991 #ifndef VK_NO_PROTOTYPES 11992 VKAPI_ATTR void VKAPI_CALL vkCmdBindTransformFeedbackBuffersEXT( 11993 VkCommandBuffer commandBuffer, 11994 uint32_t firstBinding, 11995 uint32_t bindingCount, 11996 const VkBuffer* pBuffers, 11997 const VkDeviceSize* pOffsets, 11998 const VkDeviceSize* pSizes); 11999 12000 VKAPI_ATTR void VKAPI_CALL vkCmdBeginTransformFeedbackEXT( 12001 VkCommandBuffer commandBuffer, 12002 uint32_t firstCounterBuffer, 12003 uint32_t counterBufferCount, 12004 const VkBuffer* pCounterBuffers, 12005 const VkDeviceSize* pCounterBufferOffsets); 12006 12007 VKAPI_ATTR void VKAPI_CALL vkCmdEndTransformFeedbackEXT( 12008 VkCommandBuffer commandBuffer, 12009 uint32_t firstCounterBuffer, 12010 uint32_t counterBufferCount, 12011 const VkBuffer* pCounterBuffers, 12012 const VkDeviceSize* pCounterBufferOffsets); 12013 12014 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQueryIndexedEXT( 12015 VkCommandBuffer commandBuffer, 12016 VkQueryPool queryPool, 12017 uint32_t query, 12018 VkQueryControlFlags flags, 12019 uint32_t index); 12020 12021 VKAPI_ATTR void VKAPI_CALL vkCmdEndQueryIndexedEXT( 12022 VkCommandBuffer commandBuffer, 12023 VkQueryPool queryPool, 12024 uint32_t query, 12025 uint32_t index); 12026 12027 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectByteCountEXT( 12028 VkCommandBuffer commandBuffer, 12029 uint32_t instanceCount, 12030 uint32_t firstInstance, 12031 VkBuffer counterBuffer, 12032 VkDeviceSize counterBufferOffset, 12033 uint32_t counterOffset, 12034 uint32_t vertexStride); 12035 #endif 12036 12037 12038 // VK_NVX_binary_import is a preprocessor guard. Do not pass it to API calls. 12039 #define VK_NVX_binary_import 1 12040 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuModuleNVX) 12041 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuFunctionNVX) 12042 #define VK_NVX_BINARY_IMPORT_SPEC_VERSION 1 12043 #define VK_NVX_BINARY_IMPORT_EXTENSION_NAME "VK_NVX_binary_import" 12044 typedef struct VkCuModuleCreateInfoNVX { 12045 VkStructureType sType; 12046 const void* pNext; 12047 size_t dataSize; 12048 const void* pData; 12049 } VkCuModuleCreateInfoNVX; 12050 12051 typedef struct VkCuFunctionCreateInfoNVX { 12052 VkStructureType sType; 12053 const void* pNext; 12054 VkCuModuleNVX module; 12055 const char* pName; 12056 } VkCuFunctionCreateInfoNVX; 12057 12058 typedef struct VkCuLaunchInfoNVX { 12059 VkStructureType sType; 12060 const void* pNext; 12061 VkCuFunctionNVX function; 12062 uint32_t gridDimX; 12063 uint32_t gridDimY; 12064 uint32_t gridDimZ; 12065 uint32_t blockDimX; 12066 uint32_t blockDimY; 12067 uint32_t blockDimZ; 12068 uint32_t sharedMemBytes; 12069 size_t paramCount; 12070 const void* const * pParams; 12071 size_t extraCount; 12072 const void* const * pExtras; 12073 } VkCuLaunchInfoNVX; 12074 12075 typedef VkResult (VKAPI_PTR *PFN_vkCreateCuModuleNVX)(VkDevice device, const VkCuModuleCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuModuleNVX* pModule); 12076 typedef VkResult (VKAPI_PTR *PFN_vkCreateCuFunctionNVX)(VkDevice device, const VkCuFunctionCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuFunctionNVX* pFunction); 12077 typedef void (VKAPI_PTR *PFN_vkDestroyCuModuleNVX)(VkDevice device, VkCuModuleNVX module, const VkAllocationCallbacks* pAllocator); 12078 typedef void (VKAPI_PTR *PFN_vkDestroyCuFunctionNVX)(VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks* pAllocator); 12079 typedef void (VKAPI_PTR *PFN_vkCmdCuLaunchKernelNVX)(VkCommandBuffer commandBuffer, const VkCuLaunchInfoNVX* pLaunchInfo); 12080 12081 #ifndef VK_NO_PROTOTYPES 12082 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuModuleNVX( 12083 VkDevice device, 12084 const VkCuModuleCreateInfoNVX* pCreateInfo, 12085 const VkAllocationCallbacks* pAllocator, 12086 VkCuModuleNVX* pModule); 12087 12088 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuFunctionNVX( 12089 VkDevice device, 12090 const VkCuFunctionCreateInfoNVX* pCreateInfo, 12091 const VkAllocationCallbacks* pAllocator, 12092 VkCuFunctionNVX* pFunction); 12093 12094 VKAPI_ATTR void VKAPI_CALL vkDestroyCuModuleNVX( 12095 VkDevice device, 12096 VkCuModuleNVX module, 12097 const VkAllocationCallbacks* pAllocator); 12098 12099 VKAPI_ATTR void VKAPI_CALL vkDestroyCuFunctionNVX( 12100 VkDevice device, 12101 VkCuFunctionNVX function, 12102 const VkAllocationCallbacks* pAllocator); 12103 12104 VKAPI_ATTR void VKAPI_CALL vkCmdCuLaunchKernelNVX( 12105 VkCommandBuffer commandBuffer, 12106 const VkCuLaunchInfoNVX* pLaunchInfo); 12107 #endif 12108 12109 12110 // VK_NVX_image_view_handle is a preprocessor guard. Do not pass it to API calls. 12111 #define VK_NVX_image_view_handle 1 12112 #define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 2 12113 #define VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME "VK_NVX_image_view_handle" 12114 typedef struct VkImageViewHandleInfoNVX { 12115 VkStructureType sType; 12116 const void* pNext; 12117 VkImageView imageView; 12118 VkDescriptorType descriptorType; 12119 VkSampler sampler; 12120 } VkImageViewHandleInfoNVX; 12121 12122 typedef struct VkImageViewAddressPropertiesNVX { 12123 VkStructureType sType; 12124 void* pNext; 12125 VkDeviceAddress deviceAddress; 12126 VkDeviceSize size; 12127 } VkImageViewAddressPropertiesNVX; 12128 12129 typedef uint32_t (VKAPI_PTR *PFN_vkGetImageViewHandleNVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo); 12130 typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewAddressNVX)(VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties); 12131 12132 #ifndef VK_NO_PROTOTYPES 12133 VKAPI_ATTR uint32_t VKAPI_CALL vkGetImageViewHandleNVX( 12134 VkDevice device, 12135 const VkImageViewHandleInfoNVX* pInfo); 12136 12137 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewAddressNVX( 12138 VkDevice device, 12139 VkImageView imageView, 12140 VkImageViewAddressPropertiesNVX* pProperties); 12141 #endif 12142 12143 12144 // VK_AMD_draw_indirect_count is a preprocessor guard. Do not pass it to API calls. 12145 #define VK_AMD_draw_indirect_count 1 12146 #define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 2 12147 #define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count" 12148 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 12149 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 12150 12151 #ifndef VK_NO_PROTOTYPES 12152 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD( 12153 VkCommandBuffer commandBuffer, 12154 VkBuffer buffer, 12155 VkDeviceSize offset, 12156 VkBuffer countBuffer, 12157 VkDeviceSize countBufferOffset, 12158 uint32_t maxDrawCount, 12159 uint32_t stride); 12160 12161 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD( 12162 VkCommandBuffer commandBuffer, 12163 VkBuffer buffer, 12164 VkDeviceSize offset, 12165 VkBuffer countBuffer, 12166 VkDeviceSize countBufferOffset, 12167 uint32_t maxDrawCount, 12168 uint32_t stride); 12169 #endif 12170 12171 12172 // VK_AMD_negative_viewport_height is a preprocessor guard. Do not pass it to API calls. 12173 #define VK_AMD_negative_viewport_height 1 12174 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1 12175 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height" 12176 12177 12178 // VK_AMD_gpu_shader_half_float is a preprocessor guard. Do not pass it to API calls. 12179 #define VK_AMD_gpu_shader_half_float 1 12180 #define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 2 12181 #define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float" 12182 12183 12184 // VK_AMD_shader_ballot is a preprocessor guard. Do not pass it to API calls. 12185 #define VK_AMD_shader_ballot 1 12186 #define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1 12187 #define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot" 12188 12189 12190 // VK_AMD_texture_gather_bias_lod is a preprocessor guard. Do not pass it to API calls. 12191 #define VK_AMD_texture_gather_bias_lod 1 12192 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1 12193 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod" 12194 typedef struct VkTextureLODGatherFormatPropertiesAMD { 12195 VkStructureType sType; 12196 void* pNext; 12197 VkBool32 supportsTextureGatherLODBiasAMD; 12198 } VkTextureLODGatherFormatPropertiesAMD; 12199 12200 12201 12202 // VK_AMD_shader_info is a preprocessor guard. Do not pass it to API calls. 12203 #define VK_AMD_shader_info 1 12204 #define VK_AMD_SHADER_INFO_SPEC_VERSION 1 12205 #define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info" 12206 12207 typedef enum VkShaderInfoTypeAMD { 12208 VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0, 12209 VK_SHADER_INFO_TYPE_BINARY_AMD = 1, 12210 VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2, 12211 VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF 12212 } VkShaderInfoTypeAMD; 12213 typedef struct VkShaderResourceUsageAMD { 12214 uint32_t numUsedVgprs; 12215 uint32_t numUsedSgprs; 12216 uint32_t ldsSizePerLocalWorkGroup; 12217 size_t ldsUsageSizeInBytes; 12218 size_t scratchMemUsageInBytes; 12219 } VkShaderResourceUsageAMD; 12220 12221 typedef struct VkShaderStatisticsInfoAMD { 12222 VkShaderStageFlags shaderStageMask; 12223 VkShaderResourceUsageAMD resourceUsage; 12224 uint32_t numPhysicalVgprs; 12225 uint32_t numPhysicalSgprs; 12226 uint32_t numAvailableVgprs; 12227 uint32_t numAvailableSgprs; 12228 uint32_t computeWorkGroupSize[3]; 12229 } VkShaderStatisticsInfoAMD; 12230 12231 typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t* pInfoSize, void* pInfo); 12232 12233 #ifndef VK_NO_PROTOTYPES 12234 VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderInfoAMD( 12235 VkDevice device, 12236 VkPipeline pipeline, 12237 VkShaderStageFlagBits shaderStage, 12238 VkShaderInfoTypeAMD infoType, 12239 size_t* pInfoSize, 12240 void* pInfo); 12241 #endif 12242 12243 12244 // VK_AMD_shader_image_load_store_lod is a preprocessor guard. Do not pass it to API calls. 12245 #define VK_AMD_shader_image_load_store_lod 1 12246 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1 12247 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod" 12248 12249 12250 // VK_NV_corner_sampled_image is a preprocessor guard. Do not pass it to API calls. 12251 #define VK_NV_corner_sampled_image 1 12252 #define VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION 2 12253 #define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image" 12254 typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV { 12255 VkStructureType sType; 12256 void* pNext; 12257 VkBool32 cornerSampledImage; 12258 } VkPhysicalDeviceCornerSampledImageFeaturesNV; 12259 12260 12261 12262 // VK_IMG_format_pvrtc is a preprocessor guard. Do not pass it to API calls. 12263 #define VK_IMG_format_pvrtc 1 12264 #define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1 12265 #define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc" 12266 12267 12268 // VK_NV_external_memory_capabilities is a preprocessor guard. Do not pass it to API calls. 12269 #define VK_NV_external_memory_capabilities 1 12270 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1 12271 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities" 12272 12273 typedef enum VkExternalMemoryHandleTypeFlagBitsNV { 12274 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001, 12275 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002, 12276 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004, 12277 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008, 12278 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 12279 } VkExternalMemoryHandleTypeFlagBitsNV; 12280 typedef VkFlags VkExternalMemoryHandleTypeFlagsNV; 12281 12282 typedef enum VkExternalMemoryFeatureFlagBitsNV { 12283 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001, 12284 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002, 12285 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004, 12286 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 12287 } VkExternalMemoryFeatureFlagBitsNV; 12288 typedef VkFlags VkExternalMemoryFeatureFlagsNV; 12289 typedef struct VkExternalImageFormatPropertiesNV { 12290 VkImageFormatProperties imageFormatProperties; 12291 VkExternalMemoryFeatureFlagsNV externalMemoryFeatures; 12292 VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes; 12293 VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes; 12294 } VkExternalImageFormatPropertiesNV; 12295 12296 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties); 12297 12298 #ifndef VK_NO_PROTOTYPES 12299 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV( 12300 VkPhysicalDevice physicalDevice, 12301 VkFormat format, 12302 VkImageType type, 12303 VkImageTiling tiling, 12304 VkImageUsageFlags usage, 12305 VkImageCreateFlags flags, 12306 VkExternalMemoryHandleTypeFlagsNV externalHandleType, 12307 VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties); 12308 #endif 12309 12310 12311 // VK_NV_external_memory is a preprocessor guard. Do not pass it to API calls. 12312 #define VK_NV_external_memory 1 12313 #define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1 12314 #define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory" 12315 typedef struct VkExternalMemoryImageCreateInfoNV { 12316 VkStructureType sType; 12317 const void* pNext; 12318 VkExternalMemoryHandleTypeFlagsNV handleTypes; 12319 } VkExternalMemoryImageCreateInfoNV; 12320 12321 typedef struct VkExportMemoryAllocateInfoNV { 12322 VkStructureType sType; 12323 const void* pNext; 12324 VkExternalMemoryHandleTypeFlagsNV handleTypes; 12325 } VkExportMemoryAllocateInfoNV; 12326 12327 12328 12329 // VK_EXT_validation_flags is a preprocessor guard. Do not pass it to API calls. 12330 #define VK_EXT_validation_flags 1 12331 #define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 3 12332 #define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags" 12333 12334 typedef enum VkValidationCheckEXT { 12335 VK_VALIDATION_CHECK_ALL_EXT = 0, 12336 VK_VALIDATION_CHECK_SHADERS_EXT = 1, 12337 VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF 12338 } VkValidationCheckEXT; 12339 typedef struct VkValidationFlagsEXT { 12340 VkStructureType sType; 12341 const void* pNext; 12342 uint32_t disabledValidationCheckCount; 12343 const VkValidationCheckEXT* pDisabledValidationChecks; 12344 } VkValidationFlagsEXT; 12345 12346 12347 12348 // VK_EXT_shader_subgroup_ballot is a preprocessor guard. Do not pass it to API calls. 12349 #define VK_EXT_shader_subgroup_ballot 1 12350 #define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1 12351 #define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot" 12352 12353 12354 // VK_EXT_shader_subgroup_vote is a preprocessor guard. Do not pass it to API calls. 12355 #define VK_EXT_shader_subgroup_vote 1 12356 #define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1 12357 #define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote" 12358 12359 12360 // VK_EXT_texture_compression_astc_hdr is a preprocessor guard. Do not pass it to API calls. 12361 #define VK_EXT_texture_compression_astc_hdr 1 12362 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1 12363 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr" 12364 typedef VkPhysicalDeviceTextureCompressionASTCHDRFeatures VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT; 12365 12366 12367 12368 // VK_EXT_astc_decode_mode is a preprocessor guard. Do not pass it to API calls. 12369 #define VK_EXT_astc_decode_mode 1 12370 #define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1 12371 #define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode" 12372 typedef struct VkImageViewASTCDecodeModeEXT { 12373 VkStructureType sType; 12374 const void* pNext; 12375 VkFormat decodeMode; 12376 } VkImageViewASTCDecodeModeEXT; 12377 12378 typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT { 12379 VkStructureType sType; 12380 void* pNext; 12381 VkBool32 decodeModeSharedExponent; 12382 } VkPhysicalDeviceASTCDecodeFeaturesEXT; 12383 12384 12385 12386 // VK_EXT_pipeline_robustness is a preprocessor guard. Do not pass it to API calls. 12387 #define VK_EXT_pipeline_robustness 1 12388 #define VK_EXT_PIPELINE_ROBUSTNESS_SPEC_VERSION 1 12389 #define VK_EXT_PIPELINE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_pipeline_robustness" 12390 12391 typedef enum VkPipelineRobustnessBufferBehaviorEXT { 12392 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT_EXT = 0, 12393 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED_EXT = 1, 12394 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT = 2, 12395 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT = 3, 12396 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_MAX_ENUM_EXT = 0x7FFFFFFF 12397 } VkPipelineRobustnessBufferBehaviorEXT; 12398 12399 typedef enum VkPipelineRobustnessImageBehaviorEXT { 12400 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DEVICE_DEFAULT_EXT = 0, 12401 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DISABLED_EXT = 1, 12402 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_EXT = 2, 12403 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_2_EXT = 3, 12404 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_MAX_ENUM_EXT = 0x7FFFFFFF 12405 } VkPipelineRobustnessImageBehaviorEXT; 12406 typedef struct VkPhysicalDevicePipelineRobustnessFeaturesEXT { 12407 VkStructureType sType; 12408 void* pNext; 12409 VkBool32 pipelineRobustness; 12410 } VkPhysicalDevicePipelineRobustnessFeaturesEXT; 12411 12412 typedef struct VkPhysicalDevicePipelineRobustnessPropertiesEXT { 12413 VkStructureType sType; 12414 void* pNext; 12415 VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessStorageBuffers; 12416 VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessUniformBuffers; 12417 VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessVertexInputs; 12418 VkPipelineRobustnessImageBehaviorEXT defaultRobustnessImages; 12419 } VkPhysicalDevicePipelineRobustnessPropertiesEXT; 12420 12421 typedef struct VkPipelineRobustnessCreateInfoEXT { 12422 VkStructureType sType; 12423 const void* pNext; 12424 VkPipelineRobustnessBufferBehaviorEXT storageBuffers; 12425 VkPipelineRobustnessBufferBehaviorEXT uniformBuffers; 12426 VkPipelineRobustnessBufferBehaviorEXT vertexInputs; 12427 VkPipelineRobustnessImageBehaviorEXT images; 12428 } VkPipelineRobustnessCreateInfoEXT; 12429 12430 12431 12432 // VK_EXT_conditional_rendering is a preprocessor guard. Do not pass it to API calls. 12433 #define VK_EXT_conditional_rendering 1 12434 #define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 2 12435 #define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering" 12436 12437 typedef enum VkConditionalRenderingFlagBitsEXT { 12438 VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 0x00000001, 12439 VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 12440 } VkConditionalRenderingFlagBitsEXT; 12441 typedef VkFlags VkConditionalRenderingFlagsEXT; 12442 typedef struct VkConditionalRenderingBeginInfoEXT { 12443 VkStructureType sType; 12444 const void* pNext; 12445 VkBuffer buffer; 12446 VkDeviceSize offset; 12447 VkConditionalRenderingFlagsEXT flags; 12448 } VkConditionalRenderingBeginInfoEXT; 12449 12450 typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT { 12451 VkStructureType sType; 12452 void* pNext; 12453 VkBool32 conditionalRendering; 12454 VkBool32 inheritedConditionalRendering; 12455 } VkPhysicalDeviceConditionalRenderingFeaturesEXT; 12456 12457 typedef struct VkCommandBufferInheritanceConditionalRenderingInfoEXT { 12458 VkStructureType sType; 12459 const void* pNext; 12460 VkBool32 conditionalRenderingEnable; 12461 } VkCommandBufferInheritanceConditionalRenderingInfoEXT; 12462 12463 typedef void (VKAPI_PTR *PFN_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin); 12464 typedef void (VKAPI_PTR *PFN_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer commandBuffer); 12465 12466 #ifndef VK_NO_PROTOTYPES 12467 VKAPI_ATTR void VKAPI_CALL vkCmdBeginConditionalRenderingEXT( 12468 VkCommandBuffer commandBuffer, 12469 const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin); 12470 12471 VKAPI_ATTR void VKAPI_CALL vkCmdEndConditionalRenderingEXT( 12472 VkCommandBuffer commandBuffer); 12473 #endif 12474 12475 12476 // VK_NV_clip_space_w_scaling is a preprocessor guard. Do not pass it to API calls. 12477 #define VK_NV_clip_space_w_scaling 1 12478 #define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1 12479 #define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling" 12480 typedef struct VkViewportWScalingNV { 12481 float xcoeff; 12482 float ycoeff; 12483 } VkViewportWScalingNV; 12484 12485 typedef struct VkPipelineViewportWScalingStateCreateInfoNV { 12486 VkStructureType sType; 12487 const void* pNext; 12488 VkBool32 viewportWScalingEnable; 12489 uint32_t viewportCount; 12490 const VkViewportWScalingNV* pViewportWScalings; 12491 } VkPipelineViewportWScalingStateCreateInfoNV; 12492 12493 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportWScalingNV* pViewportWScalings); 12494 12495 #ifndef VK_NO_PROTOTYPES 12496 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingNV( 12497 VkCommandBuffer commandBuffer, 12498 uint32_t firstViewport, 12499 uint32_t viewportCount, 12500 const VkViewportWScalingNV* pViewportWScalings); 12501 #endif 12502 12503 12504 // VK_EXT_direct_mode_display is a preprocessor guard. Do not pass it to API calls. 12505 #define VK_EXT_direct_mode_display 1 12506 #define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1 12507 #define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display" 12508 typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display); 12509 12510 #ifndef VK_NO_PROTOTYPES 12511 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT( 12512 VkPhysicalDevice physicalDevice, 12513 VkDisplayKHR display); 12514 #endif 12515 12516 12517 // VK_EXT_display_surface_counter is a preprocessor guard. Do not pass it to API calls. 12518 #define VK_EXT_display_surface_counter 1 12519 #define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1 12520 #define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter" 12521 12522 typedef enum VkSurfaceCounterFlagBitsEXT { 12523 VK_SURFACE_COUNTER_VBLANK_BIT_EXT = 0x00000001, 12524 VK_SURFACE_COUNTER_VBLANK_EXT = VK_SURFACE_COUNTER_VBLANK_BIT_EXT, 12525 VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 12526 } VkSurfaceCounterFlagBitsEXT; 12527 typedef VkFlags VkSurfaceCounterFlagsEXT; 12528 typedef struct VkSurfaceCapabilities2EXT { 12529 VkStructureType sType; 12530 void* pNext; 12531 uint32_t minImageCount; 12532 uint32_t maxImageCount; 12533 VkExtent2D currentExtent; 12534 VkExtent2D minImageExtent; 12535 VkExtent2D maxImageExtent; 12536 uint32_t maxImageArrayLayers; 12537 VkSurfaceTransformFlagsKHR supportedTransforms; 12538 VkSurfaceTransformFlagBitsKHR currentTransform; 12539 VkCompositeAlphaFlagsKHR supportedCompositeAlpha; 12540 VkImageUsageFlags supportedUsageFlags; 12541 VkSurfaceCounterFlagsEXT supportedSurfaceCounters; 12542 } VkSurfaceCapabilities2EXT; 12543 12544 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities); 12545 12546 #ifndef VK_NO_PROTOTYPES 12547 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT( 12548 VkPhysicalDevice physicalDevice, 12549 VkSurfaceKHR surface, 12550 VkSurfaceCapabilities2EXT* pSurfaceCapabilities); 12551 #endif 12552 12553 12554 // VK_EXT_display_control is a preprocessor guard. Do not pass it to API calls. 12555 #define VK_EXT_display_control 1 12556 #define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1 12557 #define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control" 12558 12559 typedef enum VkDisplayPowerStateEXT { 12560 VK_DISPLAY_POWER_STATE_OFF_EXT = 0, 12561 VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1, 12562 VK_DISPLAY_POWER_STATE_ON_EXT = 2, 12563 VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF 12564 } VkDisplayPowerStateEXT; 12565 12566 typedef enum VkDeviceEventTypeEXT { 12567 VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0, 12568 VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 12569 } VkDeviceEventTypeEXT; 12570 12571 typedef enum VkDisplayEventTypeEXT { 12572 VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0, 12573 VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 12574 } VkDisplayEventTypeEXT; 12575 typedef struct VkDisplayPowerInfoEXT { 12576 VkStructureType sType; 12577 const void* pNext; 12578 VkDisplayPowerStateEXT powerState; 12579 } VkDisplayPowerInfoEXT; 12580 12581 typedef struct VkDeviceEventInfoEXT { 12582 VkStructureType sType; 12583 const void* pNext; 12584 VkDeviceEventTypeEXT deviceEvent; 12585 } VkDeviceEventInfoEXT; 12586 12587 typedef struct VkDisplayEventInfoEXT { 12588 VkStructureType sType; 12589 const void* pNext; 12590 VkDisplayEventTypeEXT displayEvent; 12591 } VkDisplayEventInfoEXT; 12592 12593 typedef struct VkSwapchainCounterCreateInfoEXT { 12594 VkStructureType sType; 12595 const void* pNext; 12596 VkSurfaceCounterFlagsEXT surfaceCounters; 12597 } VkSwapchainCounterCreateInfoEXT; 12598 12599 typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo); 12600 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); 12601 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); 12602 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue); 12603 12604 #ifndef VK_NO_PROTOTYPES 12605 VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT( 12606 VkDevice device, 12607 VkDisplayKHR display, 12608 const VkDisplayPowerInfoEXT* pDisplayPowerInfo); 12609 12610 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT( 12611 VkDevice device, 12612 const VkDeviceEventInfoEXT* pDeviceEventInfo, 12613 const VkAllocationCallbacks* pAllocator, 12614 VkFence* pFence); 12615 12616 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT( 12617 VkDevice device, 12618 VkDisplayKHR display, 12619 const VkDisplayEventInfoEXT* pDisplayEventInfo, 12620 const VkAllocationCallbacks* pAllocator, 12621 VkFence* pFence); 12622 12623 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT( 12624 VkDevice device, 12625 VkSwapchainKHR swapchain, 12626 VkSurfaceCounterFlagBitsEXT counter, 12627 uint64_t* pCounterValue); 12628 #endif 12629 12630 12631 // VK_GOOGLE_display_timing is a preprocessor guard. Do not pass it to API calls. 12632 #define VK_GOOGLE_display_timing 1 12633 #define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1 12634 #define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing" 12635 typedef struct VkRefreshCycleDurationGOOGLE { 12636 uint64_t refreshDuration; 12637 } VkRefreshCycleDurationGOOGLE; 12638 12639 typedef struct VkPastPresentationTimingGOOGLE { 12640 uint32_t presentID; 12641 uint64_t desiredPresentTime; 12642 uint64_t actualPresentTime; 12643 uint64_t earliestPresentTime; 12644 uint64_t presentMargin; 12645 } VkPastPresentationTimingGOOGLE; 12646 12647 typedef struct VkPresentTimeGOOGLE { 12648 uint32_t presentID; 12649 uint64_t desiredPresentTime; 12650 } VkPresentTimeGOOGLE; 12651 12652 typedef struct VkPresentTimesInfoGOOGLE { 12653 VkStructureType sType; 12654 const void* pNext; 12655 uint32_t swapchainCount; 12656 const VkPresentTimeGOOGLE* pTimes; 12657 } VkPresentTimesInfoGOOGLE; 12658 12659 typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties); 12660 typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings); 12661 12662 #ifndef VK_NO_PROTOTYPES 12663 VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE( 12664 VkDevice device, 12665 VkSwapchainKHR swapchain, 12666 VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties); 12667 12668 VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE( 12669 VkDevice device, 12670 VkSwapchainKHR swapchain, 12671 uint32_t* pPresentationTimingCount, 12672 VkPastPresentationTimingGOOGLE* pPresentationTimings); 12673 #endif 12674 12675 12676 // VK_NV_sample_mask_override_coverage is a preprocessor guard. Do not pass it to API calls. 12677 #define VK_NV_sample_mask_override_coverage 1 12678 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1 12679 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage" 12680 12681 12682 // VK_NV_geometry_shader_passthrough is a preprocessor guard. Do not pass it to API calls. 12683 #define VK_NV_geometry_shader_passthrough 1 12684 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1 12685 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough" 12686 12687 12688 // VK_NV_viewport_array2 is a preprocessor guard. Do not pass it to API calls. 12689 #define VK_NV_viewport_array2 1 12690 #define VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION 1 12691 #define VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME "VK_NV_viewport_array2" 12692 #define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION 12693 #define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME 12694 12695 12696 // VK_NVX_multiview_per_view_attributes is a preprocessor guard. Do not pass it to API calls. 12697 #define VK_NVX_multiview_per_view_attributes 1 12698 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1 12699 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes" 12700 typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX { 12701 VkStructureType sType; 12702 void* pNext; 12703 VkBool32 perViewPositionAllComponents; 12704 } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX; 12705 12706 12707 12708 // VK_NV_viewport_swizzle is a preprocessor guard. Do not pass it to API calls. 12709 #define VK_NV_viewport_swizzle 1 12710 #define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1 12711 #define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle" 12712 12713 typedef enum VkViewportCoordinateSwizzleNV { 12714 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0, 12715 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1, 12716 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2, 12717 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3, 12718 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4, 12719 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5, 12720 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6, 12721 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7, 12722 VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF 12723 } VkViewportCoordinateSwizzleNV; 12724 typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV; 12725 typedef struct VkViewportSwizzleNV { 12726 VkViewportCoordinateSwizzleNV x; 12727 VkViewportCoordinateSwizzleNV y; 12728 VkViewportCoordinateSwizzleNV z; 12729 VkViewportCoordinateSwizzleNV w; 12730 } VkViewportSwizzleNV; 12731 12732 typedef struct VkPipelineViewportSwizzleStateCreateInfoNV { 12733 VkStructureType sType; 12734 const void* pNext; 12735 VkPipelineViewportSwizzleStateCreateFlagsNV flags; 12736 uint32_t viewportCount; 12737 const VkViewportSwizzleNV* pViewportSwizzles; 12738 } VkPipelineViewportSwizzleStateCreateInfoNV; 12739 12740 12741 12742 // VK_EXT_discard_rectangles is a preprocessor guard. Do not pass it to API calls. 12743 #define VK_EXT_discard_rectangles 1 12744 #define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 2 12745 #define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles" 12746 12747 typedef enum VkDiscardRectangleModeEXT { 12748 VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0, 12749 VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1, 12750 VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 12751 } VkDiscardRectangleModeEXT; 12752 typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT; 12753 typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT { 12754 VkStructureType sType; 12755 void* pNext; 12756 uint32_t maxDiscardRectangles; 12757 } VkPhysicalDeviceDiscardRectanglePropertiesEXT; 12758 12759 typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT { 12760 VkStructureType sType; 12761 const void* pNext; 12762 VkPipelineDiscardRectangleStateCreateFlagsEXT flags; 12763 VkDiscardRectangleModeEXT discardRectangleMode; 12764 uint32_t discardRectangleCount; 12765 const VkRect2D* pDiscardRectangles; 12766 } VkPipelineDiscardRectangleStateCreateInfoEXT; 12767 12768 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D* pDiscardRectangles); 12769 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 discardRectangleEnable); 12770 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleModeEXT)(VkCommandBuffer commandBuffer, VkDiscardRectangleModeEXT discardRectangleMode); 12771 12772 #ifndef VK_NO_PROTOTYPES 12773 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT( 12774 VkCommandBuffer commandBuffer, 12775 uint32_t firstDiscardRectangle, 12776 uint32_t discardRectangleCount, 12777 const VkRect2D* pDiscardRectangles); 12778 12779 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEnableEXT( 12780 VkCommandBuffer commandBuffer, 12781 VkBool32 discardRectangleEnable); 12782 12783 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleModeEXT( 12784 VkCommandBuffer commandBuffer, 12785 VkDiscardRectangleModeEXT discardRectangleMode); 12786 #endif 12787 12788 12789 // VK_EXT_conservative_rasterization is a preprocessor guard. Do not pass it to API calls. 12790 #define VK_EXT_conservative_rasterization 1 12791 #define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1 12792 #define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization" 12793 12794 typedef enum VkConservativeRasterizationModeEXT { 12795 VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0, 12796 VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1, 12797 VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2, 12798 VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 12799 } VkConservativeRasterizationModeEXT; 12800 typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT; 12801 typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT { 12802 VkStructureType sType; 12803 void* pNext; 12804 float primitiveOverestimationSize; 12805 float maxExtraPrimitiveOverestimationSize; 12806 float extraPrimitiveOverestimationSizeGranularity; 12807 VkBool32 primitiveUnderestimation; 12808 VkBool32 conservativePointAndLineRasterization; 12809 VkBool32 degenerateTrianglesRasterized; 12810 VkBool32 degenerateLinesRasterized; 12811 VkBool32 fullyCoveredFragmentShaderInputVariable; 12812 VkBool32 conservativeRasterizationPostDepthCoverage; 12813 } VkPhysicalDeviceConservativeRasterizationPropertiesEXT; 12814 12815 typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT { 12816 VkStructureType sType; 12817 const void* pNext; 12818 VkPipelineRasterizationConservativeStateCreateFlagsEXT flags; 12819 VkConservativeRasterizationModeEXT conservativeRasterizationMode; 12820 float extraPrimitiveOverestimationSize; 12821 } VkPipelineRasterizationConservativeStateCreateInfoEXT; 12822 12823 12824 12825 // VK_EXT_depth_clip_enable is a preprocessor guard. Do not pass it to API calls. 12826 #define VK_EXT_depth_clip_enable 1 12827 #define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1 12828 #define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable" 12829 typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT; 12830 typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT { 12831 VkStructureType sType; 12832 void* pNext; 12833 VkBool32 depthClipEnable; 12834 } VkPhysicalDeviceDepthClipEnableFeaturesEXT; 12835 12836 typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT { 12837 VkStructureType sType; 12838 const void* pNext; 12839 VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags; 12840 VkBool32 depthClipEnable; 12841 } VkPipelineRasterizationDepthClipStateCreateInfoEXT; 12842 12843 12844 12845 // VK_EXT_swapchain_colorspace is a preprocessor guard. Do not pass it to API calls. 12846 #define VK_EXT_swapchain_colorspace 1 12847 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 4 12848 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace" 12849 12850 12851 // VK_EXT_hdr_metadata is a preprocessor guard. Do not pass it to API calls. 12852 #define VK_EXT_hdr_metadata 1 12853 #define VK_EXT_HDR_METADATA_SPEC_VERSION 2 12854 #define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata" 12855 typedef struct VkXYColorEXT { 12856 float x; 12857 float y; 12858 } VkXYColorEXT; 12859 12860 typedef struct VkHdrMetadataEXT { 12861 VkStructureType sType; 12862 const void* pNext; 12863 VkXYColorEXT displayPrimaryRed; 12864 VkXYColorEXT displayPrimaryGreen; 12865 VkXYColorEXT displayPrimaryBlue; 12866 VkXYColorEXT whitePoint; 12867 float maxLuminance; 12868 float minLuminance; 12869 float maxContentLightLevel; 12870 float maxFrameAverageLightLevel; 12871 } VkHdrMetadataEXT; 12872 12873 typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, uint32_t swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata); 12874 12875 #ifndef VK_NO_PROTOTYPES 12876 VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT( 12877 VkDevice device, 12878 uint32_t swapchainCount, 12879 const VkSwapchainKHR* pSwapchains, 12880 const VkHdrMetadataEXT* pMetadata); 12881 #endif 12882 12883 12884 // VK_IMG_relaxed_line_rasterization is a preprocessor guard. Do not pass it to API calls. 12885 #define VK_IMG_relaxed_line_rasterization 1 12886 #define VK_IMG_RELAXED_LINE_RASTERIZATION_SPEC_VERSION 1 12887 #define VK_IMG_RELAXED_LINE_RASTERIZATION_EXTENSION_NAME "VK_IMG_relaxed_line_rasterization" 12888 typedef struct VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG { 12889 VkStructureType sType; 12890 void* pNext; 12891 VkBool32 relaxedLineRasterization; 12892 } VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG; 12893 12894 12895 12896 // VK_EXT_external_memory_dma_buf is a preprocessor guard. Do not pass it to API calls. 12897 #define VK_EXT_external_memory_dma_buf 1 12898 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1 12899 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf" 12900 12901 12902 // VK_EXT_queue_family_foreign is a preprocessor guard. Do not pass it to API calls. 12903 #define VK_EXT_queue_family_foreign 1 12904 #define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1 12905 #define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign" 12906 #define VK_QUEUE_FAMILY_FOREIGN_EXT (~2U) 12907 12908 12909 // VK_EXT_debug_utils is a preprocessor guard. Do not pass it to API calls. 12910 #define VK_EXT_debug_utils 1 12911 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT) 12912 #define VK_EXT_DEBUG_UTILS_SPEC_VERSION 2 12913 #define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils" 12914 typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT; 12915 12916 typedef enum VkDebugUtilsMessageSeverityFlagBitsEXT { 12917 VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001, 12918 VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010, 12919 VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100, 12920 VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000, 12921 VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 12922 } VkDebugUtilsMessageSeverityFlagBitsEXT; 12923 12924 typedef enum VkDebugUtilsMessageTypeFlagBitsEXT { 12925 VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001, 12926 VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002, 12927 VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004, 12928 VK_DEBUG_UTILS_MESSAGE_TYPE_DEVICE_ADDRESS_BINDING_BIT_EXT = 0x00000008, 12929 VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 12930 } VkDebugUtilsMessageTypeFlagBitsEXT; 12931 typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT; 12932 typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT; 12933 typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT; 12934 typedef struct VkDebugUtilsLabelEXT { 12935 VkStructureType sType; 12936 const void* pNext; 12937 const char* pLabelName; 12938 float color[4]; 12939 } VkDebugUtilsLabelEXT; 12940 12941 typedef struct VkDebugUtilsObjectNameInfoEXT { 12942 VkStructureType sType; 12943 const void* pNext; 12944 VkObjectType objectType; 12945 uint64_t objectHandle; 12946 const char* pObjectName; 12947 } VkDebugUtilsObjectNameInfoEXT; 12948 12949 typedef struct VkDebugUtilsMessengerCallbackDataEXT { 12950 VkStructureType sType; 12951 const void* pNext; 12952 VkDebugUtilsMessengerCallbackDataFlagsEXT flags; 12953 const char* pMessageIdName; 12954 int32_t messageIdNumber; 12955 const char* pMessage; 12956 uint32_t queueLabelCount; 12957 const VkDebugUtilsLabelEXT* pQueueLabels; 12958 uint32_t cmdBufLabelCount; 12959 const VkDebugUtilsLabelEXT* pCmdBufLabels; 12960 uint32_t objectCount; 12961 const VkDebugUtilsObjectNameInfoEXT* pObjects; 12962 } VkDebugUtilsMessengerCallbackDataEXT; 12963 12964 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)( 12965 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, 12966 VkDebugUtilsMessageTypeFlagsEXT messageTypes, 12967 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData, 12968 void* pUserData); 12969 12970 typedef struct VkDebugUtilsMessengerCreateInfoEXT { 12971 VkStructureType sType; 12972 const void* pNext; 12973 VkDebugUtilsMessengerCreateFlagsEXT flags; 12974 VkDebugUtilsMessageSeverityFlagsEXT messageSeverity; 12975 VkDebugUtilsMessageTypeFlagsEXT messageType; 12976 PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback; 12977 void* pUserData; 12978 } VkDebugUtilsMessengerCreateInfoEXT; 12979 12980 typedef struct VkDebugUtilsObjectTagInfoEXT { 12981 VkStructureType sType; 12982 const void* pNext; 12983 VkObjectType objectType; 12984 uint64_t objectHandle; 12985 uint64_t tagName; 12986 size_t tagSize; 12987 const void* pTag; 12988 } VkDebugUtilsObjectTagInfoEXT; 12989 12990 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo); 12991 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo); 12992 typedef void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo); 12993 typedef void (VKAPI_PTR *PFN_vkQueueEndDebugUtilsLabelEXT)(VkQueue queue); 12994 typedef void (VKAPI_PTR *PFN_vkQueueInsertDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo); 12995 typedef void (VKAPI_PTR *PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo); 12996 typedef void (VKAPI_PTR *PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer); 12997 typedef void (VKAPI_PTR *PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo); 12998 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger); 12999 typedef void (VKAPI_PTR *PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator); 13000 typedef void (VKAPI_PTR *PFN_vkSubmitDebugUtilsMessageEXT)(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData); 13001 13002 #ifndef VK_NO_PROTOTYPES 13003 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectNameEXT( 13004 VkDevice device, 13005 const VkDebugUtilsObjectNameInfoEXT* pNameInfo); 13006 13007 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectTagEXT( 13008 VkDevice device, 13009 const VkDebugUtilsObjectTagInfoEXT* pTagInfo); 13010 13011 VKAPI_ATTR void VKAPI_CALL vkQueueBeginDebugUtilsLabelEXT( 13012 VkQueue queue, 13013 const VkDebugUtilsLabelEXT* pLabelInfo); 13014 13015 VKAPI_ATTR void VKAPI_CALL vkQueueEndDebugUtilsLabelEXT( 13016 VkQueue queue); 13017 13018 VKAPI_ATTR void VKAPI_CALL vkQueueInsertDebugUtilsLabelEXT( 13019 VkQueue queue, 13020 const VkDebugUtilsLabelEXT* pLabelInfo); 13021 13022 VKAPI_ATTR void VKAPI_CALL vkCmdBeginDebugUtilsLabelEXT( 13023 VkCommandBuffer commandBuffer, 13024 const VkDebugUtilsLabelEXT* pLabelInfo); 13025 13026 VKAPI_ATTR void VKAPI_CALL vkCmdEndDebugUtilsLabelEXT( 13027 VkCommandBuffer commandBuffer); 13028 13029 VKAPI_ATTR void VKAPI_CALL vkCmdInsertDebugUtilsLabelEXT( 13030 VkCommandBuffer commandBuffer, 13031 const VkDebugUtilsLabelEXT* pLabelInfo); 13032 13033 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT( 13034 VkInstance instance, 13035 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, 13036 const VkAllocationCallbacks* pAllocator, 13037 VkDebugUtilsMessengerEXT* pMessenger); 13038 13039 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT( 13040 VkInstance instance, 13041 VkDebugUtilsMessengerEXT messenger, 13042 const VkAllocationCallbacks* pAllocator); 13043 13044 VKAPI_ATTR void VKAPI_CALL vkSubmitDebugUtilsMessageEXT( 13045 VkInstance instance, 13046 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, 13047 VkDebugUtilsMessageTypeFlagsEXT messageTypes, 13048 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData); 13049 #endif 13050 13051 13052 // VK_EXT_sampler_filter_minmax is a preprocessor guard. Do not pass it to API calls. 13053 #define VK_EXT_sampler_filter_minmax 1 13054 #define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 2 13055 #define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax" 13056 typedef VkSamplerReductionMode VkSamplerReductionModeEXT; 13057 13058 typedef VkSamplerReductionModeCreateInfo VkSamplerReductionModeCreateInfoEXT; 13059 13060 typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT; 13061 13062 13063 13064 // VK_AMD_gpu_shader_int16 is a preprocessor guard. Do not pass it to API calls. 13065 #define VK_AMD_gpu_shader_int16 1 13066 #define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 2 13067 #define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16" 13068 13069 13070 // VK_AMD_mixed_attachment_samples is a preprocessor guard. Do not pass it to API calls. 13071 #define VK_AMD_mixed_attachment_samples 1 13072 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1 13073 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples" 13074 13075 13076 // VK_AMD_shader_fragment_mask is a preprocessor guard. Do not pass it to API calls. 13077 #define VK_AMD_shader_fragment_mask 1 13078 #define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1 13079 #define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask" 13080 13081 13082 // VK_EXT_inline_uniform_block is a preprocessor guard. Do not pass it to API calls. 13083 #define VK_EXT_inline_uniform_block 1 13084 #define VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION 1 13085 #define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block" 13086 typedef VkPhysicalDeviceInlineUniformBlockFeatures VkPhysicalDeviceInlineUniformBlockFeaturesEXT; 13087 13088 typedef VkPhysicalDeviceInlineUniformBlockProperties VkPhysicalDeviceInlineUniformBlockPropertiesEXT; 13089 13090 typedef VkWriteDescriptorSetInlineUniformBlock VkWriteDescriptorSetInlineUniformBlockEXT; 13091 13092 typedef VkDescriptorPoolInlineUniformBlockCreateInfo VkDescriptorPoolInlineUniformBlockCreateInfoEXT; 13093 13094 13095 13096 // VK_EXT_shader_stencil_export is a preprocessor guard. Do not pass it to API calls. 13097 #define VK_EXT_shader_stencil_export 1 13098 #define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1 13099 #define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export" 13100 13101 13102 // VK_EXT_sample_locations is a preprocessor guard. Do not pass it to API calls. 13103 #define VK_EXT_sample_locations 1 13104 #define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1 13105 #define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations" 13106 typedef struct VkSampleLocationEXT { 13107 float x; 13108 float y; 13109 } VkSampleLocationEXT; 13110 13111 typedef struct VkSampleLocationsInfoEXT { 13112 VkStructureType sType; 13113 const void* pNext; 13114 VkSampleCountFlagBits sampleLocationsPerPixel; 13115 VkExtent2D sampleLocationGridSize; 13116 uint32_t sampleLocationsCount; 13117 const VkSampleLocationEXT* pSampleLocations; 13118 } VkSampleLocationsInfoEXT; 13119 13120 typedef struct VkAttachmentSampleLocationsEXT { 13121 uint32_t attachmentIndex; 13122 VkSampleLocationsInfoEXT sampleLocationsInfo; 13123 } VkAttachmentSampleLocationsEXT; 13124 13125 typedef struct VkSubpassSampleLocationsEXT { 13126 uint32_t subpassIndex; 13127 VkSampleLocationsInfoEXT sampleLocationsInfo; 13128 } VkSubpassSampleLocationsEXT; 13129 13130 typedef struct VkRenderPassSampleLocationsBeginInfoEXT { 13131 VkStructureType sType; 13132 const void* pNext; 13133 uint32_t attachmentInitialSampleLocationsCount; 13134 const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations; 13135 uint32_t postSubpassSampleLocationsCount; 13136 const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations; 13137 } VkRenderPassSampleLocationsBeginInfoEXT; 13138 13139 typedef struct VkPipelineSampleLocationsStateCreateInfoEXT { 13140 VkStructureType sType; 13141 const void* pNext; 13142 VkBool32 sampleLocationsEnable; 13143 VkSampleLocationsInfoEXT sampleLocationsInfo; 13144 } VkPipelineSampleLocationsStateCreateInfoEXT; 13145 13146 typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT { 13147 VkStructureType sType; 13148 void* pNext; 13149 VkSampleCountFlags sampleLocationSampleCounts; 13150 VkExtent2D maxSampleLocationGridSize; 13151 float sampleLocationCoordinateRange[2]; 13152 uint32_t sampleLocationSubPixelBits; 13153 VkBool32 variableSampleLocations; 13154 } VkPhysicalDeviceSampleLocationsPropertiesEXT; 13155 13156 typedef struct VkMultisamplePropertiesEXT { 13157 VkStructureType sType; 13158 void* pNext; 13159 VkExtent2D maxSampleLocationGridSize; 13160 } VkMultisamplePropertiesEXT; 13161 13162 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo); 13163 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties); 13164 13165 #ifndef VK_NO_PROTOTYPES 13166 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEXT( 13167 VkCommandBuffer commandBuffer, 13168 const VkSampleLocationsInfoEXT* pSampleLocationsInfo); 13169 13170 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT( 13171 VkPhysicalDevice physicalDevice, 13172 VkSampleCountFlagBits samples, 13173 VkMultisamplePropertiesEXT* pMultisampleProperties); 13174 #endif 13175 13176 13177 // VK_EXT_blend_operation_advanced is a preprocessor guard. Do not pass it to API calls. 13178 #define VK_EXT_blend_operation_advanced 1 13179 #define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2 13180 #define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced" 13181 13182 typedef enum VkBlendOverlapEXT { 13183 VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0, 13184 VK_BLEND_OVERLAP_DISJOINT_EXT = 1, 13185 VK_BLEND_OVERLAP_CONJOINT_EXT = 2, 13186 VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF 13187 } VkBlendOverlapEXT; 13188 typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT { 13189 VkStructureType sType; 13190 void* pNext; 13191 VkBool32 advancedBlendCoherentOperations; 13192 } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT; 13193 13194 typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT { 13195 VkStructureType sType; 13196 void* pNext; 13197 uint32_t advancedBlendMaxColorAttachments; 13198 VkBool32 advancedBlendIndependentBlend; 13199 VkBool32 advancedBlendNonPremultipliedSrcColor; 13200 VkBool32 advancedBlendNonPremultipliedDstColor; 13201 VkBool32 advancedBlendCorrelatedOverlap; 13202 VkBool32 advancedBlendAllOperations; 13203 } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT; 13204 13205 typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT { 13206 VkStructureType sType; 13207 const void* pNext; 13208 VkBool32 srcPremultiplied; 13209 VkBool32 dstPremultiplied; 13210 VkBlendOverlapEXT blendOverlap; 13211 } VkPipelineColorBlendAdvancedStateCreateInfoEXT; 13212 13213 13214 13215 // VK_NV_fragment_coverage_to_color is a preprocessor guard. Do not pass it to API calls. 13216 #define VK_NV_fragment_coverage_to_color 1 13217 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1 13218 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color" 13219 typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV; 13220 typedef struct VkPipelineCoverageToColorStateCreateInfoNV { 13221 VkStructureType sType; 13222 const void* pNext; 13223 VkPipelineCoverageToColorStateCreateFlagsNV flags; 13224 VkBool32 coverageToColorEnable; 13225 uint32_t coverageToColorLocation; 13226 } VkPipelineCoverageToColorStateCreateInfoNV; 13227 13228 13229 13230 // VK_NV_framebuffer_mixed_samples is a preprocessor guard. Do not pass it to API calls. 13231 #define VK_NV_framebuffer_mixed_samples 1 13232 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1 13233 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples" 13234 13235 typedef enum VkCoverageModulationModeNV { 13236 VK_COVERAGE_MODULATION_MODE_NONE_NV = 0, 13237 VK_COVERAGE_MODULATION_MODE_RGB_NV = 1, 13238 VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2, 13239 VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3, 13240 VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF 13241 } VkCoverageModulationModeNV; 13242 typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV; 13243 typedef struct VkPipelineCoverageModulationStateCreateInfoNV { 13244 VkStructureType sType; 13245 const void* pNext; 13246 VkPipelineCoverageModulationStateCreateFlagsNV flags; 13247 VkCoverageModulationModeNV coverageModulationMode; 13248 VkBool32 coverageModulationTableEnable; 13249 uint32_t coverageModulationTableCount; 13250 const float* pCoverageModulationTable; 13251 } VkPipelineCoverageModulationStateCreateInfoNV; 13252 13253 13254 13255 // VK_NV_fill_rectangle is a preprocessor guard. Do not pass it to API calls. 13256 #define VK_NV_fill_rectangle 1 13257 #define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1 13258 #define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle" 13259 13260 13261 // VK_NV_shader_sm_builtins is a preprocessor guard. Do not pass it to API calls. 13262 #define VK_NV_shader_sm_builtins 1 13263 #define VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION 1 13264 #define VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME "VK_NV_shader_sm_builtins" 13265 typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV { 13266 VkStructureType sType; 13267 void* pNext; 13268 uint32_t shaderSMCount; 13269 uint32_t shaderWarpsPerSM; 13270 } VkPhysicalDeviceShaderSMBuiltinsPropertiesNV; 13271 13272 typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV { 13273 VkStructureType sType; 13274 void* pNext; 13275 VkBool32 shaderSMBuiltins; 13276 } VkPhysicalDeviceShaderSMBuiltinsFeaturesNV; 13277 13278 13279 13280 // VK_EXT_post_depth_coverage is a preprocessor guard. Do not pass it to API calls. 13281 #define VK_EXT_post_depth_coverage 1 13282 #define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1 13283 #define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage" 13284 13285 13286 // VK_EXT_image_drm_format_modifier is a preprocessor guard. Do not pass it to API calls. 13287 #define VK_EXT_image_drm_format_modifier 1 13288 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION 2 13289 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME "VK_EXT_image_drm_format_modifier" 13290 typedef struct VkDrmFormatModifierPropertiesEXT { 13291 uint64_t drmFormatModifier; 13292 uint32_t drmFormatModifierPlaneCount; 13293 VkFormatFeatureFlags drmFormatModifierTilingFeatures; 13294 } VkDrmFormatModifierPropertiesEXT; 13295 13296 typedef struct VkDrmFormatModifierPropertiesListEXT { 13297 VkStructureType sType; 13298 void* pNext; 13299 uint32_t drmFormatModifierCount; 13300 VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties; 13301 } VkDrmFormatModifierPropertiesListEXT; 13302 13303 typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT { 13304 VkStructureType sType; 13305 const void* pNext; 13306 uint64_t drmFormatModifier; 13307 VkSharingMode sharingMode; 13308 uint32_t queueFamilyIndexCount; 13309 const uint32_t* pQueueFamilyIndices; 13310 } VkPhysicalDeviceImageDrmFormatModifierInfoEXT; 13311 13312 typedef struct VkImageDrmFormatModifierListCreateInfoEXT { 13313 VkStructureType sType; 13314 const void* pNext; 13315 uint32_t drmFormatModifierCount; 13316 const uint64_t* pDrmFormatModifiers; 13317 } VkImageDrmFormatModifierListCreateInfoEXT; 13318 13319 typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT { 13320 VkStructureType sType; 13321 const void* pNext; 13322 uint64_t drmFormatModifier; 13323 uint32_t drmFormatModifierPlaneCount; 13324 const VkSubresourceLayout* pPlaneLayouts; 13325 } VkImageDrmFormatModifierExplicitCreateInfoEXT; 13326 13327 typedef struct VkImageDrmFormatModifierPropertiesEXT { 13328 VkStructureType sType; 13329 void* pNext; 13330 uint64_t drmFormatModifier; 13331 } VkImageDrmFormatModifierPropertiesEXT; 13332 13333 typedef struct VkDrmFormatModifierProperties2EXT { 13334 uint64_t drmFormatModifier; 13335 uint32_t drmFormatModifierPlaneCount; 13336 VkFormatFeatureFlags2 drmFormatModifierTilingFeatures; 13337 } VkDrmFormatModifierProperties2EXT; 13338 13339 typedef struct VkDrmFormatModifierPropertiesList2EXT { 13340 VkStructureType sType; 13341 void* pNext; 13342 uint32_t drmFormatModifierCount; 13343 VkDrmFormatModifierProperties2EXT* pDrmFormatModifierProperties; 13344 } VkDrmFormatModifierPropertiesList2EXT; 13345 13346 typedef VkResult (VKAPI_PTR *PFN_vkGetImageDrmFormatModifierPropertiesEXT)(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties); 13347 13348 #ifndef VK_NO_PROTOTYPES 13349 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageDrmFormatModifierPropertiesEXT( 13350 VkDevice device, 13351 VkImage image, 13352 VkImageDrmFormatModifierPropertiesEXT* pProperties); 13353 #endif 13354 13355 13356 // VK_EXT_validation_cache is a preprocessor guard. Do not pass it to API calls. 13357 #define VK_EXT_validation_cache 1 13358 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT) 13359 #define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1 13360 #define VK_EXT_VALIDATION_CACHE_EXTENSION_NAME "VK_EXT_validation_cache" 13361 13362 typedef enum VkValidationCacheHeaderVersionEXT { 13363 VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1, 13364 VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF 13365 } VkValidationCacheHeaderVersionEXT; 13366 typedef VkFlags VkValidationCacheCreateFlagsEXT; 13367 typedef struct VkValidationCacheCreateInfoEXT { 13368 VkStructureType sType; 13369 const void* pNext; 13370 VkValidationCacheCreateFlagsEXT flags; 13371 size_t initialDataSize; 13372 const void* pInitialData; 13373 } VkValidationCacheCreateInfoEXT; 13374 13375 typedef struct VkShaderModuleValidationCacheCreateInfoEXT { 13376 VkStructureType sType; 13377 const void* pNext; 13378 VkValidationCacheEXT validationCache; 13379 } VkShaderModuleValidationCacheCreateInfoEXT; 13380 13381 typedef VkResult (VKAPI_PTR *PFN_vkCreateValidationCacheEXT)(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache); 13382 typedef void (VKAPI_PTR *PFN_vkDestroyValidationCacheEXT)(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator); 13383 typedef VkResult (VKAPI_PTR *PFN_vkMergeValidationCachesEXT)(VkDevice device, VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const VkValidationCacheEXT* pSrcCaches); 13384 typedef VkResult (VKAPI_PTR *PFN_vkGetValidationCacheDataEXT)(VkDevice device, VkValidationCacheEXT validationCache, size_t* pDataSize, void* pData); 13385 13386 #ifndef VK_NO_PROTOTYPES 13387 VKAPI_ATTR VkResult VKAPI_CALL vkCreateValidationCacheEXT( 13388 VkDevice device, 13389 const VkValidationCacheCreateInfoEXT* pCreateInfo, 13390 const VkAllocationCallbacks* pAllocator, 13391 VkValidationCacheEXT* pValidationCache); 13392 13393 VKAPI_ATTR void VKAPI_CALL vkDestroyValidationCacheEXT( 13394 VkDevice device, 13395 VkValidationCacheEXT validationCache, 13396 const VkAllocationCallbacks* pAllocator); 13397 13398 VKAPI_ATTR VkResult VKAPI_CALL vkMergeValidationCachesEXT( 13399 VkDevice device, 13400 VkValidationCacheEXT dstCache, 13401 uint32_t srcCacheCount, 13402 const VkValidationCacheEXT* pSrcCaches); 13403 13404 VKAPI_ATTR VkResult VKAPI_CALL vkGetValidationCacheDataEXT( 13405 VkDevice device, 13406 VkValidationCacheEXT validationCache, 13407 size_t* pDataSize, 13408 void* pData); 13409 #endif 13410 13411 13412 // VK_EXT_descriptor_indexing is a preprocessor guard. Do not pass it to API calls. 13413 #define VK_EXT_descriptor_indexing 1 13414 #define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2 13415 #define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing" 13416 typedef VkDescriptorBindingFlagBits VkDescriptorBindingFlagBitsEXT; 13417 13418 typedef VkDescriptorBindingFlags VkDescriptorBindingFlagsEXT; 13419 13420 typedef VkDescriptorSetLayoutBindingFlagsCreateInfo VkDescriptorSetLayoutBindingFlagsCreateInfoEXT; 13421 13422 typedef VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeaturesEXT; 13423 13424 typedef VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingPropertiesEXT; 13425 13426 typedef VkDescriptorSetVariableDescriptorCountAllocateInfo VkDescriptorSetVariableDescriptorCountAllocateInfoEXT; 13427 13428 typedef VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupportEXT; 13429 13430 13431 13432 // VK_EXT_shader_viewport_index_layer is a preprocessor guard. Do not pass it to API calls. 13433 #define VK_EXT_shader_viewport_index_layer 1 13434 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1 13435 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer" 13436 13437 13438 // VK_NV_shading_rate_image is a preprocessor guard. Do not pass it to API calls. 13439 #define VK_NV_shading_rate_image 1 13440 #define VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION 3 13441 #define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image" 13442 13443 typedef enum VkShadingRatePaletteEntryNV { 13444 VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV = 0, 13445 VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV = 1, 13446 VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV = 2, 13447 VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV = 3, 13448 VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV = 4, 13449 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV = 5, 13450 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV = 6, 13451 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV = 7, 13452 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV = 8, 13453 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = 9, 13454 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = 10, 13455 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = 11, 13456 VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV = 0x7FFFFFFF 13457 } VkShadingRatePaletteEntryNV; 13458 13459 typedef enum VkCoarseSampleOrderTypeNV { 13460 VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = 0, 13461 VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = 1, 13462 VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = 2, 13463 VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3, 13464 VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 13465 } VkCoarseSampleOrderTypeNV; 13466 typedef struct VkShadingRatePaletteNV { 13467 uint32_t shadingRatePaletteEntryCount; 13468 const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries; 13469 } VkShadingRatePaletteNV; 13470 13471 typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV { 13472 VkStructureType sType; 13473 const void* pNext; 13474 VkBool32 shadingRateImageEnable; 13475 uint32_t viewportCount; 13476 const VkShadingRatePaletteNV* pShadingRatePalettes; 13477 } VkPipelineViewportShadingRateImageStateCreateInfoNV; 13478 13479 typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV { 13480 VkStructureType sType; 13481 void* pNext; 13482 VkBool32 shadingRateImage; 13483 VkBool32 shadingRateCoarseSampleOrder; 13484 } VkPhysicalDeviceShadingRateImageFeaturesNV; 13485 13486 typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV { 13487 VkStructureType sType; 13488 void* pNext; 13489 VkExtent2D shadingRateTexelSize; 13490 uint32_t shadingRatePaletteSize; 13491 uint32_t shadingRateMaxCoarseSamples; 13492 } VkPhysicalDeviceShadingRateImagePropertiesNV; 13493 13494 typedef struct VkCoarseSampleLocationNV { 13495 uint32_t pixelX; 13496 uint32_t pixelY; 13497 uint32_t sample; 13498 } VkCoarseSampleLocationNV; 13499 13500 typedef struct VkCoarseSampleOrderCustomNV { 13501 VkShadingRatePaletteEntryNV shadingRate; 13502 uint32_t sampleCount; 13503 uint32_t sampleLocationCount; 13504 const VkCoarseSampleLocationNV* pSampleLocations; 13505 } VkCoarseSampleOrderCustomNV; 13506 13507 typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV { 13508 VkStructureType sType; 13509 const void* pNext; 13510 VkCoarseSampleOrderTypeNV sampleOrderType; 13511 uint32_t customSampleOrderCount; 13512 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders; 13513 } VkPipelineViewportCoarseSampleOrderStateCreateInfoNV; 13514 13515 typedef void (VKAPI_PTR *PFN_vkCmdBindShadingRateImageNV)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout); 13516 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportShadingRatePaletteNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes); 13517 typedef void (VKAPI_PTR *PFN_vkCmdSetCoarseSampleOrderNV)(VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, uint32_t customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders); 13518 13519 #ifndef VK_NO_PROTOTYPES 13520 VKAPI_ATTR void VKAPI_CALL vkCmdBindShadingRateImageNV( 13521 VkCommandBuffer commandBuffer, 13522 VkImageView imageView, 13523 VkImageLayout imageLayout); 13524 13525 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportShadingRatePaletteNV( 13526 VkCommandBuffer commandBuffer, 13527 uint32_t firstViewport, 13528 uint32_t viewportCount, 13529 const VkShadingRatePaletteNV* pShadingRatePalettes); 13530 13531 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoarseSampleOrderNV( 13532 VkCommandBuffer commandBuffer, 13533 VkCoarseSampleOrderTypeNV sampleOrderType, 13534 uint32_t customSampleOrderCount, 13535 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders); 13536 #endif 13537 13538 13539 // VK_NV_ray_tracing is a preprocessor guard. Do not pass it to API calls. 13540 #define VK_NV_ray_tracing 1 13541 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV) 13542 #define VK_NV_RAY_TRACING_SPEC_VERSION 3 13543 #define VK_NV_RAY_TRACING_EXTENSION_NAME "VK_NV_ray_tracing" 13544 #define VK_SHADER_UNUSED_KHR (~0U) 13545 #define VK_SHADER_UNUSED_NV VK_SHADER_UNUSED_KHR 13546 13547 typedef enum VkRayTracingShaderGroupTypeKHR { 13548 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR = 0, 13549 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR = 1, 13550 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR = 2, 13551 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR, 13552 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR, 13553 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR, 13554 VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 13555 } VkRayTracingShaderGroupTypeKHR; 13556 typedef VkRayTracingShaderGroupTypeKHR VkRayTracingShaderGroupTypeNV; 13557 13558 13559 typedef enum VkGeometryTypeKHR { 13560 VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0, 13561 VK_GEOMETRY_TYPE_AABBS_KHR = 1, 13562 VK_GEOMETRY_TYPE_INSTANCES_KHR = 2, 13563 VK_GEOMETRY_TYPE_TRIANGLES_NV = VK_GEOMETRY_TYPE_TRIANGLES_KHR, 13564 VK_GEOMETRY_TYPE_AABBS_NV = VK_GEOMETRY_TYPE_AABBS_KHR, 13565 VK_GEOMETRY_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 13566 } VkGeometryTypeKHR; 13567 typedef VkGeometryTypeKHR VkGeometryTypeNV; 13568 13569 13570 typedef enum VkAccelerationStructureTypeKHR { 13571 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR = 0, 13572 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR = 1, 13573 VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR = 2, 13574 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR, 13575 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR, 13576 VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 13577 } VkAccelerationStructureTypeKHR; 13578 typedef VkAccelerationStructureTypeKHR VkAccelerationStructureTypeNV; 13579 13580 13581 typedef enum VkCopyAccelerationStructureModeKHR { 13582 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR = 0, 13583 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR = 1, 13584 VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR = 2, 13585 VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR = 3, 13586 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR, 13587 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR, 13588 VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 13589 } VkCopyAccelerationStructureModeKHR; 13590 typedef VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeNV; 13591 13592 13593 typedef enum VkAccelerationStructureMemoryRequirementsTypeNV { 13594 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = 0, 13595 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = 1, 13596 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = 2, 13597 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 13598 } VkAccelerationStructureMemoryRequirementsTypeNV; 13599 13600 typedef enum VkGeometryFlagBitsKHR { 13601 VK_GEOMETRY_OPAQUE_BIT_KHR = 0x00000001, 13602 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR = 0x00000002, 13603 VK_GEOMETRY_OPAQUE_BIT_NV = VK_GEOMETRY_OPAQUE_BIT_KHR, 13604 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV = VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR, 13605 VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 13606 } VkGeometryFlagBitsKHR; 13607 typedef VkFlags VkGeometryFlagsKHR; 13608 typedef VkGeometryFlagsKHR VkGeometryFlagsNV; 13609 13610 typedef VkGeometryFlagBitsKHR VkGeometryFlagBitsNV; 13611 13612 13613 typedef enum VkGeometryInstanceFlagBitsKHR { 13614 VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 0x00000001, 13615 VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR = 0x00000002, 13616 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 0x00000004, 13617 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 0x00000008, 13618 VK_GEOMETRY_INSTANCE_FORCE_OPACITY_MICROMAP_2_STATE_EXT = 0x00000010, 13619 VK_GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_EXT = 0x00000020, 13620 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR, 13621 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR, 13622 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR, 13623 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR, 13624 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR, 13625 VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 13626 } VkGeometryInstanceFlagBitsKHR; 13627 typedef VkFlags VkGeometryInstanceFlagsKHR; 13628 typedef VkGeometryInstanceFlagsKHR VkGeometryInstanceFlagsNV; 13629 13630 typedef VkGeometryInstanceFlagBitsKHR VkGeometryInstanceFlagBitsNV; 13631 13632 13633 typedef enum VkBuildAccelerationStructureFlagBitsKHR { 13634 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR = 0x00000001, 13635 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR = 0x00000002, 13636 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 0x00000004, 13637 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 0x00000008, 13638 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 0x00000010, 13639 VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 0x00000020, 13640 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_EXT = 0x00000040, 13641 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_EXT = 0x00000080, 13642 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_DATA_UPDATE_EXT = 0x00000100, 13643 #ifdef VK_ENABLE_BETA_EXTENSIONS 13644 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISPLACEMENT_MICROMAP_UPDATE_NV = 0x00000200, 13645 #endif 13646 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DATA_ACCESS_KHR = 0x00000800, 13647 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR, 13648 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR, 13649 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR, 13650 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR, 13651 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR, 13652 VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 13653 } VkBuildAccelerationStructureFlagBitsKHR; 13654 typedef VkFlags VkBuildAccelerationStructureFlagsKHR; 13655 typedef VkBuildAccelerationStructureFlagsKHR VkBuildAccelerationStructureFlagsNV; 13656 13657 typedef VkBuildAccelerationStructureFlagBitsKHR VkBuildAccelerationStructureFlagBitsNV; 13658 13659 typedef struct VkRayTracingShaderGroupCreateInfoNV { 13660 VkStructureType sType; 13661 const void* pNext; 13662 VkRayTracingShaderGroupTypeKHR type; 13663 uint32_t generalShader; 13664 uint32_t closestHitShader; 13665 uint32_t anyHitShader; 13666 uint32_t intersectionShader; 13667 } VkRayTracingShaderGroupCreateInfoNV; 13668 13669 typedef struct VkRayTracingPipelineCreateInfoNV { 13670 VkStructureType sType; 13671 const void* pNext; 13672 VkPipelineCreateFlags flags; 13673 uint32_t stageCount; 13674 const VkPipelineShaderStageCreateInfo* pStages; 13675 uint32_t groupCount; 13676 const VkRayTracingShaderGroupCreateInfoNV* pGroups; 13677 uint32_t maxRecursionDepth; 13678 VkPipelineLayout layout; 13679 VkPipeline basePipelineHandle; 13680 int32_t basePipelineIndex; 13681 } VkRayTracingPipelineCreateInfoNV; 13682 13683 typedef struct VkGeometryTrianglesNV { 13684 VkStructureType sType; 13685 const void* pNext; 13686 VkBuffer vertexData; 13687 VkDeviceSize vertexOffset; 13688 uint32_t vertexCount; 13689 VkDeviceSize vertexStride; 13690 VkFormat vertexFormat; 13691 VkBuffer indexData; 13692 VkDeviceSize indexOffset; 13693 uint32_t indexCount; 13694 VkIndexType indexType; 13695 VkBuffer transformData; 13696 VkDeviceSize transformOffset; 13697 } VkGeometryTrianglesNV; 13698 13699 typedef struct VkGeometryAABBNV { 13700 VkStructureType sType; 13701 const void* pNext; 13702 VkBuffer aabbData; 13703 uint32_t numAABBs; 13704 uint32_t stride; 13705 VkDeviceSize offset; 13706 } VkGeometryAABBNV; 13707 13708 typedef struct VkGeometryDataNV { 13709 VkGeometryTrianglesNV triangles; 13710 VkGeometryAABBNV aabbs; 13711 } VkGeometryDataNV; 13712 13713 typedef struct VkGeometryNV { 13714 VkStructureType sType; 13715 const void* pNext; 13716 VkGeometryTypeKHR geometryType; 13717 VkGeometryDataNV geometry; 13718 VkGeometryFlagsKHR flags; 13719 } VkGeometryNV; 13720 13721 typedef struct VkAccelerationStructureInfoNV { 13722 VkStructureType sType; 13723 const void* pNext; 13724 VkAccelerationStructureTypeNV type; 13725 VkBuildAccelerationStructureFlagsNV flags; 13726 uint32_t instanceCount; 13727 uint32_t geometryCount; 13728 const VkGeometryNV* pGeometries; 13729 } VkAccelerationStructureInfoNV; 13730 13731 typedef struct VkAccelerationStructureCreateInfoNV { 13732 VkStructureType sType; 13733 const void* pNext; 13734 VkDeviceSize compactedSize; 13735 VkAccelerationStructureInfoNV info; 13736 } VkAccelerationStructureCreateInfoNV; 13737 13738 typedef struct VkBindAccelerationStructureMemoryInfoNV { 13739 VkStructureType sType; 13740 const void* pNext; 13741 VkAccelerationStructureNV accelerationStructure; 13742 VkDeviceMemory memory; 13743 VkDeviceSize memoryOffset; 13744 uint32_t deviceIndexCount; 13745 const uint32_t* pDeviceIndices; 13746 } VkBindAccelerationStructureMemoryInfoNV; 13747 13748 typedef struct VkWriteDescriptorSetAccelerationStructureNV { 13749 VkStructureType sType; 13750 const void* pNext; 13751 uint32_t accelerationStructureCount; 13752 const VkAccelerationStructureNV* pAccelerationStructures; 13753 } VkWriteDescriptorSetAccelerationStructureNV; 13754 13755 typedef struct VkAccelerationStructureMemoryRequirementsInfoNV { 13756 VkStructureType sType; 13757 const void* pNext; 13758 VkAccelerationStructureMemoryRequirementsTypeNV type; 13759 VkAccelerationStructureNV accelerationStructure; 13760 } VkAccelerationStructureMemoryRequirementsInfoNV; 13761 13762 typedef struct VkPhysicalDeviceRayTracingPropertiesNV { 13763 VkStructureType sType; 13764 void* pNext; 13765 uint32_t shaderGroupHandleSize; 13766 uint32_t maxRecursionDepth; 13767 uint32_t maxShaderGroupStride; 13768 uint32_t shaderGroupBaseAlignment; 13769 uint64_t maxGeometryCount; 13770 uint64_t maxInstanceCount; 13771 uint64_t maxTriangleCount; 13772 uint32_t maxDescriptorSetAccelerationStructures; 13773 } VkPhysicalDeviceRayTracingPropertiesNV; 13774 13775 typedef struct VkTransformMatrixKHR { 13776 float matrix[3][4]; 13777 } VkTransformMatrixKHR; 13778 13779 typedef VkTransformMatrixKHR VkTransformMatrixNV; 13780 13781 typedef struct VkAabbPositionsKHR { 13782 float minX; 13783 float minY; 13784 float minZ; 13785 float maxX; 13786 float maxY; 13787 float maxZ; 13788 } VkAabbPositionsKHR; 13789 13790 typedef VkAabbPositionsKHR VkAabbPositionsNV; 13791 13792 typedef struct VkAccelerationStructureInstanceKHR { 13793 VkTransformMatrixKHR transform; 13794 uint32_t instanceCustomIndex:24; 13795 uint32_t mask:8; 13796 uint32_t instanceShaderBindingTableRecordOffset:24; 13797 VkGeometryInstanceFlagsKHR flags:8; 13798 uint64_t accelerationStructureReference; 13799 } VkAccelerationStructureInstanceKHR; 13800 13801 typedef VkAccelerationStructureInstanceKHR VkAccelerationStructureInstanceNV; 13802 13803 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureNV)(VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure); 13804 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator); 13805 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsNV)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements); 13806 typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryNV)(VkDevice device, uint32_t bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos); 13807 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); 13808 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNV)(VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode); 13809 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); 13810 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesNV)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 13811 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData); 13812 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesNV)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData); 13813 typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, size_t dataSize, void* pData); 13814 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesNV)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery); 13815 typedef VkResult (VKAPI_PTR *PFN_vkCompileDeferredNV)(VkDevice device, VkPipeline pipeline, uint32_t shader); 13816 13817 #ifndef VK_NO_PROTOTYPES 13818 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureNV( 13819 VkDevice device, 13820 const VkAccelerationStructureCreateInfoNV* pCreateInfo, 13821 const VkAllocationCallbacks* pAllocator, 13822 VkAccelerationStructureNV* pAccelerationStructure); 13823 13824 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureNV( 13825 VkDevice device, 13826 VkAccelerationStructureNV accelerationStructure, 13827 const VkAllocationCallbacks* pAllocator); 13828 13829 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsNV( 13830 VkDevice device, 13831 const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, 13832 VkMemoryRequirements2KHR* pMemoryRequirements); 13833 13834 VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryNV( 13835 VkDevice device, 13836 uint32_t bindInfoCount, 13837 const VkBindAccelerationStructureMemoryInfoNV* pBindInfos); 13838 13839 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureNV( 13840 VkCommandBuffer commandBuffer, 13841 const VkAccelerationStructureInfoNV* pInfo, 13842 VkBuffer instanceData, 13843 VkDeviceSize instanceOffset, 13844 VkBool32 update, 13845 VkAccelerationStructureNV dst, 13846 VkAccelerationStructureNV src, 13847 VkBuffer scratch, 13848 VkDeviceSize scratchOffset); 13849 13850 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureNV( 13851 VkCommandBuffer commandBuffer, 13852 VkAccelerationStructureNV dst, 13853 VkAccelerationStructureNV src, 13854 VkCopyAccelerationStructureModeKHR mode); 13855 13856 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysNV( 13857 VkCommandBuffer commandBuffer, 13858 VkBuffer raygenShaderBindingTableBuffer, 13859 VkDeviceSize raygenShaderBindingOffset, 13860 VkBuffer missShaderBindingTableBuffer, 13861 VkDeviceSize missShaderBindingOffset, 13862 VkDeviceSize missShaderBindingStride, 13863 VkBuffer hitShaderBindingTableBuffer, 13864 VkDeviceSize hitShaderBindingOffset, 13865 VkDeviceSize hitShaderBindingStride, 13866 VkBuffer callableShaderBindingTableBuffer, 13867 VkDeviceSize callableShaderBindingOffset, 13868 VkDeviceSize callableShaderBindingStride, 13869 uint32_t width, 13870 uint32_t height, 13871 uint32_t depth); 13872 13873 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesNV( 13874 VkDevice device, 13875 VkPipelineCache pipelineCache, 13876 uint32_t createInfoCount, 13877 const VkRayTracingPipelineCreateInfoNV* pCreateInfos, 13878 const VkAllocationCallbacks* pAllocator, 13879 VkPipeline* pPipelines); 13880 13881 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesKHR( 13882 VkDevice device, 13883 VkPipeline pipeline, 13884 uint32_t firstGroup, 13885 uint32_t groupCount, 13886 size_t dataSize, 13887 void* pData); 13888 13889 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesNV( 13890 VkDevice device, 13891 VkPipeline pipeline, 13892 uint32_t firstGroup, 13893 uint32_t groupCount, 13894 size_t dataSize, 13895 void* pData); 13896 13897 VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureHandleNV( 13898 VkDevice device, 13899 VkAccelerationStructureNV accelerationStructure, 13900 size_t dataSize, 13901 void* pData); 13902 13903 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesNV( 13904 VkCommandBuffer commandBuffer, 13905 uint32_t accelerationStructureCount, 13906 const VkAccelerationStructureNV* pAccelerationStructures, 13907 VkQueryType queryType, 13908 VkQueryPool queryPool, 13909 uint32_t firstQuery); 13910 13911 VKAPI_ATTR VkResult VKAPI_CALL vkCompileDeferredNV( 13912 VkDevice device, 13913 VkPipeline pipeline, 13914 uint32_t shader); 13915 #endif 13916 13917 13918 // VK_NV_representative_fragment_test is a preprocessor guard. Do not pass it to API calls. 13919 #define VK_NV_representative_fragment_test 1 13920 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 2 13921 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test" 13922 typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV { 13923 VkStructureType sType; 13924 void* pNext; 13925 VkBool32 representativeFragmentTest; 13926 } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV; 13927 13928 typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV { 13929 VkStructureType sType; 13930 const void* pNext; 13931 VkBool32 representativeFragmentTestEnable; 13932 } VkPipelineRepresentativeFragmentTestStateCreateInfoNV; 13933 13934 13935 13936 // VK_EXT_filter_cubic is a preprocessor guard. Do not pass it to API calls. 13937 #define VK_EXT_filter_cubic 1 13938 #define VK_EXT_FILTER_CUBIC_SPEC_VERSION 3 13939 #define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic" 13940 typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT { 13941 VkStructureType sType; 13942 void* pNext; 13943 VkImageViewType imageViewType; 13944 } VkPhysicalDeviceImageViewImageFormatInfoEXT; 13945 13946 typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT { 13947 VkStructureType sType; 13948 void* pNext; 13949 VkBool32 filterCubic; 13950 VkBool32 filterCubicMinmax; 13951 } VkFilterCubicImageViewImageFormatPropertiesEXT; 13952 13953 13954 13955 // VK_QCOM_render_pass_shader_resolve is a preprocessor guard. Do not pass it to API calls. 13956 #define VK_QCOM_render_pass_shader_resolve 1 13957 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION 4 13958 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME "VK_QCOM_render_pass_shader_resolve" 13959 13960 13961 // VK_EXT_global_priority is a preprocessor guard. Do not pass it to API calls. 13962 #define VK_EXT_global_priority 1 13963 #define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2 13964 #define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority" 13965 typedef VkQueueGlobalPriorityKHR VkQueueGlobalPriorityEXT; 13966 13967 typedef VkDeviceQueueGlobalPriorityCreateInfoKHR VkDeviceQueueGlobalPriorityCreateInfoEXT; 13968 13969 13970 13971 // VK_EXT_external_memory_host is a preprocessor guard. Do not pass it to API calls. 13972 #define VK_EXT_external_memory_host 1 13973 #define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1 13974 #define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host" 13975 typedef struct VkImportMemoryHostPointerInfoEXT { 13976 VkStructureType sType; 13977 const void* pNext; 13978 VkExternalMemoryHandleTypeFlagBits handleType; 13979 void* pHostPointer; 13980 } VkImportMemoryHostPointerInfoEXT; 13981 13982 typedef struct VkMemoryHostPointerPropertiesEXT { 13983 VkStructureType sType; 13984 void* pNext; 13985 uint32_t memoryTypeBits; 13986 } VkMemoryHostPointerPropertiesEXT; 13987 13988 typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT { 13989 VkStructureType sType; 13990 void* pNext; 13991 VkDeviceSize minImportedHostPointerAlignment; 13992 } VkPhysicalDeviceExternalMemoryHostPropertiesEXT; 13993 13994 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties); 13995 13996 #ifndef VK_NO_PROTOTYPES 13997 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT( 13998 VkDevice device, 13999 VkExternalMemoryHandleTypeFlagBits handleType, 14000 const void* pHostPointer, 14001 VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties); 14002 #endif 14003 14004 14005 // VK_AMD_buffer_marker is a preprocessor guard. Do not pass it to API calls. 14006 #define VK_AMD_buffer_marker 1 14007 #define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1 14008 #define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker" 14009 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker); 14010 14011 #ifndef VK_NO_PROTOTYPES 14012 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD( 14013 VkCommandBuffer commandBuffer, 14014 VkPipelineStageFlagBits pipelineStage, 14015 VkBuffer dstBuffer, 14016 VkDeviceSize dstOffset, 14017 uint32_t marker); 14018 #endif 14019 14020 14021 // VK_AMD_pipeline_compiler_control is a preprocessor guard. Do not pass it to API calls. 14022 #define VK_AMD_pipeline_compiler_control 1 14023 #define VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION 1 14024 #define VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME "VK_AMD_pipeline_compiler_control" 14025 14026 typedef enum VkPipelineCompilerControlFlagBitsAMD { 14027 VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF 14028 } VkPipelineCompilerControlFlagBitsAMD; 14029 typedef VkFlags VkPipelineCompilerControlFlagsAMD; 14030 typedef struct VkPipelineCompilerControlCreateInfoAMD { 14031 VkStructureType sType; 14032 const void* pNext; 14033 VkPipelineCompilerControlFlagsAMD compilerControlFlags; 14034 } VkPipelineCompilerControlCreateInfoAMD; 14035 14036 14037 14038 // VK_EXT_calibrated_timestamps is a preprocessor guard. Do not pass it to API calls. 14039 #define VK_EXT_calibrated_timestamps 1 14040 #define VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION 2 14041 #define VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_EXT_calibrated_timestamps" 14042 typedef VkTimeDomainKHR VkTimeDomainEXT; 14043 14044 typedef VkCalibratedTimestampInfoKHR VkCalibratedTimestampInfoEXT; 14045 14046 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainKHR* pTimeDomains); 14047 typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoKHR* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation); 14048 14049 #ifndef VK_NO_PROTOTYPES 14050 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( 14051 VkPhysicalDevice physicalDevice, 14052 uint32_t* pTimeDomainCount, 14053 VkTimeDomainKHR* pTimeDomains); 14054 14055 VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsEXT( 14056 VkDevice device, 14057 uint32_t timestampCount, 14058 const VkCalibratedTimestampInfoKHR* pTimestampInfos, 14059 uint64_t* pTimestamps, 14060 uint64_t* pMaxDeviation); 14061 #endif 14062 14063 14064 // VK_AMD_shader_core_properties is a preprocessor guard. Do not pass it to API calls. 14065 #define VK_AMD_shader_core_properties 1 14066 #define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 2 14067 #define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties" 14068 typedef struct VkPhysicalDeviceShaderCorePropertiesAMD { 14069 VkStructureType sType; 14070 void* pNext; 14071 uint32_t shaderEngineCount; 14072 uint32_t shaderArraysPerEngineCount; 14073 uint32_t computeUnitsPerShaderArray; 14074 uint32_t simdPerComputeUnit; 14075 uint32_t wavefrontsPerSimd; 14076 uint32_t wavefrontSize; 14077 uint32_t sgprsPerSimd; 14078 uint32_t minSgprAllocation; 14079 uint32_t maxSgprAllocation; 14080 uint32_t sgprAllocationGranularity; 14081 uint32_t vgprsPerSimd; 14082 uint32_t minVgprAllocation; 14083 uint32_t maxVgprAllocation; 14084 uint32_t vgprAllocationGranularity; 14085 } VkPhysicalDeviceShaderCorePropertiesAMD; 14086 14087 14088 14089 // VK_AMD_memory_overallocation_behavior is a preprocessor guard. Do not pass it to API calls. 14090 #define VK_AMD_memory_overallocation_behavior 1 14091 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION 1 14092 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME "VK_AMD_memory_overallocation_behavior" 14093 14094 typedef enum VkMemoryOverallocationBehaviorAMD { 14095 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0, 14096 VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD = 1, 14097 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD = 2, 14098 VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD = 0x7FFFFFFF 14099 } VkMemoryOverallocationBehaviorAMD; 14100 typedef struct VkDeviceMemoryOverallocationCreateInfoAMD { 14101 VkStructureType sType; 14102 const void* pNext; 14103 VkMemoryOverallocationBehaviorAMD overallocationBehavior; 14104 } VkDeviceMemoryOverallocationCreateInfoAMD; 14105 14106 14107 14108 // VK_EXT_vertex_attribute_divisor is a preprocessor guard. Do not pass it to API calls. 14109 #define VK_EXT_vertex_attribute_divisor 1 14110 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3 14111 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor" 14112 typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT { 14113 VkStructureType sType; 14114 void* pNext; 14115 uint32_t maxVertexAttribDivisor; 14116 } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT; 14117 14118 typedef VkVertexInputBindingDivisorDescriptionKHR VkVertexInputBindingDivisorDescriptionEXT; 14119 14120 typedef VkPipelineVertexInputDivisorStateCreateInfoKHR VkPipelineVertexInputDivisorStateCreateInfoEXT; 14121 14122 typedef VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT; 14123 14124 14125 14126 // VK_EXT_pipeline_creation_feedback is a preprocessor guard. Do not pass it to API calls. 14127 #define VK_EXT_pipeline_creation_feedback 1 14128 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION 1 14129 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME "VK_EXT_pipeline_creation_feedback" 14130 typedef VkPipelineCreationFeedbackFlagBits VkPipelineCreationFeedbackFlagBitsEXT; 14131 14132 typedef VkPipelineCreationFeedbackFlags VkPipelineCreationFeedbackFlagsEXT; 14133 14134 typedef VkPipelineCreationFeedbackCreateInfo VkPipelineCreationFeedbackCreateInfoEXT; 14135 14136 typedef VkPipelineCreationFeedback VkPipelineCreationFeedbackEXT; 14137 14138 14139 14140 // VK_NV_shader_subgroup_partitioned is a preprocessor guard. Do not pass it to API calls. 14141 #define VK_NV_shader_subgroup_partitioned 1 14142 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1 14143 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned" 14144 14145 14146 // VK_NV_compute_shader_derivatives is a preprocessor guard. Do not pass it to API calls. 14147 #define VK_NV_compute_shader_derivatives 1 14148 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1 14149 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives" 14150 typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV { 14151 VkStructureType sType; 14152 void* pNext; 14153 VkBool32 computeDerivativeGroupQuads; 14154 VkBool32 computeDerivativeGroupLinear; 14155 } VkPhysicalDeviceComputeShaderDerivativesFeaturesNV; 14156 14157 14158 14159 // VK_NV_mesh_shader is a preprocessor guard. Do not pass it to API calls. 14160 #define VK_NV_mesh_shader 1 14161 #define VK_NV_MESH_SHADER_SPEC_VERSION 1 14162 #define VK_NV_MESH_SHADER_EXTENSION_NAME "VK_NV_mesh_shader" 14163 typedef struct VkPhysicalDeviceMeshShaderFeaturesNV { 14164 VkStructureType sType; 14165 void* pNext; 14166 VkBool32 taskShader; 14167 VkBool32 meshShader; 14168 } VkPhysicalDeviceMeshShaderFeaturesNV; 14169 14170 typedef struct VkPhysicalDeviceMeshShaderPropertiesNV { 14171 VkStructureType sType; 14172 void* pNext; 14173 uint32_t maxDrawMeshTasksCount; 14174 uint32_t maxTaskWorkGroupInvocations; 14175 uint32_t maxTaskWorkGroupSize[3]; 14176 uint32_t maxTaskTotalMemorySize; 14177 uint32_t maxTaskOutputCount; 14178 uint32_t maxMeshWorkGroupInvocations; 14179 uint32_t maxMeshWorkGroupSize[3]; 14180 uint32_t maxMeshTotalMemorySize; 14181 uint32_t maxMeshOutputVertices; 14182 uint32_t maxMeshOutputPrimitives; 14183 uint32_t maxMeshMultiviewViewCount; 14184 uint32_t meshOutputPerVertexGranularity; 14185 uint32_t meshOutputPerPrimitiveGranularity; 14186 } VkPhysicalDeviceMeshShaderPropertiesNV; 14187 14188 typedef struct VkDrawMeshTasksIndirectCommandNV { 14189 uint32_t taskCount; 14190 uint32_t firstTask; 14191 } VkDrawMeshTasksIndirectCommandNV; 14192 14193 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksNV)(VkCommandBuffer commandBuffer, uint32_t taskCount, uint32_t firstTask); 14194 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); 14195 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 14196 14197 #ifndef VK_NO_PROTOTYPES 14198 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksNV( 14199 VkCommandBuffer commandBuffer, 14200 uint32_t taskCount, 14201 uint32_t firstTask); 14202 14203 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectNV( 14204 VkCommandBuffer commandBuffer, 14205 VkBuffer buffer, 14206 VkDeviceSize offset, 14207 uint32_t drawCount, 14208 uint32_t stride); 14209 14210 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountNV( 14211 VkCommandBuffer commandBuffer, 14212 VkBuffer buffer, 14213 VkDeviceSize offset, 14214 VkBuffer countBuffer, 14215 VkDeviceSize countBufferOffset, 14216 uint32_t maxDrawCount, 14217 uint32_t stride); 14218 #endif 14219 14220 14221 // VK_NV_fragment_shader_barycentric is a preprocessor guard. Do not pass it to API calls. 14222 #define VK_NV_fragment_shader_barycentric 1 14223 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1 14224 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric" 14225 typedef VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV; 14226 14227 14228 14229 // VK_NV_shader_image_footprint is a preprocessor guard. Do not pass it to API calls. 14230 #define VK_NV_shader_image_footprint 1 14231 #define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 2 14232 #define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint" 14233 typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV { 14234 VkStructureType sType; 14235 void* pNext; 14236 VkBool32 imageFootprint; 14237 } VkPhysicalDeviceShaderImageFootprintFeaturesNV; 14238 14239 14240 14241 // VK_NV_scissor_exclusive is a preprocessor guard. Do not pass it to API calls. 14242 #define VK_NV_scissor_exclusive 1 14243 #define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 2 14244 #define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive" 14245 typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV { 14246 VkStructureType sType; 14247 const void* pNext; 14248 uint32_t exclusiveScissorCount; 14249 const VkRect2D* pExclusiveScissors; 14250 } VkPipelineViewportExclusiveScissorStateCreateInfoNV; 14251 14252 typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV { 14253 VkStructureType sType; 14254 void* pNext; 14255 VkBool32 exclusiveScissor; 14256 } VkPhysicalDeviceExclusiveScissorFeaturesNV; 14257 14258 typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorEnableNV)(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkBool32* pExclusiveScissorEnables); 14259 typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkRect2D* pExclusiveScissors); 14260 14261 #ifndef VK_NO_PROTOTYPES 14262 VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorEnableNV( 14263 VkCommandBuffer commandBuffer, 14264 uint32_t firstExclusiveScissor, 14265 uint32_t exclusiveScissorCount, 14266 const VkBool32* pExclusiveScissorEnables); 14267 14268 VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorNV( 14269 VkCommandBuffer commandBuffer, 14270 uint32_t firstExclusiveScissor, 14271 uint32_t exclusiveScissorCount, 14272 const VkRect2D* pExclusiveScissors); 14273 #endif 14274 14275 14276 // VK_NV_device_diagnostic_checkpoints is a preprocessor guard. Do not pass it to API calls. 14277 #define VK_NV_device_diagnostic_checkpoints 1 14278 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2 14279 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints" 14280 typedef struct VkQueueFamilyCheckpointPropertiesNV { 14281 VkStructureType sType; 14282 void* pNext; 14283 VkPipelineStageFlags checkpointExecutionStageMask; 14284 } VkQueueFamilyCheckpointPropertiesNV; 14285 14286 typedef struct VkCheckpointDataNV { 14287 VkStructureType sType; 14288 void* pNext; 14289 VkPipelineStageFlagBits stage; 14290 void* pCheckpointMarker; 14291 } VkCheckpointDataNV; 14292 14293 typedef void (VKAPI_PTR *PFN_vkCmdSetCheckpointNV)(VkCommandBuffer commandBuffer, const void* pCheckpointMarker); 14294 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointDataNV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData); 14295 14296 #ifndef VK_NO_PROTOTYPES 14297 VKAPI_ATTR void VKAPI_CALL vkCmdSetCheckpointNV( 14298 VkCommandBuffer commandBuffer, 14299 const void* pCheckpointMarker); 14300 14301 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointDataNV( 14302 VkQueue queue, 14303 uint32_t* pCheckpointDataCount, 14304 VkCheckpointDataNV* pCheckpointData); 14305 #endif 14306 14307 14308 // VK_INTEL_shader_integer_functions2 is a preprocessor guard. Do not pass it to API calls. 14309 #define VK_INTEL_shader_integer_functions2 1 14310 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION 1 14311 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME "VK_INTEL_shader_integer_functions2" 14312 typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL { 14313 VkStructureType sType; 14314 void* pNext; 14315 VkBool32 shaderIntegerFunctions2; 14316 } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL; 14317 14318 14319 14320 // VK_INTEL_performance_query is a preprocessor guard. Do not pass it to API calls. 14321 #define VK_INTEL_performance_query 1 14322 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL) 14323 #define VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION 2 14324 #define VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME "VK_INTEL_performance_query" 14325 14326 typedef enum VkPerformanceConfigurationTypeINTEL { 14327 VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0, 14328 VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF 14329 } VkPerformanceConfigurationTypeINTEL; 14330 14331 typedef enum VkQueryPoolSamplingModeINTEL { 14332 VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0, 14333 VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL = 0x7FFFFFFF 14334 } VkQueryPoolSamplingModeINTEL; 14335 14336 typedef enum VkPerformanceOverrideTypeINTEL { 14337 VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0, 14338 VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1, 14339 VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF 14340 } VkPerformanceOverrideTypeINTEL; 14341 14342 typedef enum VkPerformanceParameterTypeINTEL { 14343 VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0, 14344 VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1, 14345 VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF 14346 } VkPerformanceParameterTypeINTEL; 14347 14348 typedef enum VkPerformanceValueTypeINTEL { 14349 VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0, 14350 VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1, 14351 VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL = 2, 14352 VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL = 3, 14353 VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4, 14354 VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF 14355 } VkPerformanceValueTypeINTEL; 14356 typedef union VkPerformanceValueDataINTEL { 14357 uint32_t value32; 14358 uint64_t value64; 14359 float valueFloat; 14360 VkBool32 valueBool; 14361 const char* valueString; 14362 } VkPerformanceValueDataINTEL; 14363 14364 typedef struct VkPerformanceValueINTEL { 14365 VkPerformanceValueTypeINTEL type; 14366 VkPerformanceValueDataINTEL data; 14367 } VkPerformanceValueINTEL; 14368 14369 typedef struct VkInitializePerformanceApiInfoINTEL { 14370 VkStructureType sType; 14371 const void* pNext; 14372 void* pUserData; 14373 } VkInitializePerformanceApiInfoINTEL; 14374 14375 typedef struct VkQueryPoolPerformanceQueryCreateInfoINTEL { 14376 VkStructureType sType; 14377 const void* pNext; 14378 VkQueryPoolSamplingModeINTEL performanceCountersSampling; 14379 } VkQueryPoolPerformanceQueryCreateInfoINTEL; 14380 14381 typedef VkQueryPoolPerformanceQueryCreateInfoINTEL VkQueryPoolCreateInfoINTEL; 14382 14383 typedef struct VkPerformanceMarkerInfoINTEL { 14384 VkStructureType sType; 14385 const void* pNext; 14386 uint64_t marker; 14387 } VkPerformanceMarkerInfoINTEL; 14388 14389 typedef struct VkPerformanceStreamMarkerInfoINTEL { 14390 VkStructureType sType; 14391 const void* pNext; 14392 uint32_t marker; 14393 } VkPerformanceStreamMarkerInfoINTEL; 14394 14395 typedef struct VkPerformanceOverrideInfoINTEL { 14396 VkStructureType sType; 14397 const void* pNext; 14398 VkPerformanceOverrideTypeINTEL type; 14399 VkBool32 enable; 14400 uint64_t parameter; 14401 } VkPerformanceOverrideInfoINTEL; 14402 14403 typedef struct VkPerformanceConfigurationAcquireInfoINTEL { 14404 VkStructureType sType; 14405 const void* pNext; 14406 VkPerformanceConfigurationTypeINTEL type; 14407 } VkPerformanceConfigurationAcquireInfoINTEL; 14408 14409 typedef VkResult (VKAPI_PTR *PFN_vkInitializePerformanceApiINTEL)(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo); 14410 typedef void (VKAPI_PTR *PFN_vkUninitializePerformanceApiINTEL)(VkDevice device); 14411 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo); 14412 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceStreamMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo); 14413 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceOverrideINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo); 14414 typedef VkResult (VKAPI_PTR *PFN_vkAcquirePerformanceConfigurationINTEL)(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration); 14415 typedef VkResult (VKAPI_PTR *PFN_vkReleasePerformanceConfigurationINTEL)(VkDevice device, VkPerformanceConfigurationINTEL configuration); 14416 typedef VkResult (VKAPI_PTR *PFN_vkQueueSetPerformanceConfigurationINTEL)(VkQueue queue, VkPerformanceConfigurationINTEL configuration); 14417 typedef VkResult (VKAPI_PTR *PFN_vkGetPerformanceParameterINTEL)(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue); 14418 14419 #ifndef VK_NO_PROTOTYPES 14420 VKAPI_ATTR VkResult VKAPI_CALL vkInitializePerformanceApiINTEL( 14421 VkDevice device, 14422 const VkInitializePerformanceApiInfoINTEL* pInitializeInfo); 14423 14424 VKAPI_ATTR void VKAPI_CALL vkUninitializePerformanceApiINTEL( 14425 VkDevice device); 14426 14427 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceMarkerINTEL( 14428 VkCommandBuffer commandBuffer, 14429 const VkPerformanceMarkerInfoINTEL* pMarkerInfo); 14430 14431 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceStreamMarkerINTEL( 14432 VkCommandBuffer commandBuffer, 14433 const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo); 14434 14435 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceOverrideINTEL( 14436 VkCommandBuffer commandBuffer, 14437 const VkPerformanceOverrideInfoINTEL* pOverrideInfo); 14438 14439 VKAPI_ATTR VkResult VKAPI_CALL vkAcquirePerformanceConfigurationINTEL( 14440 VkDevice device, 14441 const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, 14442 VkPerformanceConfigurationINTEL* pConfiguration); 14443 14444 VKAPI_ATTR VkResult VKAPI_CALL vkReleasePerformanceConfigurationINTEL( 14445 VkDevice device, 14446 VkPerformanceConfigurationINTEL configuration); 14447 14448 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSetPerformanceConfigurationINTEL( 14449 VkQueue queue, 14450 VkPerformanceConfigurationINTEL configuration); 14451 14452 VKAPI_ATTR VkResult VKAPI_CALL vkGetPerformanceParameterINTEL( 14453 VkDevice device, 14454 VkPerformanceParameterTypeINTEL parameter, 14455 VkPerformanceValueINTEL* pValue); 14456 #endif 14457 14458 14459 // VK_EXT_pci_bus_info is a preprocessor guard. Do not pass it to API calls. 14460 #define VK_EXT_pci_bus_info 1 14461 #define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2 14462 #define VK_EXT_PCI_BUS_INFO_EXTENSION_NAME "VK_EXT_pci_bus_info" 14463 typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT { 14464 VkStructureType sType; 14465 void* pNext; 14466 uint32_t pciDomain; 14467 uint32_t pciBus; 14468 uint32_t pciDevice; 14469 uint32_t pciFunction; 14470 } VkPhysicalDevicePCIBusInfoPropertiesEXT; 14471 14472 14473 14474 // VK_AMD_display_native_hdr is a preprocessor guard. Do not pass it to API calls. 14475 #define VK_AMD_display_native_hdr 1 14476 #define VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION 1 14477 #define VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME "VK_AMD_display_native_hdr" 14478 typedef struct VkDisplayNativeHdrSurfaceCapabilitiesAMD { 14479 VkStructureType sType; 14480 void* pNext; 14481 VkBool32 localDimmingSupport; 14482 } VkDisplayNativeHdrSurfaceCapabilitiesAMD; 14483 14484 typedef struct VkSwapchainDisplayNativeHdrCreateInfoAMD { 14485 VkStructureType sType; 14486 const void* pNext; 14487 VkBool32 localDimmingEnable; 14488 } VkSwapchainDisplayNativeHdrCreateInfoAMD; 14489 14490 typedef void (VKAPI_PTR *PFN_vkSetLocalDimmingAMD)(VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable); 14491 14492 #ifndef VK_NO_PROTOTYPES 14493 VKAPI_ATTR void VKAPI_CALL vkSetLocalDimmingAMD( 14494 VkDevice device, 14495 VkSwapchainKHR swapChain, 14496 VkBool32 localDimmingEnable); 14497 #endif 14498 14499 14500 // VK_EXT_fragment_density_map is a preprocessor guard. Do not pass it to API calls. 14501 #define VK_EXT_fragment_density_map 1 14502 #define VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION 2 14503 #define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map" 14504 typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT { 14505 VkStructureType sType; 14506 void* pNext; 14507 VkBool32 fragmentDensityMap; 14508 VkBool32 fragmentDensityMapDynamic; 14509 VkBool32 fragmentDensityMapNonSubsampledImages; 14510 } VkPhysicalDeviceFragmentDensityMapFeaturesEXT; 14511 14512 typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT { 14513 VkStructureType sType; 14514 void* pNext; 14515 VkExtent2D minFragmentDensityTexelSize; 14516 VkExtent2D maxFragmentDensityTexelSize; 14517 VkBool32 fragmentDensityInvocations; 14518 } VkPhysicalDeviceFragmentDensityMapPropertiesEXT; 14519 14520 typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT { 14521 VkStructureType sType; 14522 const void* pNext; 14523 VkAttachmentReference fragmentDensityMapAttachment; 14524 } VkRenderPassFragmentDensityMapCreateInfoEXT; 14525 14526 14527 14528 // VK_EXT_scalar_block_layout is a preprocessor guard. Do not pass it to API calls. 14529 #define VK_EXT_scalar_block_layout 1 14530 #define VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION 1 14531 #define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout" 14532 typedef VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeaturesEXT; 14533 14534 14535 14536 // VK_GOOGLE_hlsl_functionality1 is a preprocessor guard. Do not pass it to API calls. 14537 #define VK_GOOGLE_hlsl_functionality1 1 14538 #define VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION 1 14539 #define VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1" 14540 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION 14541 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME 14542 14543 14544 // VK_GOOGLE_decorate_string is a preprocessor guard. Do not pass it to API calls. 14545 #define VK_GOOGLE_decorate_string 1 14546 #define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1 14547 #define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string" 14548 14549 14550 // VK_EXT_subgroup_size_control is a preprocessor guard. Do not pass it to API calls. 14551 #define VK_EXT_subgroup_size_control 1 14552 #define VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION 2 14553 #define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control" 14554 typedef VkPhysicalDeviceSubgroupSizeControlFeatures VkPhysicalDeviceSubgroupSizeControlFeaturesEXT; 14555 14556 typedef VkPhysicalDeviceSubgroupSizeControlProperties VkPhysicalDeviceSubgroupSizeControlPropertiesEXT; 14557 14558 typedef VkPipelineShaderStageRequiredSubgroupSizeCreateInfo VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT; 14559 14560 14561 14562 // VK_AMD_shader_core_properties2 is a preprocessor guard. Do not pass it to API calls. 14563 #define VK_AMD_shader_core_properties2 1 14564 #define VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION 1 14565 #define VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME "VK_AMD_shader_core_properties2" 14566 14567 typedef enum VkShaderCorePropertiesFlagBitsAMD { 14568 VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF 14569 } VkShaderCorePropertiesFlagBitsAMD; 14570 typedef VkFlags VkShaderCorePropertiesFlagsAMD; 14571 typedef struct VkPhysicalDeviceShaderCoreProperties2AMD { 14572 VkStructureType sType; 14573 void* pNext; 14574 VkShaderCorePropertiesFlagsAMD shaderCoreFeatures; 14575 uint32_t activeComputeUnitCount; 14576 } VkPhysicalDeviceShaderCoreProperties2AMD; 14577 14578 14579 14580 // VK_AMD_device_coherent_memory is a preprocessor guard. Do not pass it to API calls. 14581 #define VK_AMD_device_coherent_memory 1 14582 #define VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION 1 14583 #define VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME "VK_AMD_device_coherent_memory" 14584 typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD { 14585 VkStructureType sType; 14586 void* pNext; 14587 VkBool32 deviceCoherentMemory; 14588 } VkPhysicalDeviceCoherentMemoryFeaturesAMD; 14589 14590 14591 14592 // VK_EXT_shader_image_atomic_int64 is a preprocessor guard. Do not pass it to API calls. 14593 #define VK_EXT_shader_image_atomic_int64 1 14594 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION 1 14595 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME "VK_EXT_shader_image_atomic_int64" 14596 typedef struct VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT { 14597 VkStructureType sType; 14598 void* pNext; 14599 VkBool32 shaderImageInt64Atomics; 14600 VkBool32 sparseImageInt64Atomics; 14601 } VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT; 14602 14603 14604 14605 // VK_EXT_memory_budget is a preprocessor guard. Do not pass it to API calls. 14606 #define VK_EXT_memory_budget 1 14607 #define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1 14608 #define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget" 14609 typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT { 14610 VkStructureType sType; 14611 void* pNext; 14612 VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS]; 14613 VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS]; 14614 } VkPhysicalDeviceMemoryBudgetPropertiesEXT; 14615 14616 14617 14618 // VK_EXT_memory_priority is a preprocessor guard. Do not pass it to API calls. 14619 #define VK_EXT_memory_priority 1 14620 #define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1 14621 #define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority" 14622 typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT { 14623 VkStructureType sType; 14624 void* pNext; 14625 VkBool32 memoryPriority; 14626 } VkPhysicalDeviceMemoryPriorityFeaturesEXT; 14627 14628 typedef struct VkMemoryPriorityAllocateInfoEXT { 14629 VkStructureType sType; 14630 const void* pNext; 14631 float priority; 14632 } VkMemoryPriorityAllocateInfoEXT; 14633 14634 14635 14636 // VK_NV_dedicated_allocation_image_aliasing is a preprocessor guard. Do not pass it to API calls. 14637 #define VK_NV_dedicated_allocation_image_aliasing 1 14638 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION 1 14639 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing" 14640 typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV { 14641 VkStructureType sType; 14642 void* pNext; 14643 VkBool32 dedicatedAllocationImageAliasing; 14644 } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV; 14645 14646 14647 14648 // VK_EXT_buffer_device_address is a preprocessor guard. Do not pass it to API calls. 14649 #define VK_EXT_buffer_device_address 1 14650 #define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2 14651 #define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address" 14652 typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT { 14653 VkStructureType sType; 14654 void* pNext; 14655 VkBool32 bufferDeviceAddress; 14656 VkBool32 bufferDeviceAddressCaptureReplay; 14657 VkBool32 bufferDeviceAddressMultiDevice; 14658 } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT; 14659 14660 typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT; 14661 14662 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoEXT; 14663 14664 typedef struct VkBufferDeviceAddressCreateInfoEXT { 14665 VkStructureType sType; 14666 const void* pNext; 14667 VkDeviceAddress deviceAddress; 14668 } VkBufferDeviceAddressCreateInfoEXT; 14669 14670 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressEXT)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 14671 14672 #ifndef VK_NO_PROTOTYPES 14673 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressEXT( 14674 VkDevice device, 14675 const VkBufferDeviceAddressInfo* pInfo); 14676 #endif 14677 14678 14679 // VK_EXT_tooling_info is a preprocessor guard. Do not pass it to API calls. 14680 #define VK_EXT_tooling_info 1 14681 #define VK_EXT_TOOLING_INFO_SPEC_VERSION 1 14682 #define VK_EXT_TOOLING_INFO_EXTENSION_NAME "VK_EXT_tooling_info" 14683 typedef VkToolPurposeFlagBits VkToolPurposeFlagBitsEXT; 14684 14685 typedef VkToolPurposeFlags VkToolPurposeFlagsEXT; 14686 14687 typedef VkPhysicalDeviceToolProperties VkPhysicalDeviceToolPropertiesEXT; 14688 14689 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolPropertiesEXT)(VkPhysicalDevice physicalDevice, uint32_t* pToolCount, VkPhysicalDeviceToolProperties* pToolProperties); 14690 14691 #ifndef VK_NO_PROTOTYPES 14692 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolPropertiesEXT( 14693 VkPhysicalDevice physicalDevice, 14694 uint32_t* pToolCount, 14695 VkPhysicalDeviceToolProperties* pToolProperties); 14696 #endif 14697 14698 14699 // VK_EXT_separate_stencil_usage is a preprocessor guard. Do not pass it to API calls. 14700 #define VK_EXT_separate_stencil_usage 1 14701 #define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1 14702 #define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage" 14703 typedef VkImageStencilUsageCreateInfo VkImageStencilUsageCreateInfoEXT; 14704 14705 14706 14707 // VK_EXT_validation_features is a preprocessor guard. Do not pass it to API calls. 14708 #define VK_EXT_validation_features 1 14709 #define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 6 14710 #define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features" 14711 14712 typedef enum VkValidationFeatureEnableEXT { 14713 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0, 14714 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1, 14715 VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2, 14716 VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3, 14717 VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT = 4, 14718 VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF 14719 } VkValidationFeatureEnableEXT; 14720 14721 typedef enum VkValidationFeatureDisableEXT { 14722 VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0, 14723 VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1, 14724 VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2, 14725 VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3, 14726 VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4, 14727 VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5, 14728 VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6, 14729 VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT = 7, 14730 VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF 14731 } VkValidationFeatureDisableEXT; 14732 typedef struct VkValidationFeaturesEXT { 14733 VkStructureType sType; 14734 const void* pNext; 14735 uint32_t enabledValidationFeatureCount; 14736 const VkValidationFeatureEnableEXT* pEnabledValidationFeatures; 14737 uint32_t disabledValidationFeatureCount; 14738 const VkValidationFeatureDisableEXT* pDisabledValidationFeatures; 14739 } VkValidationFeaturesEXT; 14740 14741 14742 14743 // VK_NV_cooperative_matrix is a preprocessor guard. Do not pass it to API calls. 14744 #define VK_NV_cooperative_matrix 1 14745 #define VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION 1 14746 #define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix" 14747 typedef VkComponentTypeKHR VkComponentTypeNV; 14748 14749 typedef VkScopeKHR VkScopeNV; 14750 14751 typedef struct VkCooperativeMatrixPropertiesNV { 14752 VkStructureType sType; 14753 void* pNext; 14754 uint32_t MSize; 14755 uint32_t NSize; 14756 uint32_t KSize; 14757 VkComponentTypeNV AType; 14758 VkComponentTypeNV BType; 14759 VkComponentTypeNV CType; 14760 VkComponentTypeNV DType; 14761 VkScopeNV scope; 14762 } VkCooperativeMatrixPropertiesNV; 14763 14764 typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV { 14765 VkStructureType sType; 14766 void* pNext; 14767 VkBool32 cooperativeMatrix; 14768 VkBool32 cooperativeMatrixRobustBufferAccess; 14769 } VkPhysicalDeviceCooperativeMatrixFeaturesNV; 14770 14771 typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV { 14772 VkStructureType sType; 14773 void* pNext; 14774 VkShaderStageFlags cooperativeMatrixSupportedStages; 14775 } VkPhysicalDeviceCooperativeMatrixPropertiesNV; 14776 14777 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties); 14778 14779 #ifndef VK_NO_PROTOTYPES 14780 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( 14781 VkPhysicalDevice physicalDevice, 14782 uint32_t* pPropertyCount, 14783 VkCooperativeMatrixPropertiesNV* pProperties); 14784 #endif 14785 14786 14787 // VK_NV_coverage_reduction_mode is a preprocessor guard. Do not pass it to API calls. 14788 #define VK_NV_coverage_reduction_mode 1 14789 #define VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION 1 14790 #define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode" 14791 14792 typedef enum VkCoverageReductionModeNV { 14793 VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0, 14794 VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1, 14795 VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV = 0x7FFFFFFF 14796 } VkCoverageReductionModeNV; 14797 typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV; 14798 typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV { 14799 VkStructureType sType; 14800 void* pNext; 14801 VkBool32 coverageReductionMode; 14802 } VkPhysicalDeviceCoverageReductionModeFeaturesNV; 14803 14804 typedef struct VkPipelineCoverageReductionStateCreateInfoNV { 14805 VkStructureType sType; 14806 const void* pNext; 14807 VkPipelineCoverageReductionStateCreateFlagsNV flags; 14808 VkCoverageReductionModeNV coverageReductionMode; 14809 } VkPipelineCoverageReductionStateCreateInfoNV; 14810 14811 typedef struct VkFramebufferMixedSamplesCombinationNV { 14812 VkStructureType sType; 14813 void* pNext; 14814 VkCoverageReductionModeNV coverageReductionMode; 14815 VkSampleCountFlagBits rasterizationSamples; 14816 VkSampleCountFlags depthStencilSamples; 14817 VkSampleCountFlags colorSamples; 14818 } VkFramebufferMixedSamplesCombinationNV; 14819 14820 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)(VkPhysicalDevice physicalDevice, uint32_t* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations); 14821 14822 #ifndef VK_NO_PROTOTYPES 14823 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( 14824 VkPhysicalDevice physicalDevice, 14825 uint32_t* pCombinationCount, 14826 VkFramebufferMixedSamplesCombinationNV* pCombinations); 14827 #endif 14828 14829 14830 // VK_EXT_fragment_shader_interlock is a preprocessor guard. Do not pass it to API calls. 14831 #define VK_EXT_fragment_shader_interlock 1 14832 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1 14833 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock" 14834 typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT { 14835 VkStructureType sType; 14836 void* pNext; 14837 VkBool32 fragmentShaderSampleInterlock; 14838 VkBool32 fragmentShaderPixelInterlock; 14839 VkBool32 fragmentShaderShadingRateInterlock; 14840 } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT; 14841 14842 14843 14844 // VK_EXT_ycbcr_image_arrays is a preprocessor guard. Do not pass it to API calls. 14845 #define VK_EXT_ycbcr_image_arrays 1 14846 #define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1 14847 #define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays" 14848 typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT { 14849 VkStructureType sType; 14850 void* pNext; 14851 VkBool32 ycbcrImageArrays; 14852 } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT; 14853 14854 14855 14856 // VK_EXT_provoking_vertex is a preprocessor guard. Do not pass it to API calls. 14857 #define VK_EXT_provoking_vertex 1 14858 #define VK_EXT_PROVOKING_VERTEX_SPEC_VERSION 1 14859 #define VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME "VK_EXT_provoking_vertex" 14860 14861 typedef enum VkProvokingVertexModeEXT { 14862 VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT = 0, 14863 VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT = 1, 14864 VK_PROVOKING_VERTEX_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 14865 } VkProvokingVertexModeEXT; 14866 typedef struct VkPhysicalDeviceProvokingVertexFeaturesEXT { 14867 VkStructureType sType; 14868 void* pNext; 14869 VkBool32 provokingVertexLast; 14870 VkBool32 transformFeedbackPreservesProvokingVertex; 14871 } VkPhysicalDeviceProvokingVertexFeaturesEXT; 14872 14873 typedef struct VkPhysicalDeviceProvokingVertexPropertiesEXT { 14874 VkStructureType sType; 14875 void* pNext; 14876 VkBool32 provokingVertexModePerPipeline; 14877 VkBool32 transformFeedbackPreservesTriangleFanProvokingVertex; 14878 } VkPhysicalDeviceProvokingVertexPropertiesEXT; 14879 14880 typedef struct VkPipelineRasterizationProvokingVertexStateCreateInfoEXT { 14881 VkStructureType sType; 14882 const void* pNext; 14883 VkProvokingVertexModeEXT provokingVertexMode; 14884 } VkPipelineRasterizationProvokingVertexStateCreateInfoEXT; 14885 14886 14887 14888 // VK_EXT_headless_surface is a preprocessor guard. Do not pass it to API calls. 14889 #define VK_EXT_headless_surface 1 14890 #define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 1 14891 #define VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME "VK_EXT_headless_surface" 14892 typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT; 14893 typedef struct VkHeadlessSurfaceCreateInfoEXT { 14894 VkStructureType sType; 14895 const void* pNext; 14896 VkHeadlessSurfaceCreateFlagsEXT flags; 14897 } VkHeadlessSurfaceCreateInfoEXT; 14898 14899 typedef VkResult (VKAPI_PTR *PFN_vkCreateHeadlessSurfaceEXT)(VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); 14900 14901 #ifndef VK_NO_PROTOTYPES 14902 VKAPI_ATTR VkResult VKAPI_CALL vkCreateHeadlessSurfaceEXT( 14903 VkInstance instance, 14904 const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, 14905 const VkAllocationCallbacks* pAllocator, 14906 VkSurfaceKHR* pSurface); 14907 #endif 14908 14909 14910 // VK_EXT_line_rasterization is a preprocessor guard. Do not pass it to API calls. 14911 #define VK_EXT_line_rasterization 1 14912 #define VK_EXT_LINE_RASTERIZATION_SPEC_VERSION 1 14913 #define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization" 14914 typedef VkLineRasterizationModeKHR VkLineRasterizationModeEXT; 14915 14916 typedef VkPhysicalDeviceLineRasterizationFeaturesKHR VkPhysicalDeviceLineRasterizationFeaturesEXT; 14917 14918 typedef VkPhysicalDeviceLineRasterizationPropertiesKHR VkPhysicalDeviceLineRasterizationPropertiesEXT; 14919 14920 typedef VkPipelineRasterizationLineStateCreateInfoKHR VkPipelineRasterizationLineStateCreateInfoEXT; 14921 14922 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEXT)(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern); 14923 14924 #ifndef VK_NO_PROTOTYPES 14925 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEXT( 14926 VkCommandBuffer commandBuffer, 14927 uint32_t lineStippleFactor, 14928 uint16_t lineStipplePattern); 14929 #endif 14930 14931 14932 // VK_EXT_shader_atomic_float is a preprocessor guard. Do not pass it to API calls. 14933 #define VK_EXT_shader_atomic_float 1 14934 #define VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION 1 14935 #define VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME "VK_EXT_shader_atomic_float" 14936 typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT { 14937 VkStructureType sType; 14938 void* pNext; 14939 VkBool32 shaderBufferFloat32Atomics; 14940 VkBool32 shaderBufferFloat32AtomicAdd; 14941 VkBool32 shaderBufferFloat64Atomics; 14942 VkBool32 shaderBufferFloat64AtomicAdd; 14943 VkBool32 shaderSharedFloat32Atomics; 14944 VkBool32 shaderSharedFloat32AtomicAdd; 14945 VkBool32 shaderSharedFloat64Atomics; 14946 VkBool32 shaderSharedFloat64AtomicAdd; 14947 VkBool32 shaderImageFloat32Atomics; 14948 VkBool32 shaderImageFloat32AtomicAdd; 14949 VkBool32 sparseImageFloat32Atomics; 14950 VkBool32 sparseImageFloat32AtomicAdd; 14951 } VkPhysicalDeviceShaderAtomicFloatFeaturesEXT; 14952 14953 14954 14955 // VK_EXT_host_query_reset is a preprocessor guard. Do not pass it to API calls. 14956 #define VK_EXT_host_query_reset 1 14957 #define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1 14958 #define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset" 14959 typedef VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeaturesEXT; 14960 14961 typedef void (VKAPI_PTR *PFN_vkResetQueryPoolEXT)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount); 14962 14963 #ifndef VK_NO_PROTOTYPES 14964 VKAPI_ATTR void VKAPI_CALL vkResetQueryPoolEXT( 14965 VkDevice device, 14966 VkQueryPool queryPool, 14967 uint32_t firstQuery, 14968 uint32_t queryCount); 14969 #endif 14970 14971 14972 // VK_EXT_index_type_uint8 is a preprocessor guard. Do not pass it to API calls. 14973 #define VK_EXT_index_type_uint8 1 14974 #define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1 14975 #define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8" 14976 typedef VkPhysicalDeviceIndexTypeUint8FeaturesKHR VkPhysicalDeviceIndexTypeUint8FeaturesEXT; 14977 14978 14979 14980 // VK_EXT_extended_dynamic_state is a preprocessor guard. Do not pass it to API calls. 14981 #define VK_EXT_extended_dynamic_state 1 14982 #define VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION 1 14983 #define VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_extended_dynamic_state" 14984 typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT { 14985 VkStructureType sType; 14986 void* pNext; 14987 VkBool32 extendedDynamicState; 14988 } VkPhysicalDeviceExtendedDynamicStateFeaturesEXT; 14989 14990 typedef void (VKAPI_PTR *PFN_vkCmdSetCullModeEXT)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode); 14991 typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFaceEXT)(VkCommandBuffer commandBuffer, VkFrontFace frontFace); 14992 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopologyEXT)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology); 14993 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCountEXT)(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports); 14994 typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCountEXT)(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors); 14995 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); 14996 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable); 14997 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable); 14998 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOpEXT)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp); 14999 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable); 15000 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable); 15001 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOpEXT)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp); 15002 15003 #ifndef VK_NO_PROTOTYPES 15004 VKAPI_ATTR void VKAPI_CALL vkCmdSetCullModeEXT( 15005 VkCommandBuffer commandBuffer, 15006 VkCullModeFlags cullMode); 15007 15008 VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFaceEXT( 15009 VkCommandBuffer commandBuffer, 15010 VkFrontFace frontFace); 15011 15012 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopologyEXT( 15013 VkCommandBuffer commandBuffer, 15014 VkPrimitiveTopology primitiveTopology); 15015 15016 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCountEXT( 15017 VkCommandBuffer commandBuffer, 15018 uint32_t viewportCount, 15019 const VkViewport* pViewports); 15020 15021 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCountEXT( 15022 VkCommandBuffer commandBuffer, 15023 uint32_t scissorCount, 15024 const VkRect2D* pScissors); 15025 15026 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2EXT( 15027 VkCommandBuffer commandBuffer, 15028 uint32_t firstBinding, 15029 uint32_t bindingCount, 15030 const VkBuffer* pBuffers, 15031 const VkDeviceSize* pOffsets, 15032 const VkDeviceSize* pSizes, 15033 const VkDeviceSize* pStrides); 15034 15035 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnableEXT( 15036 VkCommandBuffer commandBuffer, 15037 VkBool32 depthTestEnable); 15038 15039 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnableEXT( 15040 VkCommandBuffer commandBuffer, 15041 VkBool32 depthWriteEnable); 15042 15043 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOpEXT( 15044 VkCommandBuffer commandBuffer, 15045 VkCompareOp depthCompareOp); 15046 15047 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnableEXT( 15048 VkCommandBuffer commandBuffer, 15049 VkBool32 depthBoundsTestEnable); 15050 15051 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnableEXT( 15052 VkCommandBuffer commandBuffer, 15053 VkBool32 stencilTestEnable); 15054 15055 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOpEXT( 15056 VkCommandBuffer commandBuffer, 15057 VkStencilFaceFlags faceMask, 15058 VkStencilOp failOp, 15059 VkStencilOp passOp, 15060 VkStencilOp depthFailOp, 15061 VkCompareOp compareOp); 15062 #endif 15063 15064 15065 // VK_EXT_host_image_copy is a preprocessor guard. Do not pass it to API calls. 15066 #define VK_EXT_host_image_copy 1 15067 #define VK_EXT_HOST_IMAGE_COPY_SPEC_VERSION 1 15068 #define VK_EXT_HOST_IMAGE_COPY_EXTENSION_NAME "VK_EXT_host_image_copy" 15069 15070 typedef enum VkHostImageCopyFlagBitsEXT { 15071 VK_HOST_IMAGE_COPY_MEMCPY_EXT = 0x00000001, 15072 VK_HOST_IMAGE_COPY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 15073 } VkHostImageCopyFlagBitsEXT; 15074 typedef VkFlags VkHostImageCopyFlagsEXT; 15075 typedef struct VkPhysicalDeviceHostImageCopyFeaturesEXT { 15076 VkStructureType sType; 15077 void* pNext; 15078 VkBool32 hostImageCopy; 15079 } VkPhysicalDeviceHostImageCopyFeaturesEXT; 15080 15081 typedef struct VkPhysicalDeviceHostImageCopyPropertiesEXT { 15082 VkStructureType sType; 15083 void* pNext; 15084 uint32_t copySrcLayoutCount; 15085 VkImageLayout* pCopySrcLayouts; 15086 uint32_t copyDstLayoutCount; 15087 VkImageLayout* pCopyDstLayouts; 15088 uint8_t optimalTilingLayoutUUID[VK_UUID_SIZE]; 15089 VkBool32 identicalMemoryTypeRequirements; 15090 } VkPhysicalDeviceHostImageCopyPropertiesEXT; 15091 15092 typedef struct VkMemoryToImageCopyEXT { 15093 VkStructureType sType; 15094 const void* pNext; 15095 const void* pHostPointer; 15096 uint32_t memoryRowLength; 15097 uint32_t memoryImageHeight; 15098 VkImageSubresourceLayers imageSubresource; 15099 VkOffset3D imageOffset; 15100 VkExtent3D imageExtent; 15101 } VkMemoryToImageCopyEXT; 15102 15103 typedef struct VkImageToMemoryCopyEXT { 15104 VkStructureType sType; 15105 const void* pNext; 15106 void* pHostPointer; 15107 uint32_t memoryRowLength; 15108 uint32_t memoryImageHeight; 15109 VkImageSubresourceLayers imageSubresource; 15110 VkOffset3D imageOffset; 15111 VkExtent3D imageExtent; 15112 } VkImageToMemoryCopyEXT; 15113 15114 typedef struct VkCopyMemoryToImageInfoEXT { 15115 VkStructureType sType; 15116 const void* pNext; 15117 VkHostImageCopyFlagsEXT flags; 15118 VkImage dstImage; 15119 VkImageLayout dstImageLayout; 15120 uint32_t regionCount; 15121 const VkMemoryToImageCopyEXT* pRegions; 15122 } VkCopyMemoryToImageInfoEXT; 15123 15124 typedef struct VkCopyImageToMemoryInfoEXT { 15125 VkStructureType sType; 15126 const void* pNext; 15127 VkHostImageCopyFlagsEXT flags; 15128 VkImage srcImage; 15129 VkImageLayout srcImageLayout; 15130 uint32_t regionCount; 15131 const VkImageToMemoryCopyEXT* pRegions; 15132 } VkCopyImageToMemoryInfoEXT; 15133 15134 typedef struct VkCopyImageToImageInfoEXT { 15135 VkStructureType sType; 15136 const void* pNext; 15137 VkHostImageCopyFlagsEXT flags; 15138 VkImage srcImage; 15139 VkImageLayout srcImageLayout; 15140 VkImage dstImage; 15141 VkImageLayout dstImageLayout; 15142 uint32_t regionCount; 15143 const VkImageCopy2* pRegions; 15144 } VkCopyImageToImageInfoEXT; 15145 15146 typedef struct VkHostImageLayoutTransitionInfoEXT { 15147 VkStructureType sType; 15148 const void* pNext; 15149 VkImage image; 15150 VkImageLayout oldLayout; 15151 VkImageLayout newLayout; 15152 VkImageSubresourceRange subresourceRange; 15153 } VkHostImageLayoutTransitionInfoEXT; 15154 15155 typedef struct VkSubresourceHostMemcpySizeEXT { 15156 VkStructureType sType; 15157 void* pNext; 15158 VkDeviceSize size; 15159 } VkSubresourceHostMemcpySizeEXT; 15160 15161 typedef struct VkHostImageCopyDevicePerformanceQueryEXT { 15162 VkStructureType sType; 15163 void* pNext; 15164 VkBool32 optimalDeviceAccess; 15165 VkBool32 identicalMemoryLayout; 15166 } VkHostImageCopyDevicePerformanceQueryEXT; 15167 15168 typedef VkSubresourceLayout2KHR VkSubresourceLayout2EXT; 15169 15170 typedef VkImageSubresource2KHR VkImageSubresource2EXT; 15171 15172 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToImageEXT)(VkDevice device, const VkCopyMemoryToImageInfoEXT* pCopyMemoryToImageInfo); 15173 typedef VkResult (VKAPI_PTR *PFN_vkCopyImageToMemoryEXT)(VkDevice device, const VkCopyImageToMemoryInfoEXT* pCopyImageToMemoryInfo); 15174 typedef VkResult (VKAPI_PTR *PFN_vkCopyImageToImageEXT)(VkDevice device, const VkCopyImageToImageInfoEXT* pCopyImageToImageInfo); 15175 typedef VkResult (VKAPI_PTR *PFN_vkTransitionImageLayoutEXT)(VkDevice device, uint32_t transitionCount, const VkHostImageLayoutTransitionInfoEXT* pTransitions); 15176 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout2EXT)(VkDevice device, VkImage image, const VkImageSubresource2KHR* pSubresource, VkSubresourceLayout2KHR* pLayout); 15177 15178 #ifndef VK_NO_PROTOTYPES 15179 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToImageEXT( 15180 VkDevice device, 15181 const VkCopyMemoryToImageInfoEXT* pCopyMemoryToImageInfo); 15182 15183 VKAPI_ATTR VkResult VKAPI_CALL vkCopyImageToMemoryEXT( 15184 VkDevice device, 15185 const VkCopyImageToMemoryInfoEXT* pCopyImageToMemoryInfo); 15186 15187 VKAPI_ATTR VkResult VKAPI_CALL vkCopyImageToImageEXT( 15188 VkDevice device, 15189 const VkCopyImageToImageInfoEXT* pCopyImageToImageInfo); 15190 15191 VKAPI_ATTR VkResult VKAPI_CALL vkTransitionImageLayoutEXT( 15192 VkDevice device, 15193 uint32_t transitionCount, 15194 const VkHostImageLayoutTransitionInfoEXT* pTransitions); 15195 15196 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout2EXT( 15197 VkDevice device, 15198 VkImage image, 15199 const VkImageSubresource2KHR* pSubresource, 15200 VkSubresourceLayout2KHR* pLayout); 15201 #endif 15202 15203 15204 // VK_EXT_map_memory_placed is a preprocessor guard. Do not pass it to API calls. 15205 #define VK_EXT_map_memory_placed 1 15206 #define VK_EXT_MAP_MEMORY_PLACED_SPEC_VERSION 1 15207 #define VK_EXT_MAP_MEMORY_PLACED_EXTENSION_NAME "VK_EXT_map_memory_placed" 15208 typedef struct VkPhysicalDeviceMapMemoryPlacedFeaturesEXT { 15209 VkStructureType sType; 15210 void* pNext; 15211 VkBool32 memoryMapPlaced; 15212 VkBool32 memoryMapRangePlaced; 15213 VkBool32 memoryUnmapReserve; 15214 } VkPhysicalDeviceMapMemoryPlacedFeaturesEXT; 15215 15216 typedef struct VkPhysicalDeviceMapMemoryPlacedPropertiesEXT { 15217 VkStructureType sType; 15218 void* pNext; 15219 VkDeviceSize minPlacedMemoryMapAlignment; 15220 } VkPhysicalDeviceMapMemoryPlacedPropertiesEXT; 15221 15222 typedef struct VkMemoryMapPlacedInfoEXT { 15223 VkStructureType sType; 15224 const void* pNext; 15225 void* pPlacedAddress; 15226 } VkMemoryMapPlacedInfoEXT; 15227 15228 15229 15230 // VK_EXT_shader_atomic_float2 is a preprocessor guard. Do not pass it to API calls. 15231 #define VK_EXT_shader_atomic_float2 1 15232 #define VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION 1 15233 #define VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME "VK_EXT_shader_atomic_float2" 15234 typedef struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT { 15235 VkStructureType sType; 15236 void* pNext; 15237 VkBool32 shaderBufferFloat16Atomics; 15238 VkBool32 shaderBufferFloat16AtomicAdd; 15239 VkBool32 shaderBufferFloat16AtomicMinMax; 15240 VkBool32 shaderBufferFloat32AtomicMinMax; 15241 VkBool32 shaderBufferFloat64AtomicMinMax; 15242 VkBool32 shaderSharedFloat16Atomics; 15243 VkBool32 shaderSharedFloat16AtomicAdd; 15244 VkBool32 shaderSharedFloat16AtomicMinMax; 15245 VkBool32 shaderSharedFloat32AtomicMinMax; 15246 VkBool32 shaderSharedFloat64AtomicMinMax; 15247 VkBool32 shaderImageFloat32AtomicMinMax; 15248 VkBool32 sparseImageFloat32AtomicMinMax; 15249 } VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT; 15250 15251 15252 15253 // VK_EXT_surface_maintenance1 is a preprocessor guard. Do not pass it to API calls. 15254 #define VK_EXT_surface_maintenance1 1 15255 #define VK_EXT_SURFACE_MAINTENANCE_1_SPEC_VERSION 1 15256 #define VK_EXT_SURFACE_MAINTENANCE_1_EXTENSION_NAME "VK_EXT_surface_maintenance1" 15257 15258 typedef enum VkPresentScalingFlagBitsEXT { 15259 VK_PRESENT_SCALING_ONE_TO_ONE_BIT_EXT = 0x00000001, 15260 VK_PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_EXT = 0x00000002, 15261 VK_PRESENT_SCALING_STRETCH_BIT_EXT = 0x00000004, 15262 VK_PRESENT_SCALING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 15263 } VkPresentScalingFlagBitsEXT; 15264 typedef VkFlags VkPresentScalingFlagsEXT; 15265 15266 typedef enum VkPresentGravityFlagBitsEXT { 15267 VK_PRESENT_GRAVITY_MIN_BIT_EXT = 0x00000001, 15268 VK_PRESENT_GRAVITY_MAX_BIT_EXT = 0x00000002, 15269 VK_PRESENT_GRAVITY_CENTERED_BIT_EXT = 0x00000004, 15270 VK_PRESENT_GRAVITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 15271 } VkPresentGravityFlagBitsEXT; 15272 typedef VkFlags VkPresentGravityFlagsEXT; 15273 typedef struct VkSurfacePresentModeEXT { 15274 VkStructureType sType; 15275 void* pNext; 15276 VkPresentModeKHR presentMode; 15277 } VkSurfacePresentModeEXT; 15278 15279 typedef struct VkSurfacePresentScalingCapabilitiesEXT { 15280 VkStructureType sType; 15281 void* pNext; 15282 VkPresentScalingFlagsEXT supportedPresentScaling; 15283 VkPresentGravityFlagsEXT supportedPresentGravityX; 15284 VkPresentGravityFlagsEXT supportedPresentGravityY; 15285 VkExtent2D minScaledImageExtent; 15286 VkExtent2D maxScaledImageExtent; 15287 } VkSurfacePresentScalingCapabilitiesEXT; 15288 15289 typedef struct VkSurfacePresentModeCompatibilityEXT { 15290 VkStructureType sType; 15291 void* pNext; 15292 uint32_t presentModeCount; 15293 VkPresentModeKHR* pPresentModes; 15294 } VkSurfacePresentModeCompatibilityEXT; 15295 15296 15297 15298 // VK_EXT_swapchain_maintenance1 is a preprocessor guard. Do not pass it to API calls. 15299 #define VK_EXT_swapchain_maintenance1 1 15300 #define VK_EXT_SWAPCHAIN_MAINTENANCE_1_SPEC_VERSION 1 15301 #define VK_EXT_SWAPCHAIN_MAINTENANCE_1_EXTENSION_NAME "VK_EXT_swapchain_maintenance1" 15302 typedef struct VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT { 15303 VkStructureType sType; 15304 void* pNext; 15305 VkBool32 swapchainMaintenance1; 15306 } VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT; 15307 15308 typedef struct VkSwapchainPresentFenceInfoEXT { 15309 VkStructureType sType; 15310 const void* pNext; 15311 uint32_t swapchainCount; 15312 const VkFence* pFences; 15313 } VkSwapchainPresentFenceInfoEXT; 15314 15315 typedef struct VkSwapchainPresentModesCreateInfoEXT { 15316 VkStructureType sType; 15317 const void* pNext; 15318 uint32_t presentModeCount; 15319 const VkPresentModeKHR* pPresentModes; 15320 } VkSwapchainPresentModesCreateInfoEXT; 15321 15322 typedef struct VkSwapchainPresentModeInfoEXT { 15323 VkStructureType sType; 15324 const void* pNext; 15325 uint32_t swapchainCount; 15326 const VkPresentModeKHR* pPresentModes; 15327 } VkSwapchainPresentModeInfoEXT; 15328 15329 typedef struct VkSwapchainPresentScalingCreateInfoEXT { 15330 VkStructureType sType; 15331 const void* pNext; 15332 VkPresentScalingFlagsEXT scalingBehavior; 15333 VkPresentGravityFlagsEXT presentGravityX; 15334 VkPresentGravityFlagsEXT presentGravityY; 15335 } VkSwapchainPresentScalingCreateInfoEXT; 15336 15337 typedef struct VkReleaseSwapchainImagesInfoEXT { 15338 VkStructureType sType; 15339 const void* pNext; 15340 VkSwapchainKHR swapchain; 15341 uint32_t imageIndexCount; 15342 const uint32_t* pImageIndices; 15343 } VkReleaseSwapchainImagesInfoEXT; 15344 15345 typedef VkResult (VKAPI_PTR *PFN_vkReleaseSwapchainImagesEXT)(VkDevice device, const VkReleaseSwapchainImagesInfoEXT* pReleaseInfo); 15346 15347 #ifndef VK_NO_PROTOTYPES 15348 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseSwapchainImagesEXT( 15349 VkDevice device, 15350 const VkReleaseSwapchainImagesInfoEXT* pReleaseInfo); 15351 #endif 15352 15353 15354 // VK_EXT_shader_demote_to_helper_invocation is a preprocessor guard. Do not pass it to API calls. 15355 #define VK_EXT_shader_demote_to_helper_invocation 1 15356 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1 15357 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation" 15358 typedef VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT; 15359 15360 15361 15362 // VK_NV_device_generated_commands is a preprocessor guard. Do not pass it to API calls. 15363 #define VK_NV_device_generated_commands 1 15364 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNV) 15365 #define VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3 15366 #define VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NV_device_generated_commands" 15367 15368 typedef enum VkIndirectCommandsTokenTypeNV { 15369 VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV = 0, 15370 VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV = 1, 15371 VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV = 2, 15372 VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV = 3, 15373 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV = 4, 15374 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV = 5, 15375 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6, 15376 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7, 15377 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV = 1000328000, 15378 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NV = 1000428003, 15379 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NV = 1000428004, 15380 VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 15381 } VkIndirectCommandsTokenTypeNV; 15382 15383 typedef enum VkIndirectStateFlagBitsNV { 15384 VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV = 0x00000001, 15385 VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 15386 } VkIndirectStateFlagBitsNV; 15387 typedef VkFlags VkIndirectStateFlagsNV; 15388 15389 typedef enum VkIndirectCommandsLayoutUsageFlagBitsNV { 15390 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV = 0x00000001, 15391 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV = 0x00000002, 15392 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV = 0x00000004, 15393 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 15394 } VkIndirectCommandsLayoutUsageFlagBitsNV; 15395 typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNV; 15396 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV { 15397 VkStructureType sType; 15398 void* pNext; 15399 uint32_t maxGraphicsShaderGroupCount; 15400 uint32_t maxIndirectSequenceCount; 15401 uint32_t maxIndirectCommandsTokenCount; 15402 uint32_t maxIndirectCommandsStreamCount; 15403 uint32_t maxIndirectCommandsTokenOffset; 15404 uint32_t maxIndirectCommandsStreamStride; 15405 uint32_t minSequencesCountBufferOffsetAlignment; 15406 uint32_t minSequencesIndexBufferOffsetAlignment; 15407 uint32_t minIndirectCommandsBufferOffsetAlignment; 15408 } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV; 15409 15410 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV { 15411 VkStructureType sType; 15412 void* pNext; 15413 VkBool32 deviceGeneratedCommands; 15414 } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV; 15415 15416 typedef struct VkGraphicsShaderGroupCreateInfoNV { 15417 VkStructureType sType; 15418 const void* pNext; 15419 uint32_t stageCount; 15420 const VkPipelineShaderStageCreateInfo* pStages; 15421 const VkPipelineVertexInputStateCreateInfo* pVertexInputState; 15422 const VkPipelineTessellationStateCreateInfo* pTessellationState; 15423 } VkGraphicsShaderGroupCreateInfoNV; 15424 15425 typedef struct VkGraphicsPipelineShaderGroupsCreateInfoNV { 15426 VkStructureType sType; 15427 const void* pNext; 15428 uint32_t groupCount; 15429 const VkGraphicsShaderGroupCreateInfoNV* pGroups; 15430 uint32_t pipelineCount; 15431 const VkPipeline* pPipelines; 15432 } VkGraphicsPipelineShaderGroupsCreateInfoNV; 15433 15434 typedef struct VkBindShaderGroupIndirectCommandNV { 15435 uint32_t groupIndex; 15436 } VkBindShaderGroupIndirectCommandNV; 15437 15438 typedef struct VkBindIndexBufferIndirectCommandNV { 15439 VkDeviceAddress bufferAddress; 15440 uint32_t size; 15441 VkIndexType indexType; 15442 } VkBindIndexBufferIndirectCommandNV; 15443 15444 typedef struct VkBindVertexBufferIndirectCommandNV { 15445 VkDeviceAddress bufferAddress; 15446 uint32_t size; 15447 uint32_t stride; 15448 } VkBindVertexBufferIndirectCommandNV; 15449 15450 typedef struct VkSetStateFlagsIndirectCommandNV { 15451 uint32_t data; 15452 } VkSetStateFlagsIndirectCommandNV; 15453 15454 typedef struct VkIndirectCommandsStreamNV { 15455 VkBuffer buffer; 15456 VkDeviceSize offset; 15457 } VkIndirectCommandsStreamNV; 15458 15459 typedef struct VkIndirectCommandsLayoutTokenNV { 15460 VkStructureType sType; 15461 const void* pNext; 15462 VkIndirectCommandsTokenTypeNV tokenType; 15463 uint32_t stream; 15464 uint32_t offset; 15465 uint32_t vertexBindingUnit; 15466 VkBool32 vertexDynamicStride; 15467 VkPipelineLayout pushconstantPipelineLayout; 15468 VkShaderStageFlags pushconstantShaderStageFlags; 15469 uint32_t pushconstantOffset; 15470 uint32_t pushconstantSize; 15471 VkIndirectStateFlagsNV indirectStateFlags; 15472 uint32_t indexTypeCount; 15473 const VkIndexType* pIndexTypes; 15474 const uint32_t* pIndexTypeValues; 15475 } VkIndirectCommandsLayoutTokenNV; 15476 15477 typedef struct VkIndirectCommandsLayoutCreateInfoNV { 15478 VkStructureType sType; 15479 const void* pNext; 15480 VkIndirectCommandsLayoutUsageFlagsNV flags; 15481 VkPipelineBindPoint pipelineBindPoint; 15482 uint32_t tokenCount; 15483 const VkIndirectCommandsLayoutTokenNV* pTokens; 15484 uint32_t streamCount; 15485 const uint32_t* pStreamStrides; 15486 } VkIndirectCommandsLayoutCreateInfoNV; 15487 15488 typedef struct VkGeneratedCommandsInfoNV { 15489 VkStructureType sType; 15490 const void* pNext; 15491 VkPipelineBindPoint pipelineBindPoint; 15492 VkPipeline pipeline; 15493 VkIndirectCommandsLayoutNV indirectCommandsLayout; 15494 uint32_t streamCount; 15495 const VkIndirectCommandsStreamNV* pStreams; 15496 uint32_t sequencesCount; 15497 VkBuffer preprocessBuffer; 15498 VkDeviceSize preprocessOffset; 15499 VkDeviceSize preprocessSize; 15500 VkBuffer sequencesCountBuffer; 15501 VkDeviceSize sequencesCountOffset; 15502 VkBuffer sequencesIndexBuffer; 15503 VkDeviceSize sequencesIndexOffset; 15504 } VkGeneratedCommandsInfoNV; 15505 15506 typedef struct VkGeneratedCommandsMemoryRequirementsInfoNV { 15507 VkStructureType sType; 15508 const void* pNext; 15509 VkPipelineBindPoint pipelineBindPoint; 15510 VkPipeline pipeline; 15511 VkIndirectCommandsLayoutNV indirectCommandsLayout; 15512 uint32_t maxSequencesCount; 15513 } VkGeneratedCommandsMemoryRequirementsInfoNV; 15514 15515 typedef void (VKAPI_PTR *PFN_vkGetGeneratedCommandsMemoryRequirementsNV)(VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements); 15516 typedef void (VKAPI_PTR *PFN_vkCmdPreprocessGeneratedCommandsNV)(VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); 15517 typedef void (VKAPI_PTR *PFN_vkCmdExecuteGeneratedCommandsNV)(VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); 15518 typedef void (VKAPI_PTR *PFN_vkCmdBindPipelineShaderGroupNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, uint32_t groupIndex); 15519 typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNV)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout); 15520 typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNV)(VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator); 15521 15522 #ifndef VK_NO_PROTOTYPES 15523 VKAPI_ATTR void VKAPI_CALL vkGetGeneratedCommandsMemoryRequirementsNV( 15524 VkDevice device, 15525 const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, 15526 VkMemoryRequirements2* pMemoryRequirements); 15527 15528 VKAPI_ATTR void VKAPI_CALL vkCmdPreprocessGeneratedCommandsNV( 15529 VkCommandBuffer commandBuffer, 15530 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); 15531 15532 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteGeneratedCommandsNV( 15533 VkCommandBuffer commandBuffer, 15534 VkBool32 isPreprocessed, 15535 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); 15536 15537 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipelineShaderGroupNV( 15538 VkCommandBuffer commandBuffer, 15539 VkPipelineBindPoint pipelineBindPoint, 15540 VkPipeline pipeline, 15541 uint32_t groupIndex); 15542 15543 VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNV( 15544 VkDevice device, 15545 const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, 15546 const VkAllocationCallbacks* pAllocator, 15547 VkIndirectCommandsLayoutNV* pIndirectCommandsLayout); 15548 15549 VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNV( 15550 VkDevice device, 15551 VkIndirectCommandsLayoutNV indirectCommandsLayout, 15552 const VkAllocationCallbacks* pAllocator); 15553 #endif 15554 15555 15556 // VK_NV_inherited_viewport_scissor is a preprocessor guard. Do not pass it to API calls. 15557 #define VK_NV_inherited_viewport_scissor 1 15558 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION 1 15559 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME "VK_NV_inherited_viewport_scissor" 15560 typedef struct VkPhysicalDeviceInheritedViewportScissorFeaturesNV { 15561 VkStructureType sType; 15562 void* pNext; 15563 VkBool32 inheritedViewportScissor2D; 15564 } VkPhysicalDeviceInheritedViewportScissorFeaturesNV; 15565 15566 typedef struct VkCommandBufferInheritanceViewportScissorInfoNV { 15567 VkStructureType sType; 15568 const void* pNext; 15569 VkBool32 viewportScissor2D; 15570 uint32_t viewportDepthCount; 15571 const VkViewport* pViewportDepths; 15572 } VkCommandBufferInheritanceViewportScissorInfoNV; 15573 15574 15575 15576 // VK_EXT_texel_buffer_alignment is a preprocessor guard. Do not pass it to API calls. 15577 #define VK_EXT_texel_buffer_alignment 1 15578 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1 15579 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment" 15580 typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT { 15581 VkStructureType sType; 15582 void* pNext; 15583 VkBool32 texelBufferAlignment; 15584 } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT; 15585 15586 typedef VkPhysicalDeviceTexelBufferAlignmentProperties VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT; 15587 15588 15589 15590 // VK_QCOM_render_pass_transform is a preprocessor guard. Do not pass it to API calls. 15591 #define VK_QCOM_render_pass_transform 1 15592 #define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 4 15593 #define VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME "VK_QCOM_render_pass_transform" 15594 typedef struct VkRenderPassTransformBeginInfoQCOM { 15595 VkStructureType sType; 15596 void* pNext; 15597 VkSurfaceTransformFlagBitsKHR transform; 15598 } VkRenderPassTransformBeginInfoQCOM; 15599 15600 typedef struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM { 15601 VkStructureType sType; 15602 void* pNext; 15603 VkSurfaceTransformFlagBitsKHR transform; 15604 VkRect2D renderArea; 15605 } VkCommandBufferInheritanceRenderPassTransformInfoQCOM; 15606 15607 15608 15609 // VK_EXT_depth_bias_control is a preprocessor guard. Do not pass it to API calls. 15610 #define VK_EXT_depth_bias_control 1 15611 #define VK_EXT_DEPTH_BIAS_CONTROL_SPEC_VERSION 1 15612 #define VK_EXT_DEPTH_BIAS_CONTROL_EXTENSION_NAME "VK_EXT_depth_bias_control" 15613 15614 typedef enum VkDepthBiasRepresentationEXT { 15615 VK_DEPTH_BIAS_REPRESENTATION_LEAST_REPRESENTABLE_VALUE_FORMAT_EXT = 0, 15616 VK_DEPTH_BIAS_REPRESENTATION_LEAST_REPRESENTABLE_VALUE_FORCE_UNORM_EXT = 1, 15617 VK_DEPTH_BIAS_REPRESENTATION_FLOAT_EXT = 2, 15618 VK_DEPTH_BIAS_REPRESENTATION_MAX_ENUM_EXT = 0x7FFFFFFF 15619 } VkDepthBiasRepresentationEXT; 15620 typedef struct VkPhysicalDeviceDepthBiasControlFeaturesEXT { 15621 VkStructureType sType; 15622 void* pNext; 15623 VkBool32 depthBiasControl; 15624 VkBool32 leastRepresentableValueForceUnormRepresentation; 15625 VkBool32 floatRepresentation; 15626 VkBool32 depthBiasExact; 15627 } VkPhysicalDeviceDepthBiasControlFeaturesEXT; 15628 15629 typedef struct VkDepthBiasInfoEXT { 15630 VkStructureType sType; 15631 const void* pNext; 15632 float depthBiasConstantFactor; 15633 float depthBiasClamp; 15634 float depthBiasSlopeFactor; 15635 } VkDepthBiasInfoEXT; 15636 15637 typedef struct VkDepthBiasRepresentationInfoEXT { 15638 VkStructureType sType; 15639 const void* pNext; 15640 VkDepthBiasRepresentationEXT depthBiasRepresentation; 15641 VkBool32 depthBiasExact; 15642 } VkDepthBiasRepresentationInfoEXT; 15643 15644 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias2EXT)(VkCommandBuffer commandBuffer, const VkDepthBiasInfoEXT* pDepthBiasInfo); 15645 15646 #ifndef VK_NO_PROTOTYPES 15647 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias2EXT( 15648 VkCommandBuffer commandBuffer, 15649 const VkDepthBiasInfoEXT* pDepthBiasInfo); 15650 #endif 15651 15652 15653 // VK_EXT_device_memory_report is a preprocessor guard. Do not pass it to API calls. 15654 #define VK_EXT_device_memory_report 1 15655 #define VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION 2 15656 #define VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME "VK_EXT_device_memory_report" 15657 15658 typedef enum VkDeviceMemoryReportEventTypeEXT { 15659 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT = 0, 15660 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT = 1, 15661 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT = 2, 15662 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT = 3, 15663 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT = 4, 15664 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 15665 } VkDeviceMemoryReportEventTypeEXT; 15666 typedef VkFlags VkDeviceMemoryReportFlagsEXT; 15667 typedef struct VkPhysicalDeviceDeviceMemoryReportFeaturesEXT { 15668 VkStructureType sType; 15669 void* pNext; 15670 VkBool32 deviceMemoryReport; 15671 } VkPhysicalDeviceDeviceMemoryReportFeaturesEXT; 15672 15673 typedef struct VkDeviceMemoryReportCallbackDataEXT { 15674 VkStructureType sType; 15675 void* pNext; 15676 VkDeviceMemoryReportFlagsEXT flags; 15677 VkDeviceMemoryReportEventTypeEXT type; 15678 uint64_t memoryObjectId; 15679 VkDeviceSize size; 15680 VkObjectType objectType; 15681 uint64_t objectHandle; 15682 uint32_t heapIndex; 15683 } VkDeviceMemoryReportCallbackDataEXT; 15684 15685 typedef void (VKAPI_PTR *PFN_vkDeviceMemoryReportCallbackEXT)( 15686 const VkDeviceMemoryReportCallbackDataEXT* pCallbackData, 15687 void* pUserData); 15688 15689 typedef struct VkDeviceDeviceMemoryReportCreateInfoEXT { 15690 VkStructureType sType; 15691 const void* pNext; 15692 VkDeviceMemoryReportFlagsEXT flags; 15693 PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback; 15694 void* pUserData; 15695 } VkDeviceDeviceMemoryReportCreateInfoEXT; 15696 15697 15698 15699 // VK_EXT_acquire_drm_display is a preprocessor guard. Do not pass it to API calls. 15700 #define VK_EXT_acquire_drm_display 1 15701 #define VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION 1 15702 #define VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME "VK_EXT_acquire_drm_display" 15703 typedef VkResult (VKAPI_PTR *PFN_vkAcquireDrmDisplayEXT)(VkPhysicalDevice physicalDevice, int32_t drmFd, VkDisplayKHR display); 15704 typedef VkResult (VKAPI_PTR *PFN_vkGetDrmDisplayEXT)(VkPhysicalDevice physicalDevice, int32_t drmFd, uint32_t connectorId, VkDisplayKHR* display); 15705 15706 #ifndef VK_NO_PROTOTYPES 15707 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireDrmDisplayEXT( 15708 VkPhysicalDevice physicalDevice, 15709 int32_t drmFd, 15710 VkDisplayKHR display); 15711 15712 VKAPI_ATTR VkResult VKAPI_CALL vkGetDrmDisplayEXT( 15713 VkPhysicalDevice physicalDevice, 15714 int32_t drmFd, 15715 uint32_t connectorId, 15716 VkDisplayKHR* display); 15717 #endif 15718 15719 15720 // VK_EXT_robustness2 is a preprocessor guard. Do not pass it to API calls. 15721 #define VK_EXT_robustness2 1 15722 #define VK_EXT_ROBUSTNESS_2_SPEC_VERSION 1 15723 #define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2" 15724 typedef struct VkPhysicalDeviceRobustness2FeaturesEXT { 15725 VkStructureType sType; 15726 void* pNext; 15727 VkBool32 robustBufferAccess2; 15728 VkBool32 robustImageAccess2; 15729 VkBool32 nullDescriptor; 15730 } VkPhysicalDeviceRobustness2FeaturesEXT; 15731 15732 typedef struct VkPhysicalDeviceRobustness2PropertiesEXT { 15733 VkStructureType sType; 15734 void* pNext; 15735 VkDeviceSize robustStorageBufferAccessSizeAlignment; 15736 VkDeviceSize robustUniformBufferAccessSizeAlignment; 15737 } VkPhysicalDeviceRobustness2PropertiesEXT; 15738 15739 15740 15741 // VK_EXT_custom_border_color is a preprocessor guard. Do not pass it to API calls. 15742 #define VK_EXT_custom_border_color 1 15743 #define VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION 12 15744 #define VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME "VK_EXT_custom_border_color" 15745 typedef struct VkSamplerCustomBorderColorCreateInfoEXT { 15746 VkStructureType sType; 15747 const void* pNext; 15748 VkClearColorValue customBorderColor; 15749 VkFormat format; 15750 } VkSamplerCustomBorderColorCreateInfoEXT; 15751 15752 typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT { 15753 VkStructureType sType; 15754 void* pNext; 15755 uint32_t maxCustomBorderColorSamplers; 15756 } VkPhysicalDeviceCustomBorderColorPropertiesEXT; 15757 15758 typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT { 15759 VkStructureType sType; 15760 void* pNext; 15761 VkBool32 customBorderColors; 15762 VkBool32 customBorderColorWithoutFormat; 15763 } VkPhysicalDeviceCustomBorderColorFeaturesEXT; 15764 15765 15766 15767 // VK_GOOGLE_user_type is a preprocessor guard. Do not pass it to API calls. 15768 #define VK_GOOGLE_user_type 1 15769 #define VK_GOOGLE_USER_TYPE_SPEC_VERSION 1 15770 #define VK_GOOGLE_USER_TYPE_EXTENSION_NAME "VK_GOOGLE_user_type" 15771 15772 15773 // VK_NV_present_barrier is a preprocessor guard. Do not pass it to API calls. 15774 #define VK_NV_present_barrier 1 15775 #define VK_NV_PRESENT_BARRIER_SPEC_VERSION 1 15776 #define VK_NV_PRESENT_BARRIER_EXTENSION_NAME "VK_NV_present_barrier" 15777 typedef struct VkPhysicalDevicePresentBarrierFeaturesNV { 15778 VkStructureType sType; 15779 void* pNext; 15780 VkBool32 presentBarrier; 15781 } VkPhysicalDevicePresentBarrierFeaturesNV; 15782 15783 typedef struct VkSurfaceCapabilitiesPresentBarrierNV { 15784 VkStructureType sType; 15785 void* pNext; 15786 VkBool32 presentBarrierSupported; 15787 } VkSurfaceCapabilitiesPresentBarrierNV; 15788 15789 typedef struct VkSwapchainPresentBarrierCreateInfoNV { 15790 VkStructureType sType; 15791 void* pNext; 15792 VkBool32 presentBarrierEnable; 15793 } VkSwapchainPresentBarrierCreateInfoNV; 15794 15795 15796 15797 // VK_EXT_private_data is a preprocessor guard. Do not pass it to API calls. 15798 #define VK_EXT_private_data 1 15799 typedef VkPrivateDataSlot VkPrivateDataSlotEXT; 15800 15801 #define VK_EXT_PRIVATE_DATA_SPEC_VERSION 1 15802 #define VK_EXT_PRIVATE_DATA_EXTENSION_NAME "VK_EXT_private_data" 15803 typedef VkPrivateDataSlotCreateFlags VkPrivateDataSlotCreateFlagsEXT; 15804 15805 typedef VkPhysicalDevicePrivateDataFeatures VkPhysicalDevicePrivateDataFeaturesEXT; 15806 15807 typedef VkDevicePrivateDataCreateInfo VkDevicePrivateDataCreateInfoEXT; 15808 15809 typedef VkPrivateDataSlotCreateInfo VkPrivateDataSlotCreateInfoEXT; 15810 15811 typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlotEXT)(VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot); 15812 typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlotEXT)(VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator); 15813 typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateDataEXT)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data); 15814 typedef void (VKAPI_PTR *PFN_vkGetPrivateDataEXT)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t* pData); 15815 15816 #ifndef VK_NO_PROTOTYPES 15817 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlotEXT( 15818 VkDevice device, 15819 const VkPrivateDataSlotCreateInfo* pCreateInfo, 15820 const VkAllocationCallbacks* pAllocator, 15821 VkPrivateDataSlot* pPrivateDataSlot); 15822 15823 VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlotEXT( 15824 VkDevice device, 15825 VkPrivateDataSlot privateDataSlot, 15826 const VkAllocationCallbacks* pAllocator); 15827 15828 VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateDataEXT( 15829 VkDevice device, 15830 VkObjectType objectType, 15831 uint64_t objectHandle, 15832 VkPrivateDataSlot privateDataSlot, 15833 uint64_t data); 15834 15835 VKAPI_ATTR void VKAPI_CALL vkGetPrivateDataEXT( 15836 VkDevice device, 15837 VkObjectType objectType, 15838 uint64_t objectHandle, 15839 VkPrivateDataSlot privateDataSlot, 15840 uint64_t* pData); 15841 #endif 15842 15843 15844 // VK_EXT_pipeline_creation_cache_control is a preprocessor guard. Do not pass it to API calls. 15845 #define VK_EXT_pipeline_creation_cache_control 1 15846 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION 3 15847 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME "VK_EXT_pipeline_creation_cache_control" 15848 typedef VkPhysicalDevicePipelineCreationCacheControlFeatures VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT; 15849 15850 15851 15852 // VK_NV_device_diagnostics_config is a preprocessor guard. Do not pass it to API calls. 15853 #define VK_NV_device_diagnostics_config 1 15854 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 2 15855 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME "VK_NV_device_diagnostics_config" 15856 15857 typedef enum VkDeviceDiagnosticsConfigFlagBitsNV { 15858 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 0x00000001, 15859 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV = 0x00000002, 15860 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV = 0x00000004, 15861 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_ERROR_REPORTING_BIT_NV = 0x00000008, 15862 VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 15863 } VkDeviceDiagnosticsConfigFlagBitsNV; 15864 typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV; 15865 typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV { 15866 VkStructureType sType; 15867 void* pNext; 15868 VkBool32 diagnosticsConfig; 15869 } VkPhysicalDeviceDiagnosticsConfigFeaturesNV; 15870 15871 typedef struct VkDeviceDiagnosticsConfigCreateInfoNV { 15872 VkStructureType sType; 15873 const void* pNext; 15874 VkDeviceDiagnosticsConfigFlagsNV flags; 15875 } VkDeviceDiagnosticsConfigCreateInfoNV; 15876 15877 15878 15879 // VK_QCOM_render_pass_store_ops is a preprocessor guard. Do not pass it to API calls. 15880 #define VK_QCOM_render_pass_store_ops 1 15881 #define VK_QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION 2 15882 #define VK_QCOM_RENDER_PASS_STORE_OPS_EXTENSION_NAME "VK_QCOM_render_pass_store_ops" 15883 15884 15885 // VK_NV_cuda_kernel_launch is a preprocessor guard. Do not pass it to API calls. 15886 #define VK_NV_cuda_kernel_launch 1 15887 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCudaModuleNV) 15888 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCudaFunctionNV) 15889 #define VK_NV_CUDA_KERNEL_LAUNCH_SPEC_VERSION 2 15890 #define VK_NV_CUDA_KERNEL_LAUNCH_EXTENSION_NAME "VK_NV_cuda_kernel_launch" 15891 typedef struct VkCudaModuleCreateInfoNV { 15892 VkStructureType sType; 15893 const void* pNext; 15894 size_t dataSize; 15895 const void* pData; 15896 } VkCudaModuleCreateInfoNV; 15897 15898 typedef struct VkCudaFunctionCreateInfoNV { 15899 VkStructureType sType; 15900 const void* pNext; 15901 VkCudaModuleNV module; 15902 const char* pName; 15903 } VkCudaFunctionCreateInfoNV; 15904 15905 typedef struct VkCudaLaunchInfoNV { 15906 VkStructureType sType; 15907 const void* pNext; 15908 VkCudaFunctionNV function; 15909 uint32_t gridDimX; 15910 uint32_t gridDimY; 15911 uint32_t gridDimZ; 15912 uint32_t blockDimX; 15913 uint32_t blockDimY; 15914 uint32_t blockDimZ; 15915 uint32_t sharedMemBytes; 15916 size_t paramCount; 15917 const void* const * pParams; 15918 size_t extraCount; 15919 const void* const * pExtras; 15920 } VkCudaLaunchInfoNV; 15921 15922 typedef struct VkPhysicalDeviceCudaKernelLaunchFeaturesNV { 15923 VkStructureType sType; 15924 void* pNext; 15925 VkBool32 cudaKernelLaunchFeatures; 15926 } VkPhysicalDeviceCudaKernelLaunchFeaturesNV; 15927 15928 typedef struct VkPhysicalDeviceCudaKernelLaunchPropertiesNV { 15929 VkStructureType sType; 15930 void* pNext; 15931 uint32_t computeCapabilityMinor; 15932 uint32_t computeCapabilityMajor; 15933 } VkPhysicalDeviceCudaKernelLaunchPropertiesNV; 15934 15935 typedef VkResult (VKAPI_PTR *PFN_vkCreateCudaModuleNV)(VkDevice device, const VkCudaModuleCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCudaModuleNV* pModule); 15936 typedef VkResult (VKAPI_PTR *PFN_vkGetCudaModuleCacheNV)(VkDevice device, VkCudaModuleNV module, size_t* pCacheSize, void* pCacheData); 15937 typedef VkResult (VKAPI_PTR *PFN_vkCreateCudaFunctionNV)(VkDevice device, const VkCudaFunctionCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCudaFunctionNV* pFunction); 15938 typedef void (VKAPI_PTR *PFN_vkDestroyCudaModuleNV)(VkDevice device, VkCudaModuleNV module, const VkAllocationCallbacks* pAllocator); 15939 typedef void (VKAPI_PTR *PFN_vkDestroyCudaFunctionNV)(VkDevice device, VkCudaFunctionNV function, const VkAllocationCallbacks* pAllocator); 15940 typedef void (VKAPI_PTR *PFN_vkCmdCudaLaunchKernelNV)(VkCommandBuffer commandBuffer, const VkCudaLaunchInfoNV* pLaunchInfo); 15941 15942 #ifndef VK_NO_PROTOTYPES 15943 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCudaModuleNV( 15944 VkDevice device, 15945 const VkCudaModuleCreateInfoNV* pCreateInfo, 15946 const VkAllocationCallbacks* pAllocator, 15947 VkCudaModuleNV* pModule); 15948 15949 VKAPI_ATTR VkResult VKAPI_CALL vkGetCudaModuleCacheNV( 15950 VkDevice device, 15951 VkCudaModuleNV module, 15952 size_t* pCacheSize, 15953 void* pCacheData); 15954 15955 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCudaFunctionNV( 15956 VkDevice device, 15957 const VkCudaFunctionCreateInfoNV* pCreateInfo, 15958 const VkAllocationCallbacks* pAllocator, 15959 VkCudaFunctionNV* pFunction); 15960 15961 VKAPI_ATTR void VKAPI_CALL vkDestroyCudaModuleNV( 15962 VkDevice device, 15963 VkCudaModuleNV module, 15964 const VkAllocationCallbacks* pAllocator); 15965 15966 VKAPI_ATTR void VKAPI_CALL vkDestroyCudaFunctionNV( 15967 VkDevice device, 15968 VkCudaFunctionNV function, 15969 const VkAllocationCallbacks* pAllocator); 15970 15971 VKAPI_ATTR void VKAPI_CALL vkCmdCudaLaunchKernelNV( 15972 VkCommandBuffer commandBuffer, 15973 const VkCudaLaunchInfoNV* pLaunchInfo); 15974 #endif 15975 15976 15977 // VK_NV_low_latency is a preprocessor guard. Do not pass it to API calls. 15978 #define VK_NV_low_latency 1 15979 #define VK_NV_LOW_LATENCY_SPEC_VERSION 1 15980 #define VK_NV_LOW_LATENCY_EXTENSION_NAME "VK_NV_low_latency" 15981 typedef struct VkQueryLowLatencySupportNV { 15982 VkStructureType sType; 15983 const void* pNext; 15984 void* pQueriedLowLatencyData; 15985 } VkQueryLowLatencySupportNV; 15986 15987 15988 15989 // VK_EXT_descriptor_buffer is a preprocessor guard. Do not pass it to API calls. 15990 #define VK_EXT_descriptor_buffer 1 15991 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR) 15992 #define VK_EXT_DESCRIPTOR_BUFFER_SPEC_VERSION 1 15993 #define VK_EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME "VK_EXT_descriptor_buffer" 15994 typedef struct VkPhysicalDeviceDescriptorBufferPropertiesEXT { 15995 VkStructureType sType; 15996 void* pNext; 15997 VkBool32 combinedImageSamplerDescriptorSingleArray; 15998 VkBool32 bufferlessPushDescriptors; 15999 VkBool32 allowSamplerImageViewPostSubmitCreation; 16000 VkDeviceSize descriptorBufferOffsetAlignment; 16001 uint32_t maxDescriptorBufferBindings; 16002 uint32_t maxResourceDescriptorBufferBindings; 16003 uint32_t maxSamplerDescriptorBufferBindings; 16004 uint32_t maxEmbeddedImmutableSamplerBindings; 16005 uint32_t maxEmbeddedImmutableSamplers; 16006 size_t bufferCaptureReplayDescriptorDataSize; 16007 size_t imageCaptureReplayDescriptorDataSize; 16008 size_t imageViewCaptureReplayDescriptorDataSize; 16009 size_t samplerCaptureReplayDescriptorDataSize; 16010 size_t accelerationStructureCaptureReplayDescriptorDataSize; 16011 size_t samplerDescriptorSize; 16012 size_t combinedImageSamplerDescriptorSize; 16013 size_t sampledImageDescriptorSize; 16014 size_t storageImageDescriptorSize; 16015 size_t uniformTexelBufferDescriptorSize; 16016 size_t robustUniformTexelBufferDescriptorSize; 16017 size_t storageTexelBufferDescriptorSize; 16018 size_t robustStorageTexelBufferDescriptorSize; 16019 size_t uniformBufferDescriptorSize; 16020 size_t robustUniformBufferDescriptorSize; 16021 size_t storageBufferDescriptorSize; 16022 size_t robustStorageBufferDescriptorSize; 16023 size_t inputAttachmentDescriptorSize; 16024 size_t accelerationStructureDescriptorSize; 16025 VkDeviceSize maxSamplerDescriptorBufferRange; 16026 VkDeviceSize maxResourceDescriptorBufferRange; 16027 VkDeviceSize samplerDescriptorBufferAddressSpaceSize; 16028 VkDeviceSize resourceDescriptorBufferAddressSpaceSize; 16029 VkDeviceSize descriptorBufferAddressSpaceSize; 16030 } VkPhysicalDeviceDescriptorBufferPropertiesEXT; 16031 16032 typedef struct VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT { 16033 VkStructureType sType; 16034 void* pNext; 16035 size_t combinedImageSamplerDensityMapDescriptorSize; 16036 } VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT; 16037 16038 typedef struct VkPhysicalDeviceDescriptorBufferFeaturesEXT { 16039 VkStructureType sType; 16040 void* pNext; 16041 VkBool32 descriptorBuffer; 16042 VkBool32 descriptorBufferCaptureReplay; 16043 VkBool32 descriptorBufferImageLayoutIgnored; 16044 VkBool32 descriptorBufferPushDescriptors; 16045 } VkPhysicalDeviceDescriptorBufferFeaturesEXT; 16046 16047 typedef struct VkDescriptorAddressInfoEXT { 16048 VkStructureType sType; 16049 void* pNext; 16050 VkDeviceAddress address; 16051 VkDeviceSize range; 16052 VkFormat format; 16053 } VkDescriptorAddressInfoEXT; 16054 16055 typedef struct VkDescriptorBufferBindingInfoEXT { 16056 VkStructureType sType; 16057 void* pNext; 16058 VkDeviceAddress address; 16059 VkBufferUsageFlags usage; 16060 } VkDescriptorBufferBindingInfoEXT; 16061 16062 typedef struct VkDescriptorBufferBindingPushDescriptorBufferHandleEXT { 16063 VkStructureType sType; 16064 void* pNext; 16065 VkBuffer buffer; 16066 } VkDescriptorBufferBindingPushDescriptorBufferHandleEXT; 16067 16068 typedef union VkDescriptorDataEXT { 16069 const VkSampler* pSampler; 16070 const VkDescriptorImageInfo* pCombinedImageSampler; 16071 const VkDescriptorImageInfo* pInputAttachmentImage; 16072 const VkDescriptorImageInfo* pSampledImage; 16073 const VkDescriptorImageInfo* pStorageImage; 16074 const VkDescriptorAddressInfoEXT* pUniformTexelBuffer; 16075 const VkDescriptorAddressInfoEXT* pStorageTexelBuffer; 16076 const VkDescriptorAddressInfoEXT* pUniformBuffer; 16077 const VkDescriptorAddressInfoEXT* pStorageBuffer; 16078 VkDeviceAddress accelerationStructure; 16079 } VkDescriptorDataEXT; 16080 16081 typedef struct VkDescriptorGetInfoEXT { 16082 VkStructureType sType; 16083 const void* pNext; 16084 VkDescriptorType type; 16085 VkDescriptorDataEXT data; 16086 } VkDescriptorGetInfoEXT; 16087 16088 typedef struct VkBufferCaptureDescriptorDataInfoEXT { 16089 VkStructureType sType; 16090 const void* pNext; 16091 VkBuffer buffer; 16092 } VkBufferCaptureDescriptorDataInfoEXT; 16093 16094 typedef struct VkImageCaptureDescriptorDataInfoEXT { 16095 VkStructureType sType; 16096 const void* pNext; 16097 VkImage image; 16098 } VkImageCaptureDescriptorDataInfoEXT; 16099 16100 typedef struct VkImageViewCaptureDescriptorDataInfoEXT { 16101 VkStructureType sType; 16102 const void* pNext; 16103 VkImageView imageView; 16104 } VkImageViewCaptureDescriptorDataInfoEXT; 16105 16106 typedef struct VkSamplerCaptureDescriptorDataInfoEXT { 16107 VkStructureType sType; 16108 const void* pNext; 16109 VkSampler sampler; 16110 } VkSamplerCaptureDescriptorDataInfoEXT; 16111 16112 typedef struct VkOpaqueCaptureDescriptorDataCreateInfoEXT { 16113 VkStructureType sType; 16114 const void* pNext; 16115 const void* opaqueCaptureDescriptorData; 16116 } VkOpaqueCaptureDescriptorDataCreateInfoEXT; 16117 16118 typedef struct VkAccelerationStructureCaptureDescriptorDataInfoEXT { 16119 VkStructureType sType; 16120 const void* pNext; 16121 VkAccelerationStructureKHR accelerationStructure; 16122 VkAccelerationStructureNV accelerationStructureNV; 16123 } VkAccelerationStructureCaptureDescriptorDataInfoEXT; 16124 16125 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSizeEXT)(VkDevice device, VkDescriptorSetLayout layout, VkDeviceSize* pLayoutSizeInBytes); 16126 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutBindingOffsetEXT)(VkDevice device, VkDescriptorSetLayout layout, uint32_t binding, VkDeviceSize* pOffset); 16127 typedef void (VKAPI_PTR *PFN_vkGetDescriptorEXT)(VkDevice device, const VkDescriptorGetInfoEXT* pDescriptorInfo, size_t dataSize, void* pDescriptor); 16128 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorBuffersEXT)(VkCommandBuffer commandBuffer, uint32_t bufferCount, const VkDescriptorBufferBindingInfoEXT* pBindingInfos); 16129 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); 16130 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set); 16131 typedef VkResult (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkBufferCaptureDescriptorDataInfoEXT* pInfo, void* pData); 16132 typedef VkResult (VKAPI_PTR *PFN_vkGetImageOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkImageCaptureDescriptorDataInfoEXT* pInfo, void* pData); 16133 typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkImageViewCaptureDescriptorDataInfoEXT* pInfo, void* pData); 16134 typedef VkResult (VKAPI_PTR *PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkSamplerCaptureDescriptorDataInfoEXT* pInfo, void* pData); 16135 typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkAccelerationStructureCaptureDescriptorDataInfoEXT* pInfo, void* pData); 16136 16137 #ifndef VK_NO_PROTOTYPES 16138 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSizeEXT( 16139 VkDevice device, 16140 VkDescriptorSetLayout layout, 16141 VkDeviceSize* pLayoutSizeInBytes); 16142 16143 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutBindingOffsetEXT( 16144 VkDevice device, 16145 VkDescriptorSetLayout layout, 16146 uint32_t binding, 16147 VkDeviceSize* pOffset); 16148 16149 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorEXT( 16150 VkDevice device, 16151 const VkDescriptorGetInfoEXT* pDescriptorInfo, 16152 size_t dataSize, 16153 void* pDescriptor); 16154 16155 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorBuffersEXT( 16156 VkCommandBuffer commandBuffer, 16157 uint32_t bufferCount, 16158 const VkDescriptorBufferBindingInfoEXT* pBindingInfos); 16159 16160 VKAPI_ATTR void VKAPI_CALL vkCmdSetDescriptorBufferOffsetsEXT( 16161 VkCommandBuffer commandBuffer, 16162 VkPipelineBindPoint pipelineBindPoint, 16163 VkPipelineLayout layout, 16164 uint32_t firstSet, 16165 uint32_t setCount, 16166 const uint32_t* pBufferIndices, 16167 const VkDeviceSize* pOffsets); 16168 16169 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorBufferEmbeddedSamplersEXT( 16170 VkCommandBuffer commandBuffer, 16171 VkPipelineBindPoint pipelineBindPoint, 16172 VkPipelineLayout layout, 16173 uint32_t set); 16174 16175 VKAPI_ATTR VkResult VKAPI_CALL vkGetBufferOpaqueCaptureDescriptorDataEXT( 16176 VkDevice device, 16177 const VkBufferCaptureDescriptorDataInfoEXT* pInfo, 16178 void* pData); 16179 16180 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageOpaqueCaptureDescriptorDataEXT( 16181 VkDevice device, 16182 const VkImageCaptureDescriptorDataInfoEXT* pInfo, 16183 void* pData); 16184 16185 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewOpaqueCaptureDescriptorDataEXT( 16186 VkDevice device, 16187 const VkImageViewCaptureDescriptorDataInfoEXT* pInfo, 16188 void* pData); 16189 16190 VKAPI_ATTR VkResult VKAPI_CALL vkGetSamplerOpaqueCaptureDescriptorDataEXT( 16191 VkDevice device, 16192 const VkSamplerCaptureDescriptorDataInfoEXT* pInfo, 16193 void* pData); 16194 16195 VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT( 16196 VkDevice device, 16197 const VkAccelerationStructureCaptureDescriptorDataInfoEXT* pInfo, 16198 void* pData); 16199 #endif 16200 16201 16202 // VK_EXT_graphics_pipeline_library is a preprocessor guard. Do not pass it to API calls. 16203 #define VK_EXT_graphics_pipeline_library 1 16204 #define VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION 1 16205 #define VK_EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME "VK_EXT_graphics_pipeline_library" 16206 16207 typedef enum VkGraphicsPipelineLibraryFlagBitsEXT { 16208 VK_GRAPHICS_PIPELINE_LIBRARY_VERTEX_INPUT_INTERFACE_BIT_EXT = 0x00000001, 16209 VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT = 0x00000002, 16210 VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT = 0x00000004, 16211 VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT = 0x00000008, 16212 VK_GRAPHICS_PIPELINE_LIBRARY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 16213 } VkGraphicsPipelineLibraryFlagBitsEXT; 16214 typedef VkFlags VkGraphicsPipelineLibraryFlagsEXT; 16215 typedef struct VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT { 16216 VkStructureType sType; 16217 void* pNext; 16218 VkBool32 graphicsPipelineLibrary; 16219 } VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT; 16220 16221 typedef struct VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT { 16222 VkStructureType sType; 16223 void* pNext; 16224 VkBool32 graphicsPipelineLibraryFastLinking; 16225 VkBool32 graphicsPipelineLibraryIndependentInterpolationDecoration; 16226 } VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT; 16227 16228 typedef struct VkGraphicsPipelineLibraryCreateInfoEXT { 16229 VkStructureType sType; 16230 const void* pNext; 16231 VkGraphicsPipelineLibraryFlagsEXT flags; 16232 } VkGraphicsPipelineLibraryCreateInfoEXT; 16233 16234 16235 16236 // VK_AMD_shader_early_and_late_fragment_tests is a preprocessor guard. Do not pass it to API calls. 16237 #define VK_AMD_shader_early_and_late_fragment_tests 1 16238 #define VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_SPEC_VERSION 1 16239 #define VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_EXTENSION_NAME "VK_AMD_shader_early_and_late_fragment_tests" 16240 typedef struct VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD { 16241 VkStructureType sType; 16242 void* pNext; 16243 VkBool32 shaderEarlyAndLateFragmentTests; 16244 } VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD; 16245 16246 16247 16248 // VK_NV_fragment_shading_rate_enums is a preprocessor guard. Do not pass it to API calls. 16249 #define VK_NV_fragment_shading_rate_enums 1 16250 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION 1 16251 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums" 16252 16253 typedef enum VkFragmentShadingRateTypeNV { 16254 VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV = 0, 16255 VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV = 1, 16256 VK_FRAGMENT_SHADING_RATE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 16257 } VkFragmentShadingRateTypeNV; 16258 16259 typedef enum VkFragmentShadingRateNV { 16260 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0, 16261 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 1, 16262 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 4, 16263 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 5, 16264 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 6, 16265 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 9, 16266 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 10, 16267 VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 11, 16268 VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 12, 16269 VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 13, 16270 VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 14, 16271 VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV = 15, 16272 VK_FRAGMENT_SHADING_RATE_MAX_ENUM_NV = 0x7FFFFFFF 16273 } VkFragmentShadingRateNV; 16274 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV { 16275 VkStructureType sType; 16276 void* pNext; 16277 VkBool32 fragmentShadingRateEnums; 16278 VkBool32 supersampleFragmentShadingRates; 16279 VkBool32 noInvocationFragmentShadingRates; 16280 } VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV; 16281 16282 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV { 16283 VkStructureType sType; 16284 void* pNext; 16285 VkSampleCountFlagBits maxFragmentShadingRateInvocationCount; 16286 } VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV; 16287 16288 typedef struct VkPipelineFragmentShadingRateEnumStateCreateInfoNV { 16289 VkStructureType sType; 16290 const void* pNext; 16291 VkFragmentShadingRateTypeNV shadingRateType; 16292 VkFragmentShadingRateNV shadingRate; 16293 VkFragmentShadingRateCombinerOpKHR combinerOps[2]; 16294 } VkPipelineFragmentShadingRateEnumStateCreateInfoNV; 16295 16296 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateEnumNV)(VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); 16297 16298 #ifndef VK_NO_PROTOTYPES 16299 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateEnumNV( 16300 VkCommandBuffer commandBuffer, 16301 VkFragmentShadingRateNV shadingRate, 16302 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); 16303 #endif 16304 16305 16306 // VK_NV_ray_tracing_motion_blur is a preprocessor guard. Do not pass it to API calls. 16307 #define VK_NV_ray_tracing_motion_blur 1 16308 #define VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION 1 16309 #define VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME "VK_NV_ray_tracing_motion_blur" 16310 16311 typedef enum VkAccelerationStructureMotionInstanceTypeNV { 16312 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV = 0, 16313 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV = 1, 16314 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV = 2, 16315 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 16316 } VkAccelerationStructureMotionInstanceTypeNV; 16317 typedef VkFlags VkAccelerationStructureMotionInfoFlagsNV; 16318 typedef VkFlags VkAccelerationStructureMotionInstanceFlagsNV; 16319 typedef union VkDeviceOrHostAddressConstKHR { 16320 VkDeviceAddress deviceAddress; 16321 const void* hostAddress; 16322 } VkDeviceOrHostAddressConstKHR; 16323 16324 typedef struct VkAccelerationStructureGeometryMotionTrianglesDataNV { 16325 VkStructureType sType; 16326 const void* pNext; 16327 VkDeviceOrHostAddressConstKHR vertexData; 16328 } VkAccelerationStructureGeometryMotionTrianglesDataNV; 16329 16330 typedef struct VkAccelerationStructureMotionInfoNV { 16331 VkStructureType sType; 16332 const void* pNext; 16333 uint32_t maxInstances; 16334 VkAccelerationStructureMotionInfoFlagsNV flags; 16335 } VkAccelerationStructureMotionInfoNV; 16336 16337 typedef struct VkAccelerationStructureMatrixMotionInstanceNV { 16338 VkTransformMatrixKHR transformT0; 16339 VkTransformMatrixKHR transformT1; 16340 uint32_t instanceCustomIndex:24; 16341 uint32_t mask:8; 16342 uint32_t instanceShaderBindingTableRecordOffset:24; 16343 VkGeometryInstanceFlagsKHR flags:8; 16344 uint64_t accelerationStructureReference; 16345 } VkAccelerationStructureMatrixMotionInstanceNV; 16346 16347 typedef struct VkSRTDataNV { 16348 float sx; 16349 float a; 16350 float b; 16351 float pvx; 16352 float sy; 16353 float c; 16354 float pvy; 16355 float sz; 16356 float pvz; 16357 float qx; 16358 float qy; 16359 float qz; 16360 float qw; 16361 float tx; 16362 float ty; 16363 float tz; 16364 } VkSRTDataNV; 16365 16366 typedef struct VkAccelerationStructureSRTMotionInstanceNV { 16367 VkSRTDataNV transformT0; 16368 VkSRTDataNV transformT1; 16369 uint32_t instanceCustomIndex:24; 16370 uint32_t mask:8; 16371 uint32_t instanceShaderBindingTableRecordOffset:24; 16372 VkGeometryInstanceFlagsKHR flags:8; 16373 uint64_t accelerationStructureReference; 16374 } VkAccelerationStructureSRTMotionInstanceNV; 16375 16376 typedef union VkAccelerationStructureMotionInstanceDataNV { 16377 VkAccelerationStructureInstanceKHR staticInstance; 16378 VkAccelerationStructureMatrixMotionInstanceNV matrixMotionInstance; 16379 VkAccelerationStructureSRTMotionInstanceNV srtMotionInstance; 16380 } VkAccelerationStructureMotionInstanceDataNV; 16381 16382 typedef struct VkAccelerationStructureMotionInstanceNV { 16383 VkAccelerationStructureMotionInstanceTypeNV type; 16384 VkAccelerationStructureMotionInstanceFlagsNV flags; 16385 VkAccelerationStructureMotionInstanceDataNV data; 16386 } VkAccelerationStructureMotionInstanceNV; 16387 16388 typedef struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV { 16389 VkStructureType sType; 16390 void* pNext; 16391 VkBool32 rayTracingMotionBlur; 16392 VkBool32 rayTracingMotionBlurPipelineTraceRaysIndirect; 16393 } VkPhysicalDeviceRayTracingMotionBlurFeaturesNV; 16394 16395 16396 16397 // VK_EXT_ycbcr_2plane_444_formats is a preprocessor guard. Do not pass it to API calls. 16398 #define VK_EXT_ycbcr_2plane_444_formats 1 16399 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION 1 16400 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME "VK_EXT_ycbcr_2plane_444_formats" 16401 typedef struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT { 16402 VkStructureType sType; 16403 void* pNext; 16404 VkBool32 ycbcr2plane444Formats; 16405 } VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT; 16406 16407 16408 16409 // VK_EXT_fragment_density_map2 is a preprocessor guard. Do not pass it to API calls. 16410 #define VK_EXT_fragment_density_map2 1 16411 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1 16412 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2" 16413 typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT { 16414 VkStructureType sType; 16415 void* pNext; 16416 VkBool32 fragmentDensityMapDeferred; 16417 } VkPhysicalDeviceFragmentDensityMap2FeaturesEXT; 16418 16419 typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT { 16420 VkStructureType sType; 16421 void* pNext; 16422 VkBool32 subsampledLoads; 16423 VkBool32 subsampledCoarseReconstructionEarlyAccess; 16424 uint32_t maxSubsampledArrayLayers; 16425 uint32_t maxDescriptorSetSubsampledSamplers; 16426 } VkPhysicalDeviceFragmentDensityMap2PropertiesEXT; 16427 16428 16429 16430 // VK_QCOM_rotated_copy_commands is a preprocessor guard. Do not pass it to API calls. 16431 #define VK_QCOM_rotated_copy_commands 1 16432 #define VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION 2 16433 #define VK_QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME "VK_QCOM_rotated_copy_commands" 16434 typedef struct VkCopyCommandTransformInfoQCOM { 16435 VkStructureType sType; 16436 const void* pNext; 16437 VkSurfaceTransformFlagBitsKHR transform; 16438 } VkCopyCommandTransformInfoQCOM; 16439 16440 16441 16442 // VK_EXT_image_robustness is a preprocessor guard. Do not pass it to API calls. 16443 #define VK_EXT_image_robustness 1 16444 #define VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION 1 16445 #define VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_image_robustness" 16446 typedef VkPhysicalDeviceImageRobustnessFeatures VkPhysicalDeviceImageRobustnessFeaturesEXT; 16447 16448 16449 16450 // VK_EXT_image_compression_control is a preprocessor guard. Do not pass it to API calls. 16451 #define VK_EXT_image_compression_control 1 16452 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION 1 16453 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME "VK_EXT_image_compression_control" 16454 16455 typedef enum VkImageCompressionFlagBitsEXT { 16456 VK_IMAGE_COMPRESSION_DEFAULT_EXT = 0, 16457 VK_IMAGE_COMPRESSION_FIXED_RATE_DEFAULT_EXT = 0x00000001, 16458 VK_IMAGE_COMPRESSION_FIXED_RATE_EXPLICIT_EXT = 0x00000002, 16459 VK_IMAGE_COMPRESSION_DISABLED_EXT = 0x00000004, 16460 VK_IMAGE_COMPRESSION_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 16461 } VkImageCompressionFlagBitsEXT; 16462 typedef VkFlags VkImageCompressionFlagsEXT; 16463 16464 typedef enum VkImageCompressionFixedRateFlagBitsEXT { 16465 VK_IMAGE_COMPRESSION_FIXED_RATE_NONE_EXT = 0, 16466 VK_IMAGE_COMPRESSION_FIXED_RATE_1BPC_BIT_EXT = 0x00000001, 16467 VK_IMAGE_COMPRESSION_FIXED_RATE_2BPC_BIT_EXT = 0x00000002, 16468 VK_IMAGE_COMPRESSION_FIXED_RATE_3BPC_BIT_EXT = 0x00000004, 16469 VK_IMAGE_COMPRESSION_FIXED_RATE_4BPC_BIT_EXT = 0x00000008, 16470 VK_IMAGE_COMPRESSION_FIXED_RATE_5BPC_BIT_EXT = 0x00000010, 16471 VK_IMAGE_COMPRESSION_FIXED_RATE_6BPC_BIT_EXT = 0x00000020, 16472 VK_IMAGE_COMPRESSION_FIXED_RATE_7BPC_BIT_EXT = 0x00000040, 16473 VK_IMAGE_COMPRESSION_FIXED_RATE_8BPC_BIT_EXT = 0x00000080, 16474 VK_IMAGE_COMPRESSION_FIXED_RATE_9BPC_BIT_EXT = 0x00000100, 16475 VK_IMAGE_COMPRESSION_FIXED_RATE_10BPC_BIT_EXT = 0x00000200, 16476 VK_IMAGE_COMPRESSION_FIXED_RATE_11BPC_BIT_EXT = 0x00000400, 16477 VK_IMAGE_COMPRESSION_FIXED_RATE_12BPC_BIT_EXT = 0x00000800, 16478 VK_IMAGE_COMPRESSION_FIXED_RATE_13BPC_BIT_EXT = 0x00001000, 16479 VK_IMAGE_COMPRESSION_FIXED_RATE_14BPC_BIT_EXT = 0x00002000, 16480 VK_IMAGE_COMPRESSION_FIXED_RATE_15BPC_BIT_EXT = 0x00004000, 16481 VK_IMAGE_COMPRESSION_FIXED_RATE_16BPC_BIT_EXT = 0x00008000, 16482 VK_IMAGE_COMPRESSION_FIXED_RATE_17BPC_BIT_EXT = 0x00010000, 16483 VK_IMAGE_COMPRESSION_FIXED_RATE_18BPC_BIT_EXT = 0x00020000, 16484 VK_IMAGE_COMPRESSION_FIXED_RATE_19BPC_BIT_EXT = 0x00040000, 16485 VK_IMAGE_COMPRESSION_FIXED_RATE_20BPC_BIT_EXT = 0x00080000, 16486 VK_IMAGE_COMPRESSION_FIXED_RATE_21BPC_BIT_EXT = 0x00100000, 16487 VK_IMAGE_COMPRESSION_FIXED_RATE_22BPC_BIT_EXT = 0x00200000, 16488 VK_IMAGE_COMPRESSION_FIXED_RATE_23BPC_BIT_EXT = 0x00400000, 16489 VK_IMAGE_COMPRESSION_FIXED_RATE_24BPC_BIT_EXT = 0x00800000, 16490 VK_IMAGE_COMPRESSION_FIXED_RATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 16491 } VkImageCompressionFixedRateFlagBitsEXT; 16492 typedef VkFlags VkImageCompressionFixedRateFlagsEXT; 16493 typedef struct VkPhysicalDeviceImageCompressionControlFeaturesEXT { 16494 VkStructureType sType; 16495 void* pNext; 16496 VkBool32 imageCompressionControl; 16497 } VkPhysicalDeviceImageCompressionControlFeaturesEXT; 16498 16499 typedef struct VkImageCompressionControlEXT { 16500 VkStructureType sType; 16501 const void* pNext; 16502 VkImageCompressionFlagsEXT flags; 16503 uint32_t compressionControlPlaneCount; 16504 VkImageCompressionFixedRateFlagsEXT* pFixedRateFlags; 16505 } VkImageCompressionControlEXT; 16506 16507 typedef struct VkImageCompressionPropertiesEXT { 16508 VkStructureType sType; 16509 void* pNext; 16510 VkImageCompressionFlagsEXT imageCompressionFlags; 16511 VkImageCompressionFixedRateFlagsEXT imageCompressionFixedRateFlags; 16512 } VkImageCompressionPropertiesEXT; 16513 16514 16515 16516 // VK_EXT_attachment_feedback_loop_layout is a preprocessor guard. Do not pass it to API calls. 16517 #define VK_EXT_attachment_feedback_loop_layout 1 16518 #define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_SPEC_VERSION 2 16519 #define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_EXTENSION_NAME "VK_EXT_attachment_feedback_loop_layout" 16520 typedef struct VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT { 16521 VkStructureType sType; 16522 void* pNext; 16523 VkBool32 attachmentFeedbackLoopLayout; 16524 } VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT; 16525 16526 16527 16528 // VK_EXT_4444_formats is a preprocessor guard. Do not pass it to API calls. 16529 #define VK_EXT_4444_formats 1 16530 #define VK_EXT_4444_FORMATS_SPEC_VERSION 1 16531 #define VK_EXT_4444_FORMATS_EXTENSION_NAME "VK_EXT_4444_formats" 16532 typedef struct VkPhysicalDevice4444FormatsFeaturesEXT { 16533 VkStructureType sType; 16534 void* pNext; 16535 VkBool32 formatA4R4G4B4; 16536 VkBool32 formatA4B4G4R4; 16537 } VkPhysicalDevice4444FormatsFeaturesEXT; 16538 16539 16540 16541 // VK_EXT_device_fault is a preprocessor guard. Do not pass it to API calls. 16542 #define VK_EXT_device_fault 1 16543 #define VK_EXT_DEVICE_FAULT_SPEC_VERSION 2 16544 #define VK_EXT_DEVICE_FAULT_EXTENSION_NAME "VK_EXT_device_fault" 16545 16546 typedef enum VkDeviceFaultAddressTypeEXT { 16547 VK_DEVICE_FAULT_ADDRESS_TYPE_NONE_EXT = 0, 16548 VK_DEVICE_FAULT_ADDRESS_TYPE_READ_INVALID_EXT = 1, 16549 VK_DEVICE_FAULT_ADDRESS_TYPE_WRITE_INVALID_EXT = 2, 16550 VK_DEVICE_FAULT_ADDRESS_TYPE_EXECUTE_INVALID_EXT = 3, 16551 VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_UNKNOWN_EXT = 4, 16552 VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_INVALID_EXT = 5, 16553 VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_FAULT_EXT = 6, 16554 VK_DEVICE_FAULT_ADDRESS_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 16555 } VkDeviceFaultAddressTypeEXT; 16556 16557 typedef enum VkDeviceFaultVendorBinaryHeaderVersionEXT { 16558 VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_ONE_EXT = 1, 16559 VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF 16560 } VkDeviceFaultVendorBinaryHeaderVersionEXT; 16561 typedef struct VkPhysicalDeviceFaultFeaturesEXT { 16562 VkStructureType sType; 16563 void* pNext; 16564 VkBool32 deviceFault; 16565 VkBool32 deviceFaultVendorBinary; 16566 } VkPhysicalDeviceFaultFeaturesEXT; 16567 16568 typedef struct VkDeviceFaultCountsEXT { 16569 VkStructureType sType; 16570 void* pNext; 16571 uint32_t addressInfoCount; 16572 uint32_t vendorInfoCount; 16573 VkDeviceSize vendorBinarySize; 16574 } VkDeviceFaultCountsEXT; 16575 16576 typedef struct VkDeviceFaultAddressInfoEXT { 16577 VkDeviceFaultAddressTypeEXT addressType; 16578 VkDeviceAddress reportedAddress; 16579 VkDeviceSize addressPrecision; 16580 } VkDeviceFaultAddressInfoEXT; 16581 16582 typedef struct VkDeviceFaultVendorInfoEXT { 16583 char description[VK_MAX_DESCRIPTION_SIZE]; 16584 uint64_t vendorFaultCode; 16585 uint64_t vendorFaultData; 16586 } VkDeviceFaultVendorInfoEXT; 16587 16588 typedef struct VkDeviceFaultInfoEXT { 16589 VkStructureType sType; 16590 void* pNext; 16591 char description[VK_MAX_DESCRIPTION_SIZE]; 16592 VkDeviceFaultAddressInfoEXT* pAddressInfos; 16593 VkDeviceFaultVendorInfoEXT* pVendorInfos; 16594 void* pVendorBinaryData; 16595 } VkDeviceFaultInfoEXT; 16596 16597 typedef struct VkDeviceFaultVendorBinaryHeaderVersionOneEXT { 16598 uint32_t headerSize; 16599 VkDeviceFaultVendorBinaryHeaderVersionEXT headerVersion; 16600 uint32_t vendorID; 16601 uint32_t deviceID; 16602 uint32_t driverVersion; 16603 uint8_t pipelineCacheUUID[VK_UUID_SIZE]; 16604 uint32_t applicationNameOffset; 16605 uint32_t applicationVersion; 16606 uint32_t engineNameOffset; 16607 uint32_t engineVersion; 16608 uint32_t apiVersion; 16609 } VkDeviceFaultVendorBinaryHeaderVersionOneEXT; 16610 16611 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceFaultInfoEXT)(VkDevice device, VkDeviceFaultCountsEXT* pFaultCounts, VkDeviceFaultInfoEXT* pFaultInfo); 16612 16613 #ifndef VK_NO_PROTOTYPES 16614 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceFaultInfoEXT( 16615 VkDevice device, 16616 VkDeviceFaultCountsEXT* pFaultCounts, 16617 VkDeviceFaultInfoEXT* pFaultInfo); 16618 #endif 16619 16620 16621 // VK_ARM_rasterization_order_attachment_access is a preprocessor guard. Do not pass it to API calls. 16622 #define VK_ARM_rasterization_order_attachment_access 1 16623 #define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION 1 16624 #define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME "VK_ARM_rasterization_order_attachment_access" 16625 typedef struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT { 16626 VkStructureType sType; 16627 void* pNext; 16628 VkBool32 rasterizationOrderColorAttachmentAccess; 16629 VkBool32 rasterizationOrderDepthAttachmentAccess; 16630 VkBool32 rasterizationOrderStencilAttachmentAccess; 16631 } VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT; 16632 16633 typedef VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM; 16634 16635 16636 16637 // VK_EXT_rgba10x6_formats is a preprocessor guard. Do not pass it to API calls. 16638 #define VK_EXT_rgba10x6_formats 1 16639 #define VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION 1 16640 #define VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME "VK_EXT_rgba10x6_formats" 16641 typedef struct VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT { 16642 VkStructureType sType; 16643 void* pNext; 16644 VkBool32 formatRgba10x6WithoutYCbCrSampler; 16645 } VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT; 16646 16647 16648 16649 // VK_VALVE_mutable_descriptor_type is a preprocessor guard. Do not pass it to API calls. 16650 #define VK_VALVE_mutable_descriptor_type 1 16651 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1 16652 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_VALVE_mutable_descriptor_type" 16653 typedef struct VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT { 16654 VkStructureType sType; 16655 void* pNext; 16656 VkBool32 mutableDescriptorType; 16657 } VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT; 16658 16659 typedef VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE; 16660 16661 typedef struct VkMutableDescriptorTypeListEXT { 16662 uint32_t descriptorTypeCount; 16663 const VkDescriptorType* pDescriptorTypes; 16664 } VkMutableDescriptorTypeListEXT; 16665 16666 typedef VkMutableDescriptorTypeListEXT VkMutableDescriptorTypeListVALVE; 16667 16668 typedef struct VkMutableDescriptorTypeCreateInfoEXT { 16669 VkStructureType sType; 16670 const void* pNext; 16671 uint32_t mutableDescriptorTypeListCount; 16672 const VkMutableDescriptorTypeListEXT* pMutableDescriptorTypeLists; 16673 } VkMutableDescriptorTypeCreateInfoEXT; 16674 16675 typedef VkMutableDescriptorTypeCreateInfoEXT VkMutableDescriptorTypeCreateInfoVALVE; 16676 16677 16678 16679 // VK_EXT_vertex_input_dynamic_state is a preprocessor guard. Do not pass it to API calls. 16680 #define VK_EXT_vertex_input_dynamic_state 1 16681 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION 2 16682 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_vertex_input_dynamic_state" 16683 typedef struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT { 16684 VkStructureType sType; 16685 void* pNext; 16686 VkBool32 vertexInputDynamicState; 16687 } VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT; 16688 16689 typedef struct VkVertexInputBindingDescription2EXT { 16690 VkStructureType sType; 16691 void* pNext; 16692 uint32_t binding; 16693 uint32_t stride; 16694 VkVertexInputRate inputRate; 16695 uint32_t divisor; 16696 } VkVertexInputBindingDescription2EXT; 16697 16698 typedef struct VkVertexInputAttributeDescription2EXT { 16699 VkStructureType sType; 16700 void* pNext; 16701 uint32_t location; 16702 uint32_t binding; 16703 VkFormat format; 16704 uint32_t offset; 16705 } VkVertexInputAttributeDescription2EXT; 16706 16707 typedef void (VKAPI_PTR *PFN_vkCmdSetVertexInputEXT)(VkCommandBuffer commandBuffer, uint32_t vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, uint32_t vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions); 16708 16709 #ifndef VK_NO_PROTOTYPES 16710 VKAPI_ATTR void VKAPI_CALL vkCmdSetVertexInputEXT( 16711 VkCommandBuffer commandBuffer, 16712 uint32_t vertexBindingDescriptionCount, 16713 const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, 16714 uint32_t vertexAttributeDescriptionCount, 16715 const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions); 16716 #endif 16717 16718 16719 // VK_EXT_physical_device_drm is a preprocessor guard. Do not pass it to API calls. 16720 #define VK_EXT_physical_device_drm 1 16721 #define VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION 1 16722 #define VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME "VK_EXT_physical_device_drm" 16723 typedef struct VkPhysicalDeviceDrmPropertiesEXT { 16724 VkStructureType sType; 16725 void* pNext; 16726 VkBool32 hasPrimary; 16727 VkBool32 hasRender; 16728 int64_t primaryMajor; 16729 int64_t primaryMinor; 16730 int64_t renderMajor; 16731 int64_t renderMinor; 16732 } VkPhysicalDeviceDrmPropertiesEXT; 16733 16734 16735 16736 // VK_EXT_device_address_binding_report is a preprocessor guard. Do not pass it to API calls. 16737 #define VK_EXT_device_address_binding_report 1 16738 #define VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_SPEC_VERSION 1 16739 #define VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_EXTENSION_NAME "VK_EXT_device_address_binding_report" 16740 16741 typedef enum VkDeviceAddressBindingTypeEXT { 16742 VK_DEVICE_ADDRESS_BINDING_TYPE_BIND_EXT = 0, 16743 VK_DEVICE_ADDRESS_BINDING_TYPE_UNBIND_EXT = 1, 16744 VK_DEVICE_ADDRESS_BINDING_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 16745 } VkDeviceAddressBindingTypeEXT; 16746 16747 typedef enum VkDeviceAddressBindingFlagBitsEXT { 16748 VK_DEVICE_ADDRESS_BINDING_INTERNAL_OBJECT_BIT_EXT = 0x00000001, 16749 VK_DEVICE_ADDRESS_BINDING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 16750 } VkDeviceAddressBindingFlagBitsEXT; 16751 typedef VkFlags VkDeviceAddressBindingFlagsEXT; 16752 typedef struct VkPhysicalDeviceAddressBindingReportFeaturesEXT { 16753 VkStructureType sType; 16754 void* pNext; 16755 VkBool32 reportAddressBinding; 16756 } VkPhysicalDeviceAddressBindingReportFeaturesEXT; 16757 16758 typedef struct VkDeviceAddressBindingCallbackDataEXT { 16759 VkStructureType sType; 16760 void* pNext; 16761 VkDeviceAddressBindingFlagsEXT flags; 16762 VkDeviceAddress baseAddress; 16763 VkDeviceSize size; 16764 VkDeviceAddressBindingTypeEXT bindingType; 16765 } VkDeviceAddressBindingCallbackDataEXT; 16766 16767 16768 16769 // VK_EXT_depth_clip_control is a preprocessor guard. Do not pass it to API calls. 16770 #define VK_EXT_depth_clip_control 1 16771 #define VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION 1 16772 #define VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME "VK_EXT_depth_clip_control" 16773 typedef struct VkPhysicalDeviceDepthClipControlFeaturesEXT { 16774 VkStructureType sType; 16775 void* pNext; 16776 VkBool32 depthClipControl; 16777 } VkPhysicalDeviceDepthClipControlFeaturesEXT; 16778 16779 typedef struct VkPipelineViewportDepthClipControlCreateInfoEXT { 16780 VkStructureType sType; 16781 const void* pNext; 16782 VkBool32 negativeOneToOne; 16783 } VkPipelineViewportDepthClipControlCreateInfoEXT; 16784 16785 16786 16787 // VK_EXT_primitive_topology_list_restart is a preprocessor guard. Do not pass it to API calls. 16788 #define VK_EXT_primitive_topology_list_restart 1 16789 #define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION 1 16790 #define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME "VK_EXT_primitive_topology_list_restart" 16791 typedef struct VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT { 16792 VkStructureType sType; 16793 void* pNext; 16794 VkBool32 primitiveTopologyListRestart; 16795 VkBool32 primitiveTopologyPatchListRestart; 16796 } VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT; 16797 16798 16799 16800 // VK_HUAWEI_subpass_shading is a preprocessor guard. Do not pass it to API calls. 16801 #define VK_HUAWEI_subpass_shading 1 16802 #define VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION 3 16803 #define VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME "VK_HUAWEI_subpass_shading" 16804 typedef struct VkSubpassShadingPipelineCreateInfoHUAWEI { 16805 VkStructureType sType; 16806 void* pNext; 16807 VkRenderPass renderPass; 16808 uint32_t subpass; 16809 } VkSubpassShadingPipelineCreateInfoHUAWEI; 16810 16811 typedef struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI { 16812 VkStructureType sType; 16813 void* pNext; 16814 VkBool32 subpassShading; 16815 } VkPhysicalDeviceSubpassShadingFeaturesHUAWEI; 16816 16817 typedef struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI { 16818 VkStructureType sType; 16819 void* pNext; 16820 uint32_t maxSubpassShadingWorkgroupSizeAspectRatio; 16821 } VkPhysicalDeviceSubpassShadingPropertiesHUAWEI; 16822 16823 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI)(VkDevice device, VkRenderPass renderpass, VkExtent2D* pMaxWorkgroupSize); 16824 typedef void (VKAPI_PTR *PFN_vkCmdSubpassShadingHUAWEI)(VkCommandBuffer commandBuffer); 16825 16826 #ifndef VK_NO_PROTOTYPES 16827 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( 16828 VkDevice device, 16829 VkRenderPass renderpass, 16830 VkExtent2D* pMaxWorkgroupSize); 16831 16832 VKAPI_ATTR void VKAPI_CALL vkCmdSubpassShadingHUAWEI( 16833 VkCommandBuffer commandBuffer); 16834 #endif 16835 16836 16837 // VK_HUAWEI_invocation_mask is a preprocessor guard. Do not pass it to API calls. 16838 #define VK_HUAWEI_invocation_mask 1 16839 #define VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION 1 16840 #define VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME "VK_HUAWEI_invocation_mask" 16841 typedef struct VkPhysicalDeviceInvocationMaskFeaturesHUAWEI { 16842 VkStructureType sType; 16843 void* pNext; 16844 VkBool32 invocationMask; 16845 } VkPhysicalDeviceInvocationMaskFeaturesHUAWEI; 16846 16847 typedef void (VKAPI_PTR *PFN_vkCmdBindInvocationMaskHUAWEI)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout); 16848 16849 #ifndef VK_NO_PROTOTYPES 16850 VKAPI_ATTR void VKAPI_CALL vkCmdBindInvocationMaskHUAWEI( 16851 VkCommandBuffer commandBuffer, 16852 VkImageView imageView, 16853 VkImageLayout imageLayout); 16854 #endif 16855 16856 16857 // VK_NV_external_memory_rdma is a preprocessor guard. Do not pass it to API calls. 16858 #define VK_NV_external_memory_rdma 1 16859 typedef void* VkRemoteAddressNV; 16860 #define VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION 1 16861 #define VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME "VK_NV_external_memory_rdma" 16862 typedef struct VkMemoryGetRemoteAddressInfoNV { 16863 VkStructureType sType; 16864 const void* pNext; 16865 VkDeviceMemory memory; 16866 VkExternalMemoryHandleTypeFlagBits handleType; 16867 } VkMemoryGetRemoteAddressInfoNV; 16868 16869 typedef struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV { 16870 VkStructureType sType; 16871 void* pNext; 16872 VkBool32 externalMemoryRDMA; 16873 } VkPhysicalDeviceExternalMemoryRDMAFeaturesNV; 16874 16875 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryRemoteAddressNV)(VkDevice device, const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, VkRemoteAddressNV* pAddress); 16876 16877 #ifndef VK_NO_PROTOTYPES 16878 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryRemoteAddressNV( 16879 VkDevice device, 16880 const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, 16881 VkRemoteAddressNV* pAddress); 16882 #endif 16883 16884 16885 // VK_EXT_pipeline_properties is a preprocessor guard. Do not pass it to API calls. 16886 #define VK_EXT_pipeline_properties 1 16887 #define VK_EXT_PIPELINE_PROPERTIES_SPEC_VERSION 1 16888 #define VK_EXT_PIPELINE_PROPERTIES_EXTENSION_NAME "VK_EXT_pipeline_properties" 16889 typedef VkPipelineInfoKHR VkPipelineInfoEXT; 16890 16891 typedef struct VkPipelinePropertiesIdentifierEXT { 16892 VkStructureType sType; 16893 void* pNext; 16894 uint8_t pipelineIdentifier[VK_UUID_SIZE]; 16895 } VkPipelinePropertiesIdentifierEXT; 16896 16897 typedef struct VkPhysicalDevicePipelinePropertiesFeaturesEXT { 16898 VkStructureType sType; 16899 void* pNext; 16900 VkBool32 pipelinePropertiesIdentifier; 16901 } VkPhysicalDevicePipelinePropertiesFeaturesEXT; 16902 16903 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelinePropertiesEXT)(VkDevice device, const VkPipelineInfoEXT* pPipelineInfo, VkBaseOutStructure* pPipelineProperties); 16904 16905 #ifndef VK_NO_PROTOTYPES 16906 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelinePropertiesEXT( 16907 VkDevice device, 16908 const VkPipelineInfoEXT* pPipelineInfo, 16909 VkBaseOutStructure* pPipelineProperties); 16910 #endif 16911 16912 16913 // VK_EXT_frame_boundary is a preprocessor guard. Do not pass it to API calls. 16914 #define VK_EXT_frame_boundary 1 16915 #define VK_EXT_FRAME_BOUNDARY_SPEC_VERSION 1 16916 #define VK_EXT_FRAME_BOUNDARY_EXTENSION_NAME "VK_EXT_frame_boundary" 16917 16918 typedef enum VkFrameBoundaryFlagBitsEXT { 16919 VK_FRAME_BOUNDARY_FRAME_END_BIT_EXT = 0x00000001, 16920 VK_FRAME_BOUNDARY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 16921 } VkFrameBoundaryFlagBitsEXT; 16922 typedef VkFlags VkFrameBoundaryFlagsEXT; 16923 typedef struct VkPhysicalDeviceFrameBoundaryFeaturesEXT { 16924 VkStructureType sType; 16925 void* pNext; 16926 VkBool32 frameBoundary; 16927 } VkPhysicalDeviceFrameBoundaryFeaturesEXT; 16928 16929 typedef struct VkFrameBoundaryEXT { 16930 VkStructureType sType; 16931 const void* pNext; 16932 VkFrameBoundaryFlagsEXT flags; 16933 uint64_t frameID; 16934 uint32_t imageCount; 16935 const VkImage* pImages; 16936 uint32_t bufferCount; 16937 const VkBuffer* pBuffers; 16938 uint64_t tagName; 16939 size_t tagSize; 16940 const void* pTag; 16941 } VkFrameBoundaryEXT; 16942 16943 16944 16945 // VK_EXT_multisampled_render_to_single_sampled is a preprocessor guard. Do not pass it to API calls. 16946 #define VK_EXT_multisampled_render_to_single_sampled 1 16947 #define VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_SPEC_VERSION 1 16948 #define VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_EXTENSION_NAME "VK_EXT_multisampled_render_to_single_sampled" 16949 typedef struct VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT { 16950 VkStructureType sType; 16951 void* pNext; 16952 VkBool32 multisampledRenderToSingleSampled; 16953 } VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT; 16954 16955 typedef struct VkSubpassResolvePerformanceQueryEXT { 16956 VkStructureType sType; 16957 void* pNext; 16958 VkBool32 optimal; 16959 } VkSubpassResolvePerformanceQueryEXT; 16960 16961 typedef struct VkMultisampledRenderToSingleSampledInfoEXT { 16962 VkStructureType sType; 16963 const void* pNext; 16964 VkBool32 multisampledRenderToSingleSampledEnable; 16965 VkSampleCountFlagBits rasterizationSamples; 16966 } VkMultisampledRenderToSingleSampledInfoEXT; 16967 16968 16969 16970 // VK_EXT_extended_dynamic_state2 is a preprocessor guard. Do not pass it to API calls. 16971 #define VK_EXT_extended_dynamic_state2 1 16972 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION 1 16973 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME "VK_EXT_extended_dynamic_state2" 16974 typedef struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT { 16975 VkStructureType sType; 16976 void* pNext; 16977 VkBool32 extendedDynamicState2; 16978 VkBool32 extendedDynamicState2LogicOp; 16979 VkBool32 extendedDynamicState2PatchControlPoints; 16980 } VkPhysicalDeviceExtendedDynamicState2FeaturesEXT; 16981 16982 typedef void (VKAPI_PTR *PFN_vkCmdSetPatchControlPointsEXT)(VkCommandBuffer commandBuffer, uint32_t patchControlPoints); 16983 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable); 16984 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable); 16985 typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEXT)(VkCommandBuffer commandBuffer, VkLogicOp logicOp); 16986 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable); 16987 16988 #ifndef VK_NO_PROTOTYPES 16989 VKAPI_ATTR void VKAPI_CALL vkCmdSetPatchControlPointsEXT( 16990 VkCommandBuffer commandBuffer, 16991 uint32_t patchControlPoints); 16992 16993 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnableEXT( 16994 VkCommandBuffer commandBuffer, 16995 VkBool32 rasterizerDiscardEnable); 16996 16997 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnableEXT( 16998 VkCommandBuffer commandBuffer, 16999 VkBool32 depthBiasEnable); 17000 17001 VKAPI_ATTR void VKAPI_CALL vkCmdSetLogicOpEXT( 17002 VkCommandBuffer commandBuffer, 17003 VkLogicOp logicOp); 17004 17005 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnableEXT( 17006 VkCommandBuffer commandBuffer, 17007 VkBool32 primitiveRestartEnable); 17008 #endif 17009 17010 17011 // VK_EXT_color_write_enable is a preprocessor guard. Do not pass it to API calls. 17012 #define VK_EXT_color_write_enable 1 17013 #define VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION 1 17014 #define VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME "VK_EXT_color_write_enable" 17015 typedef struct VkPhysicalDeviceColorWriteEnableFeaturesEXT { 17016 VkStructureType sType; 17017 void* pNext; 17018 VkBool32 colorWriteEnable; 17019 } VkPhysicalDeviceColorWriteEnableFeaturesEXT; 17020 17021 typedef struct VkPipelineColorWriteCreateInfoEXT { 17022 VkStructureType sType; 17023 const void* pNext; 17024 uint32_t attachmentCount; 17025 const VkBool32* pColorWriteEnables; 17026 } VkPipelineColorWriteCreateInfoEXT; 17027 17028 typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteEnableEXT)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32* pColorWriteEnables); 17029 17030 #ifndef VK_NO_PROTOTYPES 17031 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteEnableEXT( 17032 VkCommandBuffer commandBuffer, 17033 uint32_t attachmentCount, 17034 const VkBool32* pColorWriteEnables); 17035 #endif 17036 17037 17038 // VK_EXT_primitives_generated_query is a preprocessor guard. Do not pass it to API calls. 17039 #define VK_EXT_primitives_generated_query 1 17040 #define VK_EXT_PRIMITIVES_GENERATED_QUERY_SPEC_VERSION 1 17041 #define VK_EXT_PRIMITIVES_GENERATED_QUERY_EXTENSION_NAME "VK_EXT_primitives_generated_query" 17042 typedef struct VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT { 17043 VkStructureType sType; 17044 void* pNext; 17045 VkBool32 primitivesGeneratedQuery; 17046 VkBool32 primitivesGeneratedQueryWithRasterizerDiscard; 17047 VkBool32 primitivesGeneratedQueryWithNonZeroStreams; 17048 } VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT; 17049 17050 17051 17052 // VK_EXT_global_priority_query is a preprocessor guard. Do not pass it to API calls. 17053 #define VK_EXT_global_priority_query 1 17054 #define VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION 1 17055 #define VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME "VK_EXT_global_priority_query" 17056 #define VK_MAX_GLOBAL_PRIORITY_SIZE_EXT VK_MAX_GLOBAL_PRIORITY_SIZE_KHR 17057 typedef VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT; 17058 17059 typedef VkQueueFamilyGlobalPriorityPropertiesKHR VkQueueFamilyGlobalPriorityPropertiesEXT; 17060 17061 17062 17063 // VK_EXT_image_view_min_lod is a preprocessor guard. Do not pass it to API calls. 17064 #define VK_EXT_image_view_min_lod 1 17065 #define VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION 1 17066 #define VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME "VK_EXT_image_view_min_lod" 17067 typedef struct VkPhysicalDeviceImageViewMinLodFeaturesEXT { 17068 VkStructureType sType; 17069 void* pNext; 17070 VkBool32 minLod; 17071 } VkPhysicalDeviceImageViewMinLodFeaturesEXT; 17072 17073 typedef struct VkImageViewMinLodCreateInfoEXT { 17074 VkStructureType sType; 17075 const void* pNext; 17076 float minLod; 17077 } VkImageViewMinLodCreateInfoEXT; 17078 17079 17080 17081 // VK_EXT_multi_draw is a preprocessor guard. Do not pass it to API calls. 17082 #define VK_EXT_multi_draw 1 17083 #define VK_EXT_MULTI_DRAW_SPEC_VERSION 1 17084 #define VK_EXT_MULTI_DRAW_EXTENSION_NAME "VK_EXT_multi_draw" 17085 typedef struct VkPhysicalDeviceMultiDrawFeaturesEXT { 17086 VkStructureType sType; 17087 void* pNext; 17088 VkBool32 multiDraw; 17089 } VkPhysicalDeviceMultiDrawFeaturesEXT; 17090 17091 typedef struct VkPhysicalDeviceMultiDrawPropertiesEXT { 17092 VkStructureType sType; 17093 void* pNext; 17094 uint32_t maxMultiDrawCount; 17095 } VkPhysicalDeviceMultiDrawPropertiesEXT; 17096 17097 typedef struct VkMultiDrawInfoEXT { 17098 uint32_t firstVertex; 17099 uint32_t vertexCount; 17100 } VkMultiDrawInfoEXT; 17101 17102 typedef struct VkMultiDrawIndexedInfoEXT { 17103 uint32_t firstIndex; 17104 uint32_t indexCount; 17105 int32_t vertexOffset; 17106 } VkMultiDrawIndexedInfoEXT; 17107 17108 typedef void (VKAPI_PTR *PFN_vkCmdDrawMultiEXT)(VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawInfoEXT* pVertexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride); 17109 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); 17110 17111 #ifndef VK_NO_PROTOTYPES 17112 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiEXT( 17113 VkCommandBuffer commandBuffer, 17114 uint32_t drawCount, 17115 const VkMultiDrawInfoEXT* pVertexInfo, 17116 uint32_t instanceCount, 17117 uint32_t firstInstance, 17118 uint32_t stride); 17119 17120 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiIndexedEXT( 17121 VkCommandBuffer commandBuffer, 17122 uint32_t drawCount, 17123 const VkMultiDrawIndexedInfoEXT* pIndexInfo, 17124 uint32_t instanceCount, 17125 uint32_t firstInstance, 17126 uint32_t stride, 17127 const int32_t* pVertexOffset); 17128 #endif 17129 17130 17131 // VK_EXT_image_2d_view_of_3d is a preprocessor guard. Do not pass it to API calls. 17132 #define VK_EXT_image_2d_view_of_3d 1 17133 #define VK_EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION 1 17134 #define VK_EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME "VK_EXT_image_2d_view_of_3d" 17135 typedef struct VkPhysicalDeviceImage2DViewOf3DFeaturesEXT { 17136 VkStructureType sType; 17137 void* pNext; 17138 VkBool32 image2DViewOf3D; 17139 VkBool32 sampler2DViewOf3D; 17140 } VkPhysicalDeviceImage2DViewOf3DFeaturesEXT; 17141 17142 17143 17144 // VK_EXT_shader_tile_image is a preprocessor guard. Do not pass it to API calls. 17145 #define VK_EXT_shader_tile_image 1 17146 #define VK_EXT_SHADER_TILE_IMAGE_SPEC_VERSION 1 17147 #define VK_EXT_SHADER_TILE_IMAGE_EXTENSION_NAME "VK_EXT_shader_tile_image" 17148 typedef struct VkPhysicalDeviceShaderTileImageFeaturesEXT { 17149 VkStructureType sType; 17150 void* pNext; 17151 VkBool32 shaderTileImageColorReadAccess; 17152 VkBool32 shaderTileImageDepthReadAccess; 17153 VkBool32 shaderTileImageStencilReadAccess; 17154 } VkPhysicalDeviceShaderTileImageFeaturesEXT; 17155 17156 typedef struct VkPhysicalDeviceShaderTileImagePropertiesEXT { 17157 VkStructureType sType; 17158 void* pNext; 17159 VkBool32 shaderTileImageCoherentReadAccelerated; 17160 VkBool32 shaderTileImageReadSampleFromPixelRateInvocation; 17161 VkBool32 shaderTileImageReadFromHelperInvocation; 17162 } VkPhysicalDeviceShaderTileImagePropertiesEXT; 17163 17164 17165 17166 // VK_EXT_opacity_micromap is a preprocessor guard. Do not pass it to API calls. 17167 #define VK_EXT_opacity_micromap 1 17168 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkMicromapEXT) 17169 #define VK_EXT_OPACITY_MICROMAP_SPEC_VERSION 2 17170 #define VK_EXT_OPACITY_MICROMAP_EXTENSION_NAME "VK_EXT_opacity_micromap" 17171 17172 typedef enum VkMicromapTypeEXT { 17173 VK_MICROMAP_TYPE_OPACITY_MICROMAP_EXT = 0, 17174 #ifdef VK_ENABLE_BETA_EXTENSIONS 17175 VK_MICROMAP_TYPE_DISPLACEMENT_MICROMAP_NV = 1000397000, 17176 #endif 17177 VK_MICROMAP_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 17178 } VkMicromapTypeEXT; 17179 17180 typedef enum VkBuildMicromapModeEXT { 17181 VK_BUILD_MICROMAP_MODE_BUILD_EXT = 0, 17182 VK_BUILD_MICROMAP_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 17183 } VkBuildMicromapModeEXT; 17184 17185 typedef enum VkCopyMicromapModeEXT { 17186 VK_COPY_MICROMAP_MODE_CLONE_EXT = 0, 17187 VK_COPY_MICROMAP_MODE_SERIALIZE_EXT = 1, 17188 VK_COPY_MICROMAP_MODE_DESERIALIZE_EXT = 2, 17189 VK_COPY_MICROMAP_MODE_COMPACT_EXT = 3, 17190 VK_COPY_MICROMAP_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 17191 } VkCopyMicromapModeEXT; 17192 17193 typedef enum VkOpacityMicromapFormatEXT { 17194 VK_OPACITY_MICROMAP_FORMAT_2_STATE_EXT = 1, 17195 VK_OPACITY_MICROMAP_FORMAT_4_STATE_EXT = 2, 17196 VK_OPACITY_MICROMAP_FORMAT_MAX_ENUM_EXT = 0x7FFFFFFF 17197 } VkOpacityMicromapFormatEXT; 17198 17199 typedef enum VkOpacityMicromapSpecialIndexEXT { 17200 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_TRANSPARENT_EXT = -1, 17201 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_OPAQUE_EXT = -2, 17202 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_TRANSPARENT_EXT = -3, 17203 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_OPAQUE_EXT = -4, 17204 VK_OPACITY_MICROMAP_SPECIAL_INDEX_MAX_ENUM_EXT = 0x7FFFFFFF 17205 } VkOpacityMicromapSpecialIndexEXT; 17206 17207 typedef enum VkAccelerationStructureCompatibilityKHR { 17208 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR = 0, 17209 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR = 1, 17210 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR = 0x7FFFFFFF 17211 } VkAccelerationStructureCompatibilityKHR; 17212 17213 typedef enum VkAccelerationStructureBuildTypeKHR { 17214 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0, 17215 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1, 17216 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR = 2, 17217 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 17218 } VkAccelerationStructureBuildTypeKHR; 17219 17220 typedef enum VkBuildMicromapFlagBitsEXT { 17221 VK_BUILD_MICROMAP_PREFER_FAST_TRACE_BIT_EXT = 0x00000001, 17222 VK_BUILD_MICROMAP_PREFER_FAST_BUILD_BIT_EXT = 0x00000002, 17223 VK_BUILD_MICROMAP_ALLOW_COMPACTION_BIT_EXT = 0x00000004, 17224 VK_BUILD_MICROMAP_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 17225 } VkBuildMicromapFlagBitsEXT; 17226 typedef VkFlags VkBuildMicromapFlagsEXT; 17227 17228 typedef enum VkMicromapCreateFlagBitsEXT { 17229 VK_MICROMAP_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = 0x00000001, 17230 VK_MICROMAP_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 17231 } VkMicromapCreateFlagBitsEXT; 17232 typedef VkFlags VkMicromapCreateFlagsEXT; 17233 typedef struct VkMicromapUsageEXT { 17234 uint32_t count; 17235 uint32_t subdivisionLevel; 17236 uint32_t format; 17237 } VkMicromapUsageEXT; 17238 17239 typedef union VkDeviceOrHostAddressKHR { 17240 VkDeviceAddress deviceAddress; 17241 void* hostAddress; 17242 } VkDeviceOrHostAddressKHR; 17243 17244 typedef struct VkMicromapBuildInfoEXT { 17245 VkStructureType sType; 17246 const void* pNext; 17247 VkMicromapTypeEXT type; 17248 VkBuildMicromapFlagsEXT flags; 17249 VkBuildMicromapModeEXT mode; 17250 VkMicromapEXT dstMicromap; 17251 uint32_t usageCountsCount; 17252 const VkMicromapUsageEXT* pUsageCounts; 17253 const VkMicromapUsageEXT* const* ppUsageCounts; 17254 VkDeviceOrHostAddressConstKHR data; 17255 VkDeviceOrHostAddressKHR scratchData; 17256 VkDeviceOrHostAddressConstKHR triangleArray; 17257 VkDeviceSize triangleArrayStride; 17258 } VkMicromapBuildInfoEXT; 17259 17260 typedef struct VkMicromapCreateInfoEXT { 17261 VkStructureType sType; 17262 const void* pNext; 17263 VkMicromapCreateFlagsEXT createFlags; 17264 VkBuffer buffer; 17265 VkDeviceSize offset; 17266 VkDeviceSize size; 17267 VkMicromapTypeEXT type; 17268 VkDeviceAddress deviceAddress; 17269 } VkMicromapCreateInfoEXT; 17270 17271 typedef struct VkPhysicalDeviceOpacityMicromapFeaturesEXT { 17272 VkStructureType sType; 17273 void* pNext; 17274 VkBool32 micromap; 17275 VkBool32 micromapCaptureReplay; 17276 VkBool32 micromapHostCommands; 17277 } VkPhysicalDeviceOpacityMicromapFeaturesEXT; 17278 17279 typedef struct VkPhysicalDeviceOpacityMicromapPropertiesEXT { 17280 VkStructureType sType; 17281 void* pNext; 17282 uint32_t maxOpacity2StateSubdivisionLevel; 17283 uint32_t maxOpacity4StateSubdivisionLevel; 17284 } VkPhysicalDeviceOpacityMicromapPropertiesEXT; 17285 17286 typedef struct VkMicromapVersionInfoEXT { 17287 VkStructureType sType; 17288 const void* pNext; 17289 const uint8_t* pVersionData; 17290 } VkMicromapVersionInfoEXT; 17291 17292 typedef struct VkCopyMicromapToMemoryInfoEXT { 17293 VkStructureType sType; 17294 const void* pNext; 17295 VkMicromapEXT src; 17296 VkDeviceOrHostAddressKHR dst; 17297 VkCopyMicromapModeEXT mode; 17298 } VkCopyMicromapToMemoryInfoEXT; 17299 17300 typedef struct VkCopyMemoryToMicromapInfoEXT { 17301 VkStructureType sType; 17302 const void* pNext; 17303 VkDeviceOrHostAddressConstKHR src; 17304 VkMicromapEXT dst; 17305 VkCopyMicromapModeEXT mode; 17306 } VkCopyMemoryToMicromapInfoEXT; 17307 17308 typedef struct VkCopyMicromapInfoEXT { 17309 VkStructureType sType; 17310 const void* pNext; 17311 VkMicromapEXT src; 17312 VkMicromapEXT dst; 17313 VkCopyMicromapModeEXT mode; 17314 } VkCopyMicromapInfoEXT; 17315 17316 typedef struct VkMicromapBuildSizesInfoEXT { 17317 VkStructureType sType; 17318 const void* pNext; 17319 VkDeviceSize micromapSize; 17320 VkDeviceSize buildScratchSize; 17321 VkBool32 discardable; 17322 } VkMicromapBuildSizesInfoEXT; 17323 17324 typedef struct VkAccelerationStructureTrianglesOpacityMicromapEXT { 17325 VkStructureType sType; 17326 void* pNext; 17327 VkIndexType indexType; 17328 VkDeviceOrHostAddressConstKHR indexBuffer; 17329 VkDeviceSize indexStride; 17330 uint32_t baseTriangle; 17331 uint32_t usageCountsCount; 17332 const VkMicromapUsageEXT* pUsageCounts; 17333 const VkMicromapUsageEXT* const* ppUsageCounts; 17334 VkMicromapEXT micromap; 17335 } VkAccelerationStructureTrianglesOpacityMicromapEXT; 17336 17337 typedef struct VkMicromapTriangleEXT { 17338 uint32_t dataOffset; 17339 uint16_t subdivisionLevel; 17340 uint16_t format; 17341 } VkMicromapTriangleEXT; 17342 17343 typedef VkResult (VKAPI_PTR *PFN_vkCreateMicromapEXT)(VkDevice device, const VkMicromapCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkMicromapEXT* pMicromap); 17344 typedef void (VKAPI_PTR *PFN_vkDestroyMicromapEXT)(VkDevice device, VkMicromapEXT micromap, const VkAllocationCallbacks* pAllocator); 17345 typedef void (VKAPI_PTR *PFN_vkCmdBuildMicromapsEXT)(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkMicromapBuildInfoEXT* pInfos); 17346 typedef VkResult (VKAPI_PTR *PFN_vkBuildMicromapsEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkMicromapBuildInfoEXT* pInfos); 17347 typedef VkResult (VKAPI_PTR *PFN_vkCopyMicromapEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapInfoEXT* pInfo); 17348 typedef VkResult (VKAPI_PTR *PFN_vkCopyMicromapToMemoryEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapToMemoryInfoEXT* pInfo); 17349 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToMicromapEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToMicromapInfoEXT* pInfo); 17350 typedef VkResult (VKAPI_PTR *PFN_vkWriteMicromapsPropertiesEXT)(VkDevice device, uint32_t micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, size_t dataSize, void* pData, size_t stride); 17351 typedef void (VKAPI_PTR *PFN_vkCmdCopyMicromapEXT)(VkCommandBuffer commandBuffer, const VkCopyMicromapInfoEXT* pInfo); 17352 typedef void (VKAPI_PTR *PFN_vkCmdCopyMicromapToMemoryEXT)(VkCommandBuffer commandBuffer, const VkCopyMicromapToMemoryInfoEXT* pInfo); 17353 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToMicromapEXT)(VkCommandBuffer commandBuffer, const VkCopyMemoryToMicromapInfoEXT* pInfo); 17354 typedef void (VKAPI_PTR *PFN_vkCmdWriteMicromapsPropertiesEXT)(VkCommandBuffer commandBuffer, uint32_t micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery); 17355 typedef void (VKAPI_PTR *PFN_vkGetDeviceMicromapCompatibilityEXT)(VkDevice device, const VkMicromapVersionInfoEXT* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility); 17356 typedef void (VKAPI_PTR *PFN_vkGetMicromapBuildSizesEXT)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkMicromapBuildInfoEXT* pBuildInfo, VkMicromapBuildSizesInfoEXT* pSizeInfo); 17357 17358 #ifndef VK_NO_PROTOTYPES 17359 VKAPI_ATTR VkResult VKAPI_CALL vkCreateMicromapEXT( 17360 VkDevice device, 17361 const VkMicromapCreateInfoEXT* pCreateInfo, 17362 const VkAllocationCallbacks* pAllocator, 17363 VkMicromapEXT* pMicromap); 17364 17365 VKAPI_ATTR void VKAPI_CALL vkDestroyMicromapEXT( 17366 VkDevice device, 17367 VkMicromapEXT micromap, 17368 const VkAllocationCallbacks* pAllocator); 17369 17370 VKAPI_ATTR void VKAPI_CALL vkCmdBuildMicromapsEXT( 17371 VkCommandBuffer commandBuffer, 17372 uint32_t infoCount, 17373 const VkMicromapBuildInfoEXT* pInfos); 17374 17375 VKAPI_ATTR VkResult VKAPI_CALL vkBuildMicromapsEXT( 17376 VkDevice device, 17377 VkDeferredOperationKHR deferredOperation, 17378 uint32_t infoCount, 17379 const VkMicromapBuildInfoEXT* pInfos); 17380 17381 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMicromapEXT( 17382 VkDevice device, 17383 VkDeferredOperationKHR deferredOperation, 17384 const VkCopyMicromapInfoEXT* pInfo); 17385 17386 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMicromapToMemoryEXT( 17387 VkDevice device, 17388 VkDeferredOperationKHR deferredOperation, 17389 const VkCopyMicromapToMemoryInfoEXT* pInfo); 17390 17391 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToMicromapEXT( 17392 VkDevice device, 17393 VkDeferredOperationKHR deferredOperation, 17394 const VkCopyMemoryToMicromapInfoEXT* pInfo); 17395 17396 VKAPI_ATTR VkResult VKAPI_CALL vkWriteMicromapsPropertiesEXT( 17397 VkDevice device, 17398 uint32_t micromapCount, 17399 const VkMicromapEXT* pMicromaps, 17400 VkQueryType queryType, 17401 size_t dataSize, 17402 void* pData, 17403 size_t stride); 17404 17405 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMicromapEXT( 17406 VkCommandBuffer commandBuffer, 17407 const VkCopyMicromapInfoEXT* pInfo); 17408 17409 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMicromapToMemoryEXT( 17410 VkCommandBuffer commandBuffer, 17411 const VkCopyMicromapToMemoryInfoEXT* pInfo); 17412 17413 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToMicromapEXT( 17414 VkCommandBuffer commandBuffer, 17415 const VkCopyMemoryToMicromapInfoEXT* pInfo); 17416 17417 VKAPI_ATTR void VKAPI_CALL vkCmdWriteMicromapsPropertiesEXT( 17418 VkCommandBuffer commandBuffer, 17419 uint32_t micromapCount, 17420 const VkMicromapEXT* pMicromaps, 17421 VkQueryType queryType, 17422 VkQueryPool queryPool, 17423 uint32_t firstQuery); 17424 17425 VKAPI_ATTR void VKAPI_CALL vkGetDeviceMicromapCompatibilityEXT( 17426 VkDevice device, 17427 const VkMicromapVersionInfoEXT* pVersionInfo, 17428 VkAccelerationStructureCompatibilityKHR* pCompatibility); 17429 17430 VKAPI_ATTR void VKAPI_CALL vkGetMicromapBuildSizesEXT( 17431 VkDevice device, 17432 VkAccelerationStructureBuildTypeKHR buildType, 17433 const VkMicromapBuildInfoEXT* pBuildInfo, 17434 VkMicromapBuildSizesInfoEXT* pSizeInfo); 17435 #endif 17436 17437 17438 // VK_EXT_load_store_op_none is a preprocessor guard. Do not pass it to API calls. 17439 #define VK_EXT_load_store_op_none 1 17440 #define VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION 1 17441 #define VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME "VK_EXT_load_store_op_none" 17442 17443 17444 // VK_HUAWEI_cluster_culling_shader is a preprocessor guard. Do not pass it to API calls. 17445 #define VK_HUAWEI_cluster_culling_shader 1 17446 #define VK_HUAWEI_CLUSTER_CULLING_SHADER_SPEC_VERSION 3 17447 #define VK_HUAWEI_CLUSTER_CULLING_SHADER_EXTENSION_NAME "VK_HUAWEI_cluster_culling_shader" 17448 typedef struct VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI { 17449 VkStructureType sType; 17450 void* pNext; 17451 VkBool32 clustercullingShader; 17452 VkBool32 multiviewClusterCullingShader; 17453 } VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI; 17454 17455 typedef struct VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI { 17456 VkStructureType sType; 17457 void* pNext; 17458 uint32_t maxWorkGroupCount[3]; 17459 uint32_t maxWorkGroupSize[3]; 17460 uint32_t maxOutputClusterCount; 17461 VkDeviceSize indirectBufferOffsetAlignment; 17462 } VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI; 17463 17464 typedef struct VkPhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI { 17465 VkStructureType sType; 17466 void* pNext; 17467 VkBool32 clusterShadingRate; 17468 } VkPhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI; 17469 17470 typedef void (VKAPI_PTR *PFN_vkCmdDrawClusterHUAWEI)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ); 17471 typedef void (VKAPI_PTR *PFN_vkCmdDrawClusterIndirectHUAWEI)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset); 17472 17473 #ifndef VK_NO_PROTOTYPES 17474 VKAPI_ATTR void VKAPI_CALL vkCmdDrawClusterHUAWEI( 17475 VkCommandBuffer commandBuffer, 17476 uint32_t groupCountX, 17477 uint32_t groupCountY, 17478 uint32_t groupCountZ); 17479 17480 VKAPI_ATTR void VKAPI_CALL vkCmdDrawClusterIndirectHUAWEI( 17481 VkCommandBuffer commandBuffer, 17482 VkBuffer buffer, 17483 VkDeviceSize offset); 17484 #endif 17485 17486 17487 // VK_EXT_border_color_swizzle is a preprocessor guard. Do not pass it to API calls. 17488 #define VK_EXT_border_color_swizzle 1 17489 #define VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION 1 17490 #define VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME "VK_EXT_border_color_swizzle" 17491 typedef struct VkPhysicalDeviceBorderColorSwizzleFeaturesEXT { 17492 VkStructureType sType; 17493 void* pNext; 17494 VkBool32 borderColorSwizzle; 17495 VkBool32 borderColorSwizzleFromImage; 17496 } VkPhysicalDeviceBorderColorSwizzleFeaturesEXT; 17497 17498 typedef struct VkSamplerBorderColorComponentMappingCreateInfoEXT { 17499 VkStructureType sType; 17500 const void* pNext; 17501 VkComponentMapping components; 17502 VkBool32 srgb; 17503 } VkSamplerBorderColorComponentMappingCreateInfoEXT; 17504 17505 17506 17507 // VK_EXT_pageable_device_local_memory is a preprocessor guard. Do not pass it to API calls. 17508 #define VK_EXT_pageable_device_local_memory 1 17509 #define VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION 1 17510 #define VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME "VK_EXT_pageable_device_local_memory" 17511 typedef struct VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT { 17512 VkStructureType sType; 17513 void* pNext; 17514 VkBool32 pageableDeviceLocalMemory; 17515 } VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT; 17516 17517 typedef void (VKAPI_PTR *PFN_vkSetDeviceMemoryPriorityEXT)(VkDevice device, VkDeviceMemory memory, float priority); 17518 17519 #ifndef VK_NO_PROTOTYPES 17520 VKAPI_ATTR void VKAPI_CALL vkSetDeviceMemoryPriorityEXT( 17521 VkDevice device, 17522 VkDeviceMemory memory, 17523 float priority); 17524 #endif 17525 17526 17527 // VK_ARM_shader_core_properties is a preprocessor guard. Do not pass it to API calls. 17528 #define VK_ARM_shader_core_properties 1 17529 #define VK_ARM_SHADER_CORE_PROPERTIES_SPEC_VERSION 1 17530 #define VK_ARM_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_ARM_shader_core_properties" 17531 typedef struct VkPhysicalDeviceShaderCorePropertiesARM { 17532 VkStructureType sType; 17533 void* pNext; 17534 uint32_t pixelRate; 17535 uint32_t texelRate; 17536 uint32_t fmaRate; 17537 } VkPhysicalDeviceShaderCorePropertiesARM; 17538 17539 17540 17541 // VK_ARM_scheduling_controls is a preprocessor guard. Do not pass it to API calls. 17542 #define VK_ARM_scheduling_controls 1 17543 #define VK_ARM_SCHEDULING_CONTROLS_SPEC_VERSION 1 17544 #define VK_ARM_SCHEDULING_CONTROLS_EXTENSION_NAME "VK_ARM_scheduling_controls" 17545 typedef VkFlags64 VkPhysicalDeviceSchedulingControlsFlagsARM; 17546 17547 // Flag bits for VkPhysicalDeviceSchedulingControlsFlagBitsARM 17548 typedef VkFlags64 VkPhysicalDeviceSchedulingControlsFlagBitsARM; 17549 static const VkPhysicalDeviceSchedulingControlsFlagBitsARM VK_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_SHADER_CORE_COUNT_ARM = 0x00000001ULL; 17550 17551 typedef struct VkDeviceQueueShaderCoreControlCreateInfoARM { 17552 VkStructureType sType; 17553 void* pNext; 17554 uint32_t shaderCoreCount; 17555 } VkDeviceQueueShaderCoreControlCreateInfoARM; 17556 17557 typedef struct VkPhysicalDeviceSchedulingControlsFeaturesARM { 17558 VkStructureType sType; 17559 void* pNext; 17560 VkBool32 schedulingControls; 17561 } VkPhysicalDeviceSchedulingControlsFeaturesARM; 17562 17563 typedef struct VkPhysicalDeviceSchedulingControlsPropertiesARM { 17564 VkStructureType sType; 17565 void* pNext; 17566 VkPhysicalDeviceSchedulingControlsFlagsARM schedulingControlsFlags; 17567 } VkPhysicalDeviceSchedulingControlsPropertiesARM; 17568 17569 17570 17571 // VK_EXT_image_sliced_view_of_3d is a preprocessor guard. Do not pass it to API calls. 17572 #define VK_EXT_image_sliced_view_of_3d 1 17573 #define VK_EXT_IMAGE_SLICED_VIEW_OF_3D_SPEC_VERSION 1 17574 #define VK_EXT_IMAGE_SLICED_VIEW_OF_3D_EXTENSION_NAME "VK_EXT_image_sliced_view_of_3d" 17575 #define VK_REMAINING_3D_SLICES_EXT (~0U) 17576 typedef struct VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT { 17577 VkStructureType sType; 17578 void* pNext; 17579 VkBool32 imageSlicedViewOf3D; 17580 } VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT; 17581 17582 typedef struct VkImageViewSlicedCreateInfoEXT { 17583 VkStructureType sType; 17584 const void* pNext; 17585 uint32_t sliceOffset; 17586 uint32_t sliceCount; 17587 } VkImageViewSlicedCreateInfoEXT; 17588 17589 17590 17591 // VK_VALVE_descriptor_set_host_mapping is a preprocessor guard. Do not pass it to API calls. 17592 #define VK_VALVE_descriptor_set_host_mapping 1 17593 #define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION 1 17594 #define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME "VK_VALVE_descriptor_set_host_mapping" 17595 typedef struct VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE { 17596 VkStructureType sType; 17597 void* pNext; 17598 VkBool32 descriptorSetHostMapping; 17599 } VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE; 17600 17601 typedef struct VkDescriptorSetBindingReferenceVALVE { 17602 VkStructureType sType; 17603 const void* pNext; 17604 VkDescriptorSetLayout descriptorSetLayout; 17605 uint32_t binding; 17606 } VkDescriptorSetBindingReferenceVALVE; 17607 17608 typedef struct VkDescriptorSetLayoutHostMappingInfoVALVE { 17609 VkStructureType sType; 17610 void* pNext; 17611 size_t descriptorOffset; 17612 uint32_t descriptorSize; 17613 } VkDescriptorSetLayoutHostMappingInfoVALVE; 17614 17615 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE)(VkDevice device, const VkDescriptorSetBindingReferenceVALVE* pBindingReference, VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping); 17616 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetHostMappingVALVE)(VkDevice device, VkDescriptorSet descriptorSet, void** ppData); 17617 17618 #ifndef VK_NO_PROTOTYPES 17619 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutHostMappingInfoVALVE( 17620 VkDevice device, 17621 const VkDescriptorSetBindingReferenceVALVE* pBindingReference, 17622 VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping); 17623 17624 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetHostMappingVALVE( 17625 VkDevice device, 17626 VkDescriptorSet descriptorSet, 17627 void** ppData); 17628 #endif 17629 17630 17631 // VK_EXT_depth_clamp_zero_one is a preprocessor guard. Do not pass it to API calls. 17632 #define VK_EXT_depth_clamp_zero_one 1 17633 #define VK_EXT_DEPTH_CLAMP_ZERO_ONE_SPEC_VERSION 1 17634 #define VK_EXT_DEPTH_CLAMP_ZERO_ONE_EXTENSION_NAME "VK_EXT_depth_clamp_zero_one" 17635 typedef struct VkPhysicalDeviceDepthClampZeroOneFeaturesEXT { 17636 VkStructureType sType; 17637 void* pNext; 17638 VkBool32 depthClampZeroOne; 17639 } VkPhysicalDeviceDepthClampZeroOneFeaturesEXT; 17640 17641 17642 17643 // VK_EXT_non_seamless_cube_map is a preprocessor guard. Do not pass it to API calls. 17644 #define VK_EXT_non_seamless_cube_map 1 17645 #define VK_EXT_NON_SEAMLESS_CUBE_MAP_SPEC_VERSION 1 17646 #define VK_EXT_NON_SEAMLESS_CUBE_MAP_EXTENSION_NAME "VK_EXT_non_seamless_cube_map" 17647 typedef struct VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT { 17648 VkStructureType sType; 17649 void* pNext; 17650 VkBool32 nonSeamlessCubeMap; 17651 } VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT; 17652 17653 17654 17655 // VK_ARM_render_pass_striped is a preprocessor guard. Do not pass it to API calls. 17656 #define VK_ARM_render_pass_striped 1 17657 #define VK_ARM_RENDER_PASS_STRIPED_SPEC_VERSION 1 17658 #define VK_ARM_RENDER_PASS_STRIPED_EXTENSION_NAME "VK_ARM_render_pass_striped" 17659 typedef struct VkPhysicalDeviceRenderPassStripedFeaturesARM { 17660 VkStructureType sType; 17661 void* pNext; 17662 VkBool32 renderPassStriped; 17663 } VkPhysicalDeviceRenderPassStripedFeaturesARM; 17664 17665 typedef struct VkPhysicalDeviceRenderPassStripedPropertiesARM { 17666 VkStructureType sType; 17667 void* pNext; 17668 VkExtent2D renderPassStripeGranularity; 17669 uint32_t maxRenderPassStripes; 17670 } VkPhysicalDeviceRenderPassStripedPropertiesARM; 17671 17672 typedef struct VkRenderPassStripeInfoARM { 17673 VkStructureType sType; 17674 const void* pNext; 17675 VkRect2D stripeArea; 17676 } VkRenderPassStripeInfoARM; 17677 17678 typedef struct VkRenderPassStripeBeginInfoARM { 17679 VkStructureType sType; 17680 const void* pNext; 17681 uint32_t stripeInfoCount; 17682 const VkRenderPassStripeInfoARM* pStripeInfos; 17683 } VkRenderPassStripeBeginInfoARM; 17684 17685 typedef struct VkRenderPassStripeSubmitInfoARM { 17686 VkStructureType sType; 17687 const void* pNext; 17688 uint32_t stripeSemaphoreInfoCount; 17689 const VkSemaphoreSubmitInfo* pStripeSemaphoreInfos; 17690 } VkRenderPassStripeSubmitInfoARM; 17691 17692 17693 17694 // VK_QCOM_fragment_density_map_offset is a preprocessor guard. Do not pass it to API calls. 17695 #define VK_QCOM_fragment_density_map_offset 1 17696 #define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION 1 17697 #define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME "VK_QCOM_fragment_density_map_offset" 17698 typedef struct VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM { 17699 VkStructureType sType; 17700 void* pNext; 17701 VkBool32 fragmentDensityMapOffset; 17702 } VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM; 17703 17704 typedef struct VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM { 17705 VkStructureType sType; 17706 void* pNext; 17707 VkExtent2D fragmentDensityOffsetGranularity; 17708 } VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM; 17709 17710 typedef struct VkSubpassFragmentDensityMapOffsetEndInfoQCOM { 17711 VkStructureType sType; 17712 const void* pNext; 17713 uint32_t fragmentDensityOffsetCount; 17714 const VkOffset2D* pFragmentDensityOffsets; 17715 } VkSubpassFragmentDensityMapOffsetEndInfoQCOM; 17716 17717 17718 17719 // VK_NV_copy_memory_indirect is a preprocessor guard. Do not pass it to API calls. 17720 #define VK_NV_copy_memory_indirect 1 17721 #define VK_NV_COPY_MEMORY_INDIRECT_SPEC_VERSION 1 17722 #define VK_NV_COPY_MEMORY_INDIRECT_EXTENSION_NAME "VK_NV_copy_memory_indirect" 17723 typedef struct VkCopyMemoryIndirectCommandNV { 17724 VkDeviceAddress srcAddress; 17725 VkDeviceAddress dstAddress; 17726 VkDeviceSize size; 17727 } VkCopyMemoryIndirectCommandNV; 17728 17729 typedef struct VkCopyMemoryToImageIndirectCommandNV { 17730 VkDeviceAddress srcAddress; 17731 uint32_t bufferRowLength; 17732 uint32_t bufferImageHeight; 17733 VkImageSubresourceLayers imageSubresource; 17734 VkOffset3D imageOffset; 17735 VkExtent3D imageExtent; 17736 } VkCopyMemoryToImageIndirectCommandNV; 17737 17738 typedef struct VkPhysicalDeviceCopyMemoryIndirectFeaturesNV { 17739 VkStructureType sType; 17740 void* pNext; 17741 VkBool32 indirectCopy; 17742 } VkPhysicalDeviceCopyMemoryIndirectFeaturesNV; 17743 17744 typedef struct VkPhysicalDeviceCopyMemoryIndirectPropertiesNV { 17745 VkStructureType sType; 17746 void* pNext; 17747 VkQueueFlags supportedQueues; 17748 } VkPhysicalDeviceCopyMemoryIndirectPropertiesNV; 17749 17750 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryIndirectNV)(VkCommandBuffer commandBuffer, VkDeviceAddress copyBufferAddress, uint32_t copyCount, uint32_t stride); 17751 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToImageIndirectNV)(VkCommandBuffer commandBuffer, VkDeviceAddress copyBufferAddress, uint32_t copyCount, uint32_t stride, VkImage dstImage, VkImageLayout dstImageLayout, const VkImageSubresourceLayers* pImageSubresources); 17752 17753 #ifndef VK_NO_PROTOTYPES 17754 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryIndirectNV( 17755 VkCommandBuffer commandBuffer, 17756 VkDeviceAddress copyBufferAddress, 17757 uint32_t copyCount, 17758 uint32_t stride); 17759 17760 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToImageIndirectNV( 17761 VkCommandBuffer commandBuffer, 17762 VkDeviceAddress copyBufferAddress, 17763 uint32_t copyCount, 17764 uint32_t stride, 17765 VkImage dstImage, 17766 VkImageLayout dstImageLayout, 17767 const VkImageSubresourceLayers* pImageSubresources); 17768 #endif 17769 17770 17771 // VK_NV_memory_decompression is a preprocessor guard. Do not pass it to API calls. 17772 #define VK_NV_memory_decompression 1 17773 #define VK_NV_MEMORY_DECOMPRESSION_SPEC_VERSION 1 17774 #define VK_NV_MEMORY_DECOMPRESSION_EXTENSION_NAME "VK_NV_memory_decompression" 17775 17776 // Flag bits for VkMemoryDecompressionMethodFlagBitsNV 17777 typedef VkFlags64 VkMemoryDecompressionMethodFlagBitsNV; 17778 static const VkMemoryDecompressionMethodFlagBitsNV VK_MEMORY_DECOMPRESSION_METHOD_GDEFLATE_1_0_BIT_NV = 0x00000001ULL; 17779 17780 typedef VkFlags64 VkMemoryDecompressionMethodFlagsNV; 17781 typedef struct VkDecompressMemoryRegionNV { 17782 VkDeviceAddress srcAddress; 17783 VkDeviceAddress dstAddress; 17784 VkDeviceSize compressedSize; 17785 VkDeviceSize decompressedSize; 17786 VkMemoryDecompressionMethodFlagsNV decompressionMethod; 17787 } VkDecompressMemoryRegionNV; 17788 17789 typedef struct VkPhysicalDeviceMemoryDecompressionFeaturesNV { 17790 VkStructureType sType; 17791 void* pNext; 17792 VkBool32 memoryDecompression; 17793 } VkPhysicalDeviceMemoryDecompressionFeaturesNV; 17794 17795 typedef struct VkPhysicalDeviceMemoryDecompressionPropertiesNV { 17796 VkStructureType sType; 17797 void* pNext; 17798 VkMemoryDecompressionMethodFlagsNV decompressionMethods; 17799 uint64_t maxDecompressionIndirectCount; 17800 } VkPhysicalDeviceMemoryDecompressionPropertiesNV; 17801 17802 typedef void (VKAPI_PTR *PFN_vkCmdDecompressMemoryNV)(VkCommandBuffer commandBuffer, uint32_t decompressRegionCount, const VkDecompressMemoryRegionNV* pDecompressMemoryRegions); 17803 typedef void (VKAPI_PTR *PFN_vkCmdDecompressMemoryIndirectCountNV)(VkCommandBuffer commandBuffer, VkDeviceAddress indirectCommandsAddress, VkDeviceAddress indirectCommandsCountAddress, uint32_t stride); 17804 17805 #ifndef VK_NO_PROTOTYPES 17806 VKAPI_ATTR void VKAPI_CALL vkCmdDecompressMemoryNV( 17807 VkCommandBuffer commandBuffer, 17808 uint32_t decompressRegionCount, 17809 const VkDecompressMemoryRegionNV* pDecompressMemoryRegions); 17810 17811 VKAPI_ATTR void VKAPI_CALL vkCmdDecompressMemoryIndirectCountNV( 17812 VkCommandBuffer commandBuffer, 17813 VkDeviceAddress indirectCommandsAddress, 17814 VkDeviceAddress indirectCommandsCountAddress, 17815 uint32_t stride); 17816 #endif 17817 17818 17819 // VK_NV_device_generated_commands_compute is a preprocessor guard. Do not pass it to API calls. 17820 #define VK_NV_device_generated_commands_compute 1 17821 #define VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_SPEC_VERSION 2 17822 #define VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_EXTENSION_NAME "VK_NV_device_generated_commands_compute" 17823 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV { 17824 VkStructureType sType; 17825 void* pNext; 17826 VkBool32 deviceGeneratedCompute; 17827 VkBool32 deviceGeneratedComputePipelines; 17828 VkBool32 deviceGeneratedComputeCaptureReplay; 17829 } VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV; 17830 17831 typedef struct VkComputePipelineIndirectBufferInfoNV { 17832 VkStructureType sType; 17833 const void* pNext; 17834 VkDeviceAddress deviceAddress; 17835 VkDeviceSize size; 17836 VkDeviceAddress pipelineDeviceAddressCaptureReplay; 17837 } VkComputePipelineIndirectBufferInfoNV; 17838 17839 typedef struct VkPipelineIndirectDeviceAddressInfoNV { 17840 VkStructureType sType; 17841 const void* pNext; 17842 VkPipelineBindPoint pipelineBindPoint; 17843 VkPipeline pipeline; 17844 } VkPipelineIndirectDeviceAddressInfoNV; 17845 17846 typedef struct VkBindPipelineIndirectCommandNV { 17847 VkDeviceAddress pipelineAddress; 17848 } VkBindPipelineIndirectCommandNV; 17849 17850 typedef void (VKAPI_PTR *PFN_vkGetPipelineIndirectMemoryRequirementsNV)(VkDevice device, const VkComputePipelineCreateInfo* pCreateInfo, VkMemoryRequirements2* pMemoryRequirements); 17851 typedef void (VKAPI_PTR *PFN_vkCmdUpdatePipelineIndirectBufferNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline); 17852 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetPipelineIndirectDeviceAddressNV)(VkDevice device, const VkPipelineIndirectDeviceAddressInfoNV* pInfo); 17853 17854 #ifndef VK_NO_PROTOTYPES 17855 VKAPI_ATTR void VKAPI_CALL vkGetPipelineIndirectMemoryRequirementsNV( 17856 VkDevice device, 17857 const VkComputePipelineCreateInfo* pCreateInfo, 17858 VkMemoryRequirements2* pMemoryRequirements); 17859 17860 VKAPI_ATTR void VKAPI_CALL vkCmdUpdatePipelineIndirectBufferNV( 17861 VkCommandBuffer commandBuffer, 17862 VkPipelineBindPoint pipelineBindPoint, 17863 VkPipeline pipeline); 17864 17865 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetPipelineIndirectDeviceAddressNV( 17866 VkDevice device, 17867 const VkPipelineIndirectDeviceAddressInfoNV* pInfo); 17868 #endif 17869 17870 17871 // VK_NV_linear_color_attachment is a preprocessor guard. Do not pass it to API calls. 17872 #define VK_NV_linear_color_attachment 1 17873 #define VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION 1 17874 #define VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME "VK_NV_linear_color_attachment" 17875 typedef struct VkPhysicalDeviceLinearColorAttachmentFeaturesNV { 17876 VkStructureType sType; 17877 void* pNext; 17878 VkBool32 linearColorAttachment; 17879 } VkPhysicalDeviceLinearColorAttachmentFeaturesNV; 17880 17881 17882 17883 // VK_GOOGLE_surfaceless_query is a preprocessor guard. Do not pass it to API calls. 17884 #define VK_GOOGLE_surfaceless_query 1 17885 #define VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION 2 17886 #define VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME "VK_GOOGLE_surfaceless_query" 17887 17888 17889 // VK_EXT_image_compression_control_swapchain is a preprocessor guard. Do not pass it to API calls. 17890 #define VK_EXT_image_compression_control_swapchain 1 17891 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_SPEC_VERSION 1 17892 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_EXTENSION_NAME "VK_EXT_image_compression_control_swapchain" 17893 typedef struct VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT { 17894 VkStructureType sType; 17895 void* pNext; 17896 VkBool32 imageCompressionControlSwapchain; 17897 } VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT; 17898 17899 17900 17901 // VK_QCOM_image_processing is a preprocessor guard. Do not pass it to API calls. 17902 #define VK_QCOM_image_processing 1 17903 #define VK_QCOM_IMAGE_PROCESSING_SPEC_VERSION 1 17904 #define VK_QCOM_IMAGE_PROCESSING_EXTENSION_NAME "VK_QCOM_image_processing" 17905 typedef struct VkImageViewSampleWeightCreateInfoQCOM { 17906 VkStructureType sType; 17907 const void* pNext; 17908 VkOffset2D filterCenter; 17909 VkExtent2D filterSize; 17910 uint32_t numPhases; 17911 } VkImageViewSampleWeightCreateInfoQCOM; 17912 17913 typedef struct VkPhysicalDeviceImageProcessingFeaturesQCOM { 17914 VkStructureType sType; 17915 void* pNext; 17916 VkBool32 textureSampleWeighted; 17917 VkBool32 textureBoxFilter; 17918 VkBool32 textureBlockMatch; 17919 } VkPhysicalDeviceImageProcessingFeaturesQCOM; 17920 17921 typedef struct VkPhysicalDeviceImageProcessingPropertiesQCOM { 17922 VkStructureType sType; 17923 void* pNext; 17924 uint32_t maxWeightFilterPhases; 17925 VkExtent2D maxWeightFilterDimension; 17926 VkExtent2D maxBlockMatchRegion; 17927 VkExtent2D maxBoxFilterBlockSize; 17928 } VkPhysicalDeviceImageProcessingPropertiesQCOM; 17929 17930 17931 17932 // VK_EXT_nested_command_buffer is a preprocessor guard. Do not pass it to API calls. 17933 #define VK_EXT_nested_command_buffer 1 17934 #define VK_EXT_NESTED_COMMAND_BUFFER_SPEC_VERSION 1 17935 #define VK_EXT_NESTED_COMMAND_BUFFER_EXTENSION_NAME "VK_EXT_nested_command_buffer" 17936 typedef struct VkPhysicalDeviceNestedCommandBufferFeaturesEXT { 17937 VkStructureType sType; 17938 void* pNext; 17939 VkBool32 nestedCommandBuffer; 17940 VkBool32 nestedCommandBufferRendering; 17941 VkBool32 nestedCommandBufferSimultaneousUse; 17942 } VkPhysicalDeviceNestedCommandBufferFeaturesEXT; 17943 17944 typedef struct VkPhysicalDeviceNestedCommandBufferPropertiesEXT { 17945 VkStructureType sType; 17946 void* pNext; 17947 uint32_t maxCommandBufferNestingLevel; 17948 } VkPhysicalDeviceNestedCommandBufferPropertiesEXT; 17949 17950 17951 17952 // VK_EXT_external_memory_acquire_unmodified is a preprocessor guard. Do not pass it to API calls. 17953 #define VK_EXT_external_memory_acquire_unmodified 1 17954 #define VK_EXT_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_SPEC_VERSION 1 17955 #define VK_EXT_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXTENSION_NAME "VK_EXT_external_memory_acquire_unmodified" 17956 typedef struct VkExternalMemoryAcquireUnmodifiedEXT { 17957 VkStructureType sType; 17958 const void* pNext; 17959 VkBool32 acquireUnmodifiedMemory; 17960 } VkExternalMemoryAcquireUnmodifiedEXT; 17961 17962 17963 17964 // VK_EXT_extended_dynamic_state3 is a preprocessor guard. Do not pass it to API calls. 17965 #define VK_EXT_extended_dynamic_state3 1 17966 #define VK_EXT_EXTENDED_DYNAMIC_STATE_3_SPEC_VERSION 2 17967 #define VK_EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME "VK_EXT_extended_dynamic_state3" 17968 typedef struct VkPhysicalDeviceExtendedDynamicState3FeaturesEXT { 17969 VkStructureType sType; 17970 void* pNext; 17971 VkBool32 extendedDynamicState3TessellationDomainOrigin; 17972 VkBool32 extendedDynamicState3DepthClampEnable; 17973 VkBool32 extendedDynamicState3PolygonMode; 17974 VkBool32 extendedDynamicState3RasterizationSamples; 17975 VkBool32 extendedDynamicState3SampleMask; 17976 VkBool32 extendedDynamicState3AlphaToCoverageEnable; 17977 VkBool32 extendedDynamicState3AlphaToOneEnable; 17978 VkBool32 extendedDynamicState3LogicOpEnable; 17979 VkBool32 extendedDynamicState3ColorBlendEnable; 17980 VkBool32 extendedDynamicState3ColorBlendEquation; 17981 VkBool32 extendedDynamicState3ColorWriteMask; 17982 VkBool32 extendedDynamicState3RasterizationStream; 17983 VkBool32 extendedDynamicState3ConservativeRasterizationMode; 17984 VkBool32 extendedDynamicState3ExtraPrimitiveOverestimationSize; 17985 VkBool32 extendedDynamicState3DepthClipEnable; 17986 VkBool32 extendedDynamicState3SampleLocationsEnable; 17987 VkBool32 extendedDynamicState3ColorBlendAdvanced; 17988 VkBool32 extendedDynamicState3ProvokingVertexMode; 17989 VkBool32 extendedDynamicState3LineRasterizationMode; 17990 VkBool32 extendedDynamicState3LineStippleEnable; 17991 VkBool32 extendedDynamicState3DepthClipNegativeOneToOne; 17992 VkBool32 extendedDynamicState3ViewportWScalingEnable; 17993 VkBool32 extendedDynamicState3ViewportSwizzle; 17994 VkBool32 extendedDynamicState3CoverageToColorEnable; 17995 VkBool32 extendedDynamicState3CoverageToColorLocation; 17996 VkBool32 extendedDynamicState3CoverageModulationMode; 17997 VkBool32 extendedDynamicState3CoverageModulationTableEnable; 17998 VkBool32 extendedDynamicState3CoverageModulationTable; 17999 VkBool32 extendedDynamicState3CoverageReductionMode; 18000 VkBool32 extendedDynamicState3RepresentativeFragmentTestEnable; 18001 VkBool32 extendedDynamicState3ShadingRateImageEnable; 18002 } VkPhysicalDeviceExtendedDynamicState3FeaturesEXT; 18003 18004 typedef struct VkPhysicalDeviceExtendedDynamicState3PropertiesEXT { 18005 VkStructureType sType; 18006 void* pNext; 18007 VkBool32 dynamicPrimitiveTopologyUnrestricted; 18008 } VkPhysicalDeviceExtendedDynamicState3PropertiesEXT; 18009 18010 typedef struct VkColorBlendEquationEXT { 18011 VkBlendFactor srcColorBlendFactor; 18012 VkBlendFactor dstColorBlendFactor; 18013 VkBlendOp colorBlendOp; 18014 VkBlendFactor srcAlphaBlendFactor; 18015 VkBlendFactor dstAlphaBlendFactor; 18016 VkBlendOp alphaBlendOp; 18017 } VkColorBlendEquationEXT; 18018 18019 typedef struct VkColorBlendAdvancedEXT { 18020 VkBlendOp advancedBlendOp; 18021 VkBool32 srcPremultiplied; 18022 VkBool32 dstPremultiplied; 18023 VkBlendOverlapEXT blendOverlap; 18024 VkBool32 clampResults; 18025 } VkColorBlendAdvancedEXT; 18026 18027 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClampEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthClampEnable); 18028 typedef void (VKAPI_PTR *PFN_vkCmdSetPolygonModeEXT)(VkCommandBuffer commandBuffer, VkPolygonMode polygonMode); 18029 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizationSamplesEXT)(VkCommandBuffer commandBuffer, VkSampleCountFlagBits rasterizationSamples); 18030 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleMaskEXT)(VkCommandBuffer commandBuffer, VkSampleCountFlagBits samples, const VkSampleMask* pSampleMask); 18031 typedef void (VKAPI_PTR *PFN_vkCmdSetAlphaToCoverageEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 alphaToCoverageEnable); 18032 typedef void (VKAPI_PTR *PFN_vkCmdSetAlphaToOneEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 alphaToOneEnable); 18033 typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 logicOpEnable); 18034 typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendEnableEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkBool32* pColorBlendEnables); 18035 typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendEquationEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendEquationEXT* pColorBlendEquations); 18036 typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteMaskEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorComponentFlags* pColorWriteMasks); 18037 typedef void (VKAPI_PTR *PFN_vkCmdSetTessellationDomainOriginEXT)(VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin); 18038 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizationStreamEXT)(VkCommandBuffer commandBuffer, uint32_t rasterizationStream); 18039 typedef void (VKAPI_PTR *PFN_vkCmdSetConservativeRasterizationModeEXT)(VkCommandBuffer commandBuffer, VkConservativeRasterizationModeEXT conservativeRasterizationMode); 18040 typedef void (VKAPI_PTR *PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT)(VkCommandBuffer commandBuffer, float extraPrimitiveOverestimationSize); 18041 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClipEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthClipEnable); 18042 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 sampleLocationsEnable); 18043 typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendAdvancedEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendAdvancedEXT* pColorBlendAdvanced); 18044 typedef void (VKAPI_PTR *PFN_vkCmdSetProvokingVertexModeEXT)(VkCommandBuffer commandBuffer, VkProvokingVertexModeEXT provokingVertexMode); 18045 typedef void (VKAPI_PTR *PFN_vkCmdSetLineRasterizationModeEXT)(VkCommandBuffer commandBuffer, VkLineRasterizationModeEXT lineRasterizationMode); 18046 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stippledLineEnable); 18047 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClipNegativeOneToOneEXT)(VkCommandBuffer commandBuffer, VkBool32 negativeOneToOne); 18048 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingEnableNV)(VkCommandBuffer commandBuffer, VkBool32 viewportWScalingEnable); 18049 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportSwizzleNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportSwizzleNV* pViewportSwizzles); 18050 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageToColorEnableNV)(VkCommandBuffer commandBuffer, VkBool32 coverageToColorEnable); 18051 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageToColorLocationNV)(VkCommandBuffer commandBuffer, uint32_t coverageToColorLocation); 18052 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageModulationModeNV)(VkCommandBuffer commandBuffer, VkCoverageModulationModeNV coverageModulationMode); 18053 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageModulationTableEnableNV)(VkCommandBuffer commandBuffer, VkBool32 coverageModulationTableEnable); 18054 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageModulationTableNV)(VkCommandBuffer commandBuffer, uint32_t coverageModulationTableCount, const float* pCoverageModulationTable); 18055 typedef void (VKAPI_PTR *PFN_vkCmdSetShadingRateImageEnableNV)(VkCommandBuffer commandBuffer, VkBool32 shadingRateImageEnable); 18056 typedef void (VKAPI_PTR *PFN_vkCmdSetRepresentativeFragmentTestEnableNV)(VkCommandBuffer commandBuffer, VkBool32 representativeFragmentTestEnable); 18057 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageReductionModeNV)(VkCommandBuffer commandBuffer, VkCoverageReductionModeNV coverageReductionMode); 18058 18059 #ifndef VK_NO_PROTOTYPES 18060 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClampEnableEXT( 18061 VkCommandBuffer commandBuffer, 18062 VkBool32 depthClampEnable); 18063 18064 VKAPI_ATTR void VKAPI_CALL vkCmdSetPolygonModeEXT( 18065 VkCommandBuffer commandBuffer, 18066 VkPolygonMode polygonMode); 18067 18068 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizationSamplesEXT( 18069 VkCommandBuffer commandBuffer, 18070 VkSampleCountFlagBits rasterizationSamples); 18071 18072 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleMaskEXT( 18073 VkCommandBuffer commandBuffer, 18074 VkSampleCountFlagBits samples, 18075 const VkSampleMask* pSampleMask); 18076 18077 VKAPI_ATTR void VKAPI_CALL vkCmdSetAlphaToCoverageEnableEXT( 18078 VkCommandBuffer commandBuffer, 18079 VkBool32 alphaToCoverageEnable); 18080 18081 VKAPI_ATTR void VKAPI_CALL vkCmdSetAlphaToOneEnableEXT( 18082 VkCommandBuffer commandBuffer, 18083 VkBool32 alphaToOneEnable); 18084 18085 VKAPI_ATTR void VKAPI_CALL vkCmdSetLogicOpEnableEXT( 18086 VkCommandBuffer commandBuffer, 18087 VkBool32 logicOpEnable); 18088 18089 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorBlendEnableEXT( 18090 VkCommandBuffer commandBuffer, 18091 uint32_t firstAttachment, 18092 uint32_t attachmentCount, 18093 const VkBool32* pColorBlendEnables); 18094 18095 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorBlendEquationEXT( 18096 VkCommandBuffer commandBuffer, 18097 uint32_t firstAttachment, 18098 uint32_t attachmentCount, 18099 const VkColorBlendEquationEXT* pColorBlendEquations); 18100 18101 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteMaskEXT( 18102 VkCommandBuffer commandBuffer, 18103 uint32_t firstAttachment, 18104 uint32_t attachmentCount, 18105 const VkColorComponentFlags* pColorWriteMasks); 18106 18107 VKAPI_ATTR void VKAPI_CALL vkCmdSetTessellationDomainOriginEXT( 18108 VkCommandBuffer commandBuffer, 18109 VkTessellationDomainOrigin domainOrigin); 18110 18111 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizationStreamEXT( 18112 VkCommandBuffer commandBuffer, 18113 uint32_t rasterizationStream); 18114 18115 VKAPI_ATTR void VKAPI_CALL vkCmdSetConservativeRasterizationModeEXT( 18116 VkCommandBuffer commandBuffer, 18117 VkConservativeRasterizationModeEXT conservativeRasterizationMode); 18118 18119 VKAPI_ATTR void VKAPI_CALL vkCmdSetExtraPrimitiveOverestimationSizeEXT( 18120 VkCommandBuffer commandBuffer, 18121 float extraPrimitiveOverestimationSize); 18122 18123 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClipEnableEXT( 18124 VkCommandBuffer commandBuffer, 18125 VkBool32 depthClipEnable); 18126 18127 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEnableEXT( 18128 VkCommandBuffer commandBuffer, 18129 VkBool32 sampleLocationsEnable); 18130 18131 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorBlendAdvancedEXT( 18132 VkCommandBuffer commandBuffer, 18133 uint32_t firstAttachment, 18134 uint32_t attachmentCount, 18135 const VkColorBlendAdvancedEXT* pColorBlendAdvanced); 18136 18137 VKAPI_ATTR void VKAPI_CALL vkCmdSetProvokingVertexModeEXT( 18138 VkCommandBuffer commandBuffer, 18139 VkProvokingVertexModeEXT provokingVertexMode); 18140 18141 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineRasterizationModeEXT( 18142 VkCommandBuffer commandBuffer, 18143 VkLineRasterizationModeEXT lineRasterizationMode); 18144 18145 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEnableEXT( 18146 VkCommandBuffer commandBuffer, 18147 VkBool32 stippledLineEnable); 18148 18149 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClipNegativeOneToOneEXT( 18150 VkCommandBuffer commandBuffer, 18151 VkBool32 negativeOneToOne); 18152 18153 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingEnableNV( 18154 VkCommandBuffer commandBuffer, 18155 VkBool32 viewportWScalingEnable); 18156 18157 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportSwizzleNV( 18158 VkCommandBuffer commandBuffer, 18159 uint32_t firstViewport, 18160 uint32_t viewportCount, 18161 const VkViewportSwizzleNV* pViewportSwizzles); 18162 18163 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageToColorEnableNV( 18164 VkCommandBuffer commandBuffer, 18165 VkBool32 coverageToColorEnable); 18166 18167 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageToColorLocationNV( 18168 VkCommandBuffer commandBuffer, 18169 uint32_t coverageToColorLocation); 18170 18171 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageModulationModeNV( 18172 VkCommandBuffer commandBuffer, 18173 VkCoverageModulationModeNV coverageModulationMode); 18174 18175 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageModulationTableEnableNV( 18176 VkCommandBuffer commandBuffer, 18177 VkBool32 coverageModulationTableEnable); 18178 18179 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageModulationTableNV( 18180 VkCommandBuffer commandBuffer, 18181 uint32_t coverageModulationTableCount, 18182 const float* pCoverageModulationTable); 18183 18184 VKAPI_ATTR void VKAPI_CALL vkCmdSetShadingRateImageEnableNV( 18185 VkCommandBuffer commandBuffer, 18186 VkBool32 shadingRateImageEnable); 18187 18188 VKAPI_ATTR void VKAPI_CALL vkCmdSetRepresentativeFragmentTestEnableNV( 18189 VkCommandBuffer commandBuffer, 18190 VkBool32 representativeFragmentTestEnable); 18191 18192 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageReductionModeNV( 18193 VkCommandBuffer commandBuffer, 18194 VkCoverageReductionModeNV coverageReductionMode); 18195 #endif 18196 18197 18198 // VK_EXT_subpass_merge_feedback is a preprocessor guard. Do not pass it to API calls. 18199 #define VK_EXT_subpass_merge_feedback 1 18200 #define VK_EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION 2 18201 #define VK_EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME "VK_EXT_subpass_merge_feedback" 18202 18203 typedef enum VkSubpassMergeStatusEXT { 18204 VK_SUBPASS_MERGE_STATUS_MERGED_EXT = 0, 18205 VK_SUBPASS_MERGE_STATUS_DISALLOWED_EXT = 1, 18206 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SIDE_EFFECTS_EXT = 2, 18207 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SAMPLES_MISMATCH_EXT = 3, 18208 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_VIEWS_MISMATCH_EXT = 4, 18209 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_ALIASING_EXT = 5, 18210 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPENDENCIES_EXT = 6, 18211 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INCOMPATIBLE_INPUT_ATTACHMENT_EXT = 7, 18212 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_TOO_MANY_ATTACHMENTS_EXT = 8, 18213 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INSUFFICIENT_STORAGE_EXT = 9, 18214 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPTH_STENCIL_COUNT_EXT = 10, 18215 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_RESOLVE_ATTACHMENT_REUSE_EXT = 11, 18216 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SINGLE_SUBPASS_EXT = 12, 18217 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_UNSPECIFIED_EXT = 13, 18218 VK_SUBPASS_MERGE_STATUS_MAX_ENUM_EXT = 0x7FFFFFFF 18219 } VkSubpassMergeStatusEXT; 18220 typedef struct VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT { 18221 VkStructureType sType; 18222 void* pNext; 18223 VkBool32 subpassMergeFeedback; 18224 } VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT; 18225 18226 typedef struct VkRenderPassCreationControlEXT { 18227 VkStructureType sType; 18228 const void* pNext; 18229 VkBool32 disallowMerging; 18230 } VkRenderPassCreationControlEXT; 18231 18232 typedef struct VkRenderPassCreationFeedbackInfoEXT { 18233 uint32_t postMergeSubpassCount; 18234 } VkRenderPassCreationFeedbackInfoEXT; 18235 18236 typedef struct VkRenderPassCreationFeedbackCreateInfoEXT { 18237 VkStructureType sType; 18238 const void* pNext; 18239 VkRenderPassCreationFeedbackInfoEXT* pRenderPassFeedback; 18240 } VkRenderPassCreationFeedbackCreateInfoEXT; 18241 18242 typedef struct VkRenderPassSubpassFeedbackInfoEXT { 18243 VkSubpassMergeStatusEXT subpassMergeStatus; 18244 char description[VK_MAX_DESCRIPTION_SIZE]; 18245 uint32_t postMergeIndex; 18246 } VkRenderPassSubpassFeedbackInfoEXT; 18247 18248 typedef struct VkRenderPassSubpassFeedbackCreateInfoEXT { 18249 VkStructureType sType; 18250 const void* pNext; 18251 VkRenderPassSubpassFeedbackInfoEXT* pSubpassFeedback; 18252 } VkRenderPassSubpassFeedbackCreateInfoEXT; 18253 18254 18255 18256 // VK_LUNARG_direct_driver_loading is a preprocessor guard. Do not pass it to API calls. 18257 #define VK_LUNARG_direct_driver_loading 1 18258 #define VK_LUNARG_DIRECT_DRIVER_LOADING_SPEC_VERSION 1 18259 #define VK_LUNARG_DIRECT_DRIVER_LOADING_EXTENSION_NAME "VK_LUNARG_direct_driver_loading" 18260 18261 typedef enum VkDirectDriverLoadingModeLUNARG { 18262 VK_DIRECT_DRIVER_LOADING_MODE_EXCLUSIVE_LUNARG = 0, 18263 VK_DIRECT_DRIVER_LOADING_MODE_INCLUSIVE_LUNARG = 1, 18264 VK_DIRECT_DRIVER_LOADING_MODE_MAX_ENUM_LUNARG = 0x7FFFFFFF 18265 } VkDirectDriverLoadingModeLUNARG; 18266 typedef VkFlags VkDirectDriverLoadingFlagsLUNARG; 18267 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddrLUNARG)( 18268 VkInstance instance, const char* pName); 18269 18270 typedef struct VkDirectDriverLoadingInfoLUNARG { 18271 VkStructureType sType; 18272 void* pNext; 18273 VkDirectDriverLoadingFlagsLUNARG flags; 18274 PFN_vkGetInstanceProcAddrLUNARG pfnGetInstanceProcAddr; 18275 } VkDirectDriverLoadingInfoLUNARG; 18276 18277 typedef struct VkDirectDriverLoadingListLUNARG { 18278 VkStructureType sType; 18279 const void* pNext; 18280 VkDirectDriverLoadingModeLUNARG mode; 18281 uint32_t driverCount; 18282 const VkDirectDriverLoadingInfoLUNARG* pDrivers; 18283 } VkDirectDriverLoadingListLUNARG; 18284 18285 18286 18287 // VK_EXT_shader_module_identifier is a preprocessor guard. Do not pass it to API calls. 18288 #define VK_EXT_shader_module_identifier 1 18289 #define VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT 32U 18290 #define VK_EXT_SHADER_MODULE_IDENTIFIER_SPEC_VERSION 1 18291 #define VK_EXT_SHADER_MODULE_IDENTIFIER_EXTENSION_NAME "VK_EXT_shader_module_identifier" 18292 typedef struct VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT { 18293 VkStructureType sType; 18294 void* pNext; 18295 VkBool32 shaderModuleIdentifier; 18296 } VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT; 18297 18298 typedef struct VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT { 18299 VkStructureType sType; 18300 void* pNext; 18301 uint8_t shaderModuleIdentifierAlgorithmUUID[VK_UUID_SIZE]; 18302 } VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT; 18303 18304 typedef struct VkPipelineShaderStageModuleIdentifierCreateInfoEXT { 18305 VkStructureType sType; 18306 const void* pNext; 18307 uint32_t identifierSize; 18308 const uint8_t* pIdentifier; 18309 } VkPipelineShaderStageModuleIdentifierCreateInfoEXT; 18310 18311 typedef struct VkShaderModuleIdentifierEXT { 18312 VkStructureType sType; 18313 void* pNext; 18314 uint32_t identifierSize; 18315 uint8_t identifier[VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT]; 18316 } VkShaderModuleIdentifierEXT; 18317 18318 typedef void (VKAPI_PTR *PFN_vkGetShaderModuleIdentifierEXT)(VkDevice device, VkShaderModule shaderModule, VkShaderModuleIdentifierEXT* pIdentifier); 18319 typedef void (VKAPI_PTR *PFN_vkGetShaderModuleCreateInfoIdentifierEXT)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, VkShaderModuleIdentifierEXT* pIdentifier); 18320 18321 #ifndef VK_NO_PROTOTYPES 18322 VKAPI_ATTR void VKAPI_CALL vkGetShaderModuleIdentifierEXT( 18323 VkDevice device, 18324 VkShaderModule shaderModule, 18325 VkShaderModuleIdentifierEXT* pIdentifier); 18326 18327 VKAPI_ATTR void VKAPI_CALL vkGetShaderModuleCreateInfoIdentifierEXT( 18328 VkDevice device, 18329 const VkShaderModuleCreateInfo* pCreateInfo, 18330 VkShaderModuleIdentifierEXT* pIdentifier); 18331 #endif 18332 18333 18334 // VK_EXT_rasterization_order_attachment_access is a preprocessor guard. Do not pass it to API calls. 18335 #define VK_EXT_rasterization_order_attachment_access 1 18336 #define VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION 1 18337 #define VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME "VK_EXT_rasterization_order_attachment_access" 18338 18339 18340 // VK_NV_optical_flow is a preprocessor guard. Do not pass it to API calls. 18341 #define VK_NV_optical_flow 1 18342 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkOpticalFlowSessionNV) 18343 #define VK_NV_OPTICAL_FLOW_SPEC_VERSION 1 18344 #define VK_NV_OPTICAL_FLOW_EXTENSION_NAME "VK_NV_optical_flow" 18345 18346 typedef enum VkOpticalFlowPerformanceLevelNV { 18347 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_UNKNOWN_NV = 0, 18348 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_SLOW_NV = 1, 18349 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MEDIUM_NV = 2, 18350 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_FAST_NV = 3, 18351 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MAX_ENUM_NV = 0x7FFFFFFF 18352 } VkOpticalFlowPerformanceLevelNV; 18353 18354 typedef enum VkOpticalFlowSessionBindingPointNV { 18355 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_UNKNOWN_NV = 0, 18356 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_INPUT_NV = 1, 18357 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_REFERENCE_NV = 2, 18358 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_HINT_NV = 3, 18359 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_FLOW_VECTOR_NV = 4, 18360 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_FLOW_VECTOR_NV = 5, 18361 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_COST_NV = 6, 18362 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_COST_NV = 7, 18363 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_GLOBAL_FLOW_NV = 8, 18364 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_MAX_ENUM_NV = 0x7FFFFFFF 18365 } VkOpticalFlowSessionBindingPointNV; 18366 18367 typedef enum VkOpticalFlowGridSizeFlagBitsNV { 18368 VK_OPTICAL_FLOW_GRID_SIZE_UNKNOWN_NV = 0, 18369 VK_OPTICAL_FLOW_GRID_SIZE_1X1_BIT_NV = 0x00000001, 18370 VK_OPTICAL_FLOW_GRID_SIZE_2X2_BIT_NV = 0x00000002, 18371 VK_OPTICAL_FLOW_GRID_SIZE_4X4_BIT_NV = 0x00000004, 18372 VK_OPTICAL_FLOW_GRID_SIZE_8X8_BIT_NV = 0x00000008, 18373 VK_OPTICAL_FLOW_GRID_SIZE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 18374 } VkOpticalFlowGridSizeFlagBitsNV; 18375 typedef VkFlags VkOpticalFlowGridSizeFlagsNV; 18376 18377 typedef enum VkOpticalFlowUsageFlagBitsNV { 18378 VK_OPTICAL_FLOW_USAGE_UNKNOWN_NV = 0, 18379 VK_OPTICAL_FLOW_USAGE_INPUT_BIT_NV = 0x00000001, 18380 VK_OPTICAL_FLOW_USAGE_OUTPUT_BIT_NV = 0x00000002, 18381 VK_OPTICAL_FLOW_USAGE_HINT_BIT_NV = 0x00000004, 18382 VK_OPTICAL_FLOW_USAGE_COST_BIT_NV = 0x00000008, 18383 VK_OPTICAL_FLOW_USAGE_GLOBAL_FLOW_BIT_NV = 0x00000010, 18384 VK_OPTICAL_FLOW_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 18385 } VkOpticalFlowUsageFlagBitsNV; 18386 typedef VkFlags VkOpticalFlowUsageFlagsNV; 18387 18388 typedef enum VkOpticalFlowSessionCreateFlagBitsNV { 18389 VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_HINT_BIT_NV = 0x00000001, 18390 VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_COST_BIT_NV = 0x00000002, 18391 VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_GLOBAL_FLOW_BIT_NV = 0x00000004, 18392 VK_OPTICAL_FLOW_SESSION_CREATE_ALLOW_REGIONS_BIT_NV = 0x00000008, 18393 VK_OPTICAL_FLOW_SESSION_CREATE_BOTH_DIRECTIONS_BIT_NV = 0x00000010, 18394 VK_OPTICAL_FLOW_SESSION_CREATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 18395 } VkOpticalFlowSessionCreateFlagBitsNV; 18396 typedef VkFlags VkOpticalFlowSessionCreateFlagsNV; 18397 18398 typedef enum VkOpticalFlowExecuteFlagBitsNV { 18399 VK_OPTICAL_FLOW_EXECUTE_DISABLE_TEMPORAL_HINTS_BIT_NV = 0x00000001, 18400 VK_OPTICAL_FLOW_EXECUTE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 18401 } VkOpticalFlowExecuteFlagBitsNV; 18402 typedef VkFlags VkOpticalFlowExecuteFlagsNV; 18403 typedef struct VkPhysicalDeviceOpticalFlowFeaturesNV { 18404 VkStructureType sType; 18405 void* pNext; 18406 VkBool32 opticalFlow; 18407 } VkPhysicalDeviceOpticalFlowFeaturesNV; 18408 18409 typedef struct VkPhysicalDeviceOpticalFlowPropertiesNV { 18410 VkStructureType sType; 18411 void* pNext; 18412 VkOpticalFlowGridSizeFlagsNV supportedOutputGridSizes; 18413 VkOpticalFlowGridSizeFlagsNV supportedHintGridSizes; 18414 VkBool32 hintSupported; 18415 VkBool32 costSupported; 18416 VkBool32 bidirectionalFlowSupported; 18417 VkBool32 globalFlowSupported; 18418 uint32_t minWidth; 18419 uint32_t minHeight; 18420 uint32_t maxWidth; 18421 uint32_t maxHeight; 18422 uint32_t maxNumRegionsOfInterest; 18423 } VkPhysicalDeviceOpticalFlowPropertiesNV; 18424 18425 typedef struct VkOpticalFlowImageFormatInfoNV { 18426 VkStructureType sType; 18427 const void* pNext; 18428 VkOpticalFlowUsageFlagsNV usage; 18429 } VkOpticalFlowImageFormatInfoNV; 18430 18431 typedef struct VkOpticalFlowImageFormatPropertiesNV { 18432 VkStructureType sType; 18433 const void* pNext; 18434 VkFormat format; 18435 } VkOpticalFlowImageFormatPropertiesNV; 18436 18437 typedef struct VkOpticalFlowSessionCreateInfoNV { 18438 VkStructureType sType; 18439 void* pNext; 18440 uint32_t width; 18441 uint32_t height; 18442 VkFormat imageFormat; 18443 VkFormat flowVectorFormat; 18444 VkFormat costFormat; 18445 VkOpticalFlowGridSizeFlagsNV outputGridSize; 18446 VkOpticalFlowGridSizeFlagsNV hintGridSize; 18447 VkOpticalFlowPerformanceLevelNV performanceLevel; 18448 VkOpticalFlowSessionCreateFlagsNV flags; 18449 } VkOpticalFlowSessionCreateInfoNV; 18450 18451 typedef struct VkOpticalFlowSessionCreatePrivateDataInfoNV { 18452 VkStructureType sType; 18453 void* pNext; 18454 uint32_t id; 18455 uint32_t size; 18456 const void* pPrivateData; 18457 } VkOpticalFlowSessionCreatePrivateDataInfoNV; 18458 18459 typedef struct VkOpticalFlowExecuteInfoNV { 18460 VkStructureType sType; 18461 void* pNext; 18462 VkOpticalFlowExecuteFlagsNV flags; 18463 uint32_t regionCount; 18464 const VkRect2D* pRegions; 18465 } VkOpticalFlowExecuteInfoNV; 18466 18467 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV)(VkPhysicalDevice physicalDevice, const VkOpticalFlowImageFormatInfoNV* pOpticalFlowImageFormatInfo, uint32_t* pFormatCount, VkOpticalFlowImageFormatPropertiesNV* pImageFormatProperties); 18468 typedef VkResult (VKAPI_PTR *PFN_vkCreateOpticalFlowSessionNV)(VkDevice device, const VkOpticalFlowSessionCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkOpticalFlowSessionNV* pSession); 18469 typedef void (VKAPI_PTR *PFN_vkDestroyOpticalFlowSessionNV)(VkDevice device, VkOpticalFlowSessionNV session, const VkAllocationCallbacks* pAllocator); 18470 typedef VkResult (VKAPI_PTR *PFN_vkBindOpticalFlowSessionImageNV)(VkDevice device, VkOpticalFlowSessionNV session, VkOpticalFlowSessionBindingPointNV bindingPoint, VkImageView view, VkImageLayout layout); 18471 typedef void (VKAPI_PTR *PFN_vkCmdOpticalFlowExecuteNV)(VkCommandBuffer commandBuffer, VkOpticalFlowSessionNV session, const VkOpticalFlowExecuteInfoNV* pExecuteInfo); 18472 18473 #ifndef VK_NO_PROTOTYPES 18474 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceOpticalFlowImageFormatsNV( 18475 VkPhysicalDevice physicalDevice, 18476 const VkOpticalFlowImageFormatInfoNV* pOpticalFlowImageFormatInfo, 18477 uint32_t* pFormatCount, 18478 VkOpticalFlowImageFormatPropertiesNV* pImageFormatProperties); 18479 18480 VKAPI_ATTR VkResult VKAPI_CALL vkCreateOpticalFlowSessionNV( 18481 VkDevice device, 18482 const VkOpticalFlowSessionCreateInfoNV* pCreateInfo, 18483 const VkAllocationCallbacks* pAllocator, 18484 VkOpticalFlowSessionNV* pSession); 18485 18486 VKAPI_ATTR void VKAPI_CALL vkDestroyOpticalFlowSessionNV( 18487 VkDevice device, 18488 VkOpticalFlowSessionNV session, 18489 const VkAllocationCallbacks* pAllocator); 18490 18491 VKAPI_ATTR VkResult VKAPI_CALL vkBindOpticalFlowSessionImageNV( 18492 VkDevice device, 18493 VkOpticalFlowSessionNV session, 18494 VkOpticalFlowSessionBindingPointNV bindingPoint, 18495 VkImageView view, 18496 VkImageLayout layout); 18497 18498 VKAPI_ATTR void VKAPI_CALL vkCmdOpticalFlowExecuteNV( 18499 VkCommandBuffer commandBuffer, 18500 VkOpticalFlowSessionNV session, 18501 const VkOpticalFlowExecuteInfoNV* pExecuteInfo); 18502 #endif 18503 18504 18505 // VK_EXT_legacy_dithering is a preprocessor guard. Do not pass it to API calls. 18506 #define VK_EXT_legacy_dithering 1 18507 #define VK_EXT_LEGACY_DITHERING_SPEC_VERSION 1 18508 #define VK_EXT_LEGACY_DITHERING_EXTENSION_NAME "VK_EXT_legacy_dithering" 18509 typedef struct VkPhysicalDeviceLegacyDitheringFeaturesEXT { 18510 VkStructureType sType; 18511 void* pNext; 18512 VkBool32 legacyDithering; 18513 } VkPhysicalDeviceLegacyDitheringFeaturesEXT; 18514 18515 18516 18517 // VK_EXT_pipeline_protected_access is a preprocessor guard. Do not pass it to API calls. 18518 #define VK_EXT_pipeline_protected_access 1 18519 #define VK_EXT_PIPELINE_PROTECTED_ACCESS_SPEC_VERSION 1 18520 #define VK_EXT_PIPELINE_PROTECTED_ACCESS_EXTENSION_NAME "VK_EXT_pipeline_protected_access" 18521 typedef struct VkPhysicalDevicePipelineProtectedAccessFeaturesEXT { 18522 VkStructureType sType; 18523 void* pNext; 18524 VkBool32 pipelineProtectedAccess; 18525 } VkPhysicalDevicePipelineProtectedAccessFeaturesEXT; 18526 18527 18528 18529 // VK_EXT_shader_object is a preprocessor guard. Do not pass it to API calls. 18530 #define VK_EXT_shader_object 1 18531 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderEXT) 18532 #define VK_EXT_SHADER_OBJECT_SPEC_VERSION 1 18533 #define VK_EXT_SHADER_OBJECT_EXTENSION_NAME "VK_EXT_shader_object" 18534 18535 typedef enum VkShaderCodeTypeEXT { 18536 VK_SHADER_CODE_TYPE_BINARY_EXT = 0, 18537 VK_SHADER_CODE_TYPE_SPIRV_EXT = 1, 18538 VK_SHADER_CODE_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 18539 } VkShaderCodeTypeEXT; 18540 18541 typedef enum VkShaderCreateFlagBitsEXT { 18542 VK_SHADER_CREATE_LINK_STAGE_BIT_EXT = 0x00000001, 18543 VK_SHADER_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 0x00000002, 18544 VK_SHADER_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 0x00000004, 18545 VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXT = 0x00000008, 18546 VK_SHADER_CREATE_DISPATCH_BASE_BIT_EXT = 0x00000010, 18547 VK_SHADER_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_EXT = 0x00000020, 18548 VK_SHADER_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00000040, 18549 VK_SHADER_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 18550 } VkShaderCreateFlagBitsEXT; 18551 typedef VkFlags VkShaderCreateFlagsEXT; 18552 typedef struct VkPhysicalDeviceShaderObjectFeaturesEXT { 18553 VkStructureType sType; 18554 void* pNext; 18555 VkBool32 shaderObject; 18556 } VkPhysicalDeviceShaderObjectFeaturesEXT; 18557 18558 typedef struct VkPhysicalDeviceShaderObjectPropertiesEXT { 18559 VkStructureType sType; 18560 void* pNext; 18561 uint8_t shaderBinaryUUID[VK_UUID_SIZE]; 18562 uint32_t shaderBinaryVersion; 18563 } VkPhysicalDeviceShaderObjectPropertiesEXT; 18564 18565 typedef struct VkShaderCreateInfoEXT { 18566 VkStructureType sType; 18567 const void* pNext; 18568 VkShaderCreateFlagsEXT flags; 18569 VkShaderStageFlagBits stage; 18570 VkShaderStageFlags nextStage; 18571 VkShaderCodeTypeEXT codeType; 18572 size_t codeSize; 18573 const void* pCode; 18574 const char* pName; 18575 uint32_t setLayoutCount; 18576 const VkDescriptorSetLayout* pSetLayouts; 18577 uint32_t pushConstantRangeCount; 18578 const VkPushConstantRange* pPushConstantRanges; 18579 const VkSpecializationInfo* pSpecializationInfo; 18580 } VkShaderCreateInfoEXT; 18581 18582 typedef VkPipelineShaderStageRequiredSubgroupSizeCreateInfo VkShaderRequiredSubgroupSizeCreateInfoEXT; 18583 18584 typedef VkResult (VKAPI_PTR *PFN_vkCreateShadersEXT)(VkDevice device, uint32_t createInfoCount, const VkShaderCreateInfoEXT* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkShaderEXT* pShaders); 18585 typedef void (VKAPI_PTR *PFN_vkDestroyShaderEXT)(VkDevice device, VkShaderEXT shader, const VkAllocationCallbacks* pAllocator); 18586 typedef VkResult (VKAPI_PTR *PFN_vkGetShaderBinaryDataEXT)(VkDevice device, VkShaderEXT shader, size_t* pDataSize, void* pData); 18587 typedef void (VKAPI_PTR *PFN_vkCmdBindShadersEXT)(VkCommandBuffer commandBuffer, uint32_t stageCount, const VkShaderStageFlagBits* pStages, const VkShaderEXT* pShaders); 18588 18589 #ifndef VK_NO_PROTOTYPES 18590 VKAPI_ATTR VkResult VKAPI_CALL vkCreateShadersEXT( 18591 VkDevice device, 18592 uint32_t createInfoCount, 18593 const VkShaderCreateInfoEXT* pCreateInfos, 18594 const VkAllocationCallbacks* pAllocator, 18595 VkShaderEXT* pShaders); 18596 18597 VKAPI_ATTR void VKAPI_CALL vkDestroyShaderEXT( 18598 VkDevice device, 18599 VkShaderEXT shader, 18600 const VkAllocationCallbacks* pAllocator); 18601 18602 VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderBinaryDataEXT( 18603 VkDevice device, 18604 VkShaderEXT shader, 18605 size_t* pDataSize, 18606 void* pData); 18607 18608 VKAPI_ATTR void VKAPI_CALL vkCmdBindShadersEXT( 18609 VkCommandBuffer commandBuffer, 18610 uint32_t stageCount, 18611 const VkShaderStageFlagBits* pStages, 18612 const VkShaderEXT* pShaders); 18613 #endif 18614 18615 18616 // VK_QCOM_tile_properties is a preprocessor guard. Do not pass it to API calls. 18617 #define VK_QCOM_tile_properties 1 18618 #define VK_QCOM_TILE_PROPERTIES_SPEC_VERSION 1 18619 #define VK_QCOM_TILE_PROPERTIES_EXTENSION_NAME "VK_QCOM_tile_properties" 18620 typedef struct VkPhysicalDeviceTilePropertiesFeaturesQCOM { 18621 VkStructureType sType; 18622 void* pNext; 18623 VkBool32 tileProperties; 18624 } VkPhysicalDeviceTilePropertiesFeaturesQCOM; 18625 18626 typedef struct VkTilePropertiesQCOM { 18627 VkStructureType sType; 18628 void* pNext; 18629 VkExtent3D tileSize; 18630 VkExtent2D apronSize; 18631 VkOffset2D origin; 18632 } VkTilePropertiesQCOM; 18633 18634 typedef VkResult (VKAPI_PTR *PFN_vkGetFramebufferTilePropertiesQCOM)(VkDevice device, VkFramebuffer framebuffer, uint32_t* pPropertiesCount, VkTilePropertiesQCOM* pProperties); 18635 typedef VkResult (VKAPI_PTR *PFN_vkGetDynamicRenderingTilePropertiesQCOM)(VkDevice device, const VkRenderingInfo* pRenderingInfo, VkTilePropertiesQCOM* pProperties); 18636 18637 #ifndef VK_NO_PROTOTYPES 18638 VKAPI_ATTR VkResult VKAPI_CALL vkGetFramebufferTilePropertiesQCOM( 18639 VkDevice device, 18640 VkFramebuffer framebuffer, 18641 uint32_t* pPropertiesCount, 18642 VkTilePropertiesQCOM* pProperties); 18643 18644 VKAPI_ATTR VkResult VKAPI_CALL vkGetDynamicRenderingTilePropertiesQCOM( 18645 VkDevice device, 18646 const VkRenderingInfo* pRenderingInfo, 18647 VkTilePropertiesQCOM* pProperties); 18648 #endif 18649 18650 18651 // VK_SEC_amigo_profiling is a preprocessor guard. Do not pass it to API calls. 18652 #define VK_SEC_amigo_profiling 1 18653 #define VK_SEC_AMIGO_PROFILING_SPEC_VERSION 1 18654 #define VK_SEC_AMIGO_PROFILING_EXTENSION_NAME "VK_SEC_amigo_profiling" 18655 typedef struct VkPhysicalDeviceAmigoProfilingFeaturesSEC { 18656 VkStructureType sType; 18657 void* pNext; 18658 VkBool32 amigoProfiling; 18659 } VkPhysicalDeviceAmigoProfilingFeaturesSEC; 18660 18661 typedef struct VkAmigoProfilingSubmitInfoSEC { 18662 VkStructureType sType; 18663 const void* pNext; 18664 uint64_t firstDrawTimestamp; 18665 uint64_t swapBufferTimestamp; 18666 } VkAmigoProfilingSubmitInfoSEC; 18667 18668 18669 18670 // VK_QCOM_multiview_per_view_viewports is a preprocessor guard. Do not pass it to API calls. 18671 #define VK_QCOM_multiview_per_view_viewports 1 18672 #define VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_SPEC_VERSION 1 18673 #define VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_EXTENSION_NAME "VK_QCOM_multiview_per_view_viewports" 18674 typedef struct VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM { 18675 VkStructureType sType; 18676 void* pNext; 18677 VkBool32 multiviewPerViewViewports; 18678 } VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM; 18679 18680 18681 18682 // VK_NV_ray_tracing_invocation_reorder is a preprocessor guard. Do not pass it to API calls. 18683 #define VK_NV_ray_tracing_invocation_reorder 1 18684 #define VK_NV_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION 1 18685 #define VK_NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME "VK_NV_ray_tracing_invocation_reorder" 18686 18687 typedef enum VkRayTracingInvocationReorderModeNV { 18688 VK_RAY_TRACING_INVOCATION_REORDER_MODE_NONE_NV = 0, 18689 VK_RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_NV = 1, 18690 VK_RAY_TRACING_INVOCATION_REORDER_MODE_MAX_ENUM_NV = 0x7FFFFFFF 18691 } VkRayTracingInvocationReorderModeNV; 18692 typedef struct VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV { 18693 VkStructureType sType; 18694 void* pNext; 18695 VkRayTracingInvocationReorderModeNV rayTracingInvocationReorderReorderingHint; 18696 } VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV; 18697 18698 typedef struct VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV { 18699 VkStructureType sType; 18700 void* pNext; 18701 VkBool32 rayTracingInvocationReorder; 18702 } VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV; 18703 18704 18705 18706 // VK_NV_extended_sparse_address_space is a preprocessor guard. Do not pass it to API calls. 18707 #define VK_NV_extended_sparse_address_space 1 18708 #define VK_NV_EXTENDED_SPARSE_ADDRESS_SPACE_SPEC_VERSION 1 18709 #define VK_NV_EXTENDED_SPARSE_ADDRESS_SPACE_EXTENSION_NAME "VK_NV_extended_sparse_address_space" 18710 typedef struct VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV { 18711 VkStructureType sType; 18712 void* pNext; 18713 VkBool32 extendedSparseAddressSpace; 18714 } VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV; 18715 18716 typedef struct VkPhysicalDeviceExtendedSparseAddressSpacePropertiesNV { 18717 VkStructureType sType; 18718 void* pNext; 18719 VkDeviceSize extendedSparseAddressSpaceSize; 18720 VkImageUsageFlags extendedSparseImageUsageFlags; 18721 VkBufferUsageFlags extendedSparseBufferUsageFlags; 18722 } VkPhysicalDeviceExtendedSparseAddressSpacePropertiesNV; 18723 18724 18725 18726 // VK_EXT_mutable_descriptor_type is a preprocessor guard. Do not pass it to API calls. 18727 #define VK_EXT_mutable_descriptor_type 1 18728 #define VK_EXT_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1 18729 #define VK_EXT_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_EXT_mutable_descriptor_type" 18730 18731 18732 // VK_EXT_layer_settings is a preprocessor guard. Do not pass it to API calls. 18733 #define VK_EXT_layer_settings 1 18734 #define VK_EXT_LAYER_SETTINGS_SPEC_VERSION 2 18735 #define VK_EXT_LAYER_SETTINGS_EXTENSION_NAME "VK_EXT_layer_settings" 18736 18737 typedef enum VkLayerSettingTypeEXT { 18738 VK_LAYER_SETTING_TYPE_BOOL32_EXT = 0, 18739 VK_LAYER_SETTING_TYPE_INT32_EXT = 1, 18740 VK_LAYER_SETTING_TYPE_INT64_EXT = 2, 18741 VK_LAYER_SETTING_TYPE_UINT32_EXT = 3, 18742 VK_LAYER_SETTING_TYPE_UINT64_EXT = 4, 18743 VK_LAYER_SETTING_TYPE_FLOAT32_EXT = 5, 18744 VK_LAYER_SETTING_TYPE_FLOAT64_EXT = 6, 18745 VK_LAYER_SETTING_TYPE_STRING_EXT = 7, 18746 VK_LAYER_SETTING_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 18747 } VkLayerSettingTypeEXT; 18748 typedef struct VkLayerSettingEXT { 18749 const char* pLayerName; 18750 const char* pSettingName; 18751 VkLayerSettingTypeEXT type; 18752 uint32_t valueCount; 18753 const void* pValues; 18754 } VkLayerSettingEXT; 18755 18756 typedef struct VkLayerSettingsCreateInfoEXT { 18757 VkStructureType sType; 18758 const void* pNext; 18759 uint32_t settingCount; 18760 const VkLayerSettingEXT* pSettings; 18761 } VkLayerSettingsCreateInfoEXT; 18762 18763 18764 18765 // VK_ARM_shader_core_builtins is a preprocessor guard. Do not pass it to API calls. 18766 #define VK_ARM_shader_core_builtins 1 18767 #define VK_ARM_SHADER_CORE_BUILTINS_SPEC_VERSION 2 18768 #define VK_ARM_SHADER_CORE_BUILTINS_EXTENSION_NAME "VK_ARM_shader_core_builtins" 18769 typedef struct VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM { 18770 VkStructureType sType; 18771 void* pNext; 18772 VkBool32 shaderCoreBuiltins; 18773 } VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM; 18774 18775 typedef struct VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM { 18776 VkStructureType sType; 18777 void* pNext; 18778 uint64_t shaderCoreMask; 18779 uint32_t shaderCoreCount; 18780 uint32_t shaderWarpsPerCore; 18781 } VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM; 18782 18783 18784 18785 // VK_EXT_pipeline_library_group_handles is a preprocessor guard. Do not pass it to API calls. 18786 #define VK_EXT_pipeline_library_group_handles 1 18787 #define VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_SPEC_VERSION 1 18788 #define VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_EXTENSION_NAME "VK_EXT_pipeline_library_group_handles" 18789 typedef struct VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT { 18790 VkStructureType sType; 18791 void* pNext; 18792 VkBool32 pipelineLibraryGroupHandles; 18793 } VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT; 18794 18795 18796 18797 // VK_EXT_dynamic_rendering_unused_attachments is a preprocessor guard. Do not pass it to API calls. 18798 #define VK_EXT_dynamic_rendering_unused_attachments 1 18799 #define VK_EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_SPEC_VERSION 1 18800 #define VK_EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_EXTENSION_NAME "VK_EXT_dynamic_rendering_unused_attachments" 18801 typedef struct VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT { 18802 VkStructureType sType; 18803 void* pNext; 18804 VkBool32 dynamicRenderingUnusedAttachments; 18805 } VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT; 18806 18807 18808 18809 // VK_NV_low_latency2 is a preprocessor guard. Do not pass it to API calls. 18810 #define VK_NV_low_latency2 1 18811 #define VK_NV_LOW_LATENCY_2_SPEC_VERSION 2 18812 #define VK_NV_LOW_LATENCY_2_EXTENSION_NAME "VK_NV_low_latency2" 18813 18814 typedef enum VkLatencyMarkerNV { 18815 VK_LATENCY_MARKER_SIMULATION_START_NV = 0, 18816 VK_LATENCY_MARKER_SIMULATION_END_NV = 1, 18817 VK_LATENCY_MARKER_RENDERSUBMIT_START_NV = 2, 18818 VK_LATENCY_MARKER_RENDERSUBMIT_END_NV = 3, 18819 VK_LATENCY_MARKER_PRESENT_START_NV = 4, 18820 VK_LATENCY_MARKER_PRESENT_END_NV = 5, 18821 VK_LATENCY_MARKER_INPUT_SAMPLE_NV = 6, 18822 VK_LATENCY_MARKER_TRIGGER_FLASH_NV = 7, 18823 VK_LATENCY_MARKER_OUT_OF_BAND_RENDERSUBMIT_START_NV = 8, 18824 VK_LATENCY_MARKER_OUT_OF_BAND_RENDERSUBMIT_END_NV = 9, 18825 VK_LATENCY_MARKER_OUT_OF_BAND_PRESENT_START_NV = 10, 18826 VK_LATENCY_MARKER_OUT_OF_BAND_PRESENT_END_NV = 11, 18827 VK_LATENCY_MARKER_MAX_ENUM_NV = 0x7FFFFFFF 18828 } VkLatencyMarkerNV; 18829 18830 typedef enum VkOutOfBandQueueTypeNV { 18831 VK_OUT_OF_BAND_QUEUE_TYPE_RENDER_NV = 0, 18832 VK_OUT_OF_BAND_QUEUE_TYPE_PRESENT_NV = 1, 18833 VK_OUT_OF_BAND_QUEUE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 18834 } VkOutOfBandQueueTypeNV; 18835 typedef struct VkLatencySleepModeInfoNV { 18836 VkStructureType sType; 18837 const void* pNext; 18838 VkBool32 lowLatencyMode; 18839 VkBool32 lowLatencyBoost; 18840 uint32_t minimumIntervalUs; 18841 } VkLatencySleepModeInfoNV; 18842 18843 typedef struct VkLatencySleepInfoNV { 18844 VkStructureType sType; 18845 const void* pNext; 18846 VkSemaphore signalSemaphore; 18847 uint64_t value; 18848 } VkLatencySleepInfoNV; 18849 18850 typedef struct VkSetLatencyMarkerInfoNV { 18851 VkStructureType sType; 18852 const void* pNext; 18853 uint64_t presentID; 18854 VkLatencyMarkerNV marker; 18855 } VkSetLatencyMarkerInfoNV; 18856 18857 typedef struct VkLatencyTimingsFrameReportNV { 18858 VkStructureType sType; 18859 const void* pNext; 18860 uint64_t presentID; 18861 uint64_t inputSampleTimeUs; 18862 uint64_t simStartTimeUs; 18863 uint64_t simEndTimeUs; 18864 uint64_t renderSubmitStartTimeUs; 18865 uint64_t renderSubmitEndTimeUs; 18866 uint64_t presentStartTimeUs; 18867 uint64_t presentEndTimeUs; 18868 uint64_t driverStartTimeUs; 18869 uint64_t driverEndTimeUs; 18870 uint64_t osRenderQueueStartTimeUs; 18871 uint64_t osRenderQueueEndTimeUs; 18872 uint64_t gpuRenderStartTimeUs; 18873 uint64_t gpuRenderEndTimeUs; 18874 } VkLatencyTimingsFrameReportNV; 18875 18876 typedef struct VkGetLatencyMarkerInfoNV { 18877 VkStructureType sType; 18878 const void* pNext; 18879 uint32_t timingCount; 18880 VkLatencyTimingsFrameReportNV* pTimings; 18881 } VkGetLatencyMarkerInfoNV; 18882 18883 typedef struct VkLatencySubmissionPresentIdNV { 18884 VkStructureType sType; 18885 const void* pNext; 18886 uint64_t presentID; 18887 } VkLatencySubmissionPresentIdNV; 18888 18889 typedef struct VkSwapchainLatencyCreateInfoNV { 18890 VkStructureType sType; 18891 const void* pNext; 18892 VkBool32 latencyModeEnable; 18893 } VkSwapchainLatencyCreateInfoNV; 18894 18895 typedef struct VkOutOfBandQueueTypeInfoNV { 18896 VkStructureType sType; 18897 const void* pNext; 18898 VkOutOfBandQueueTypeNV queueType; 18899 } VkOutOfBandQueueTypeInfoNV; 18900 18901 typedef struct VkLatencySurfaceCapabilitiesNV { 18902 VkStructureType sType; 18903 const void* pNext; 18904 uint32_t presentModeCount; 18905 VkPresentModeKHR* pPresentModes; 18906 } VkLatencySurfaceCapabilitiesNV; 18907 18908 typedef VkResult (VKAPI_PTR *PFN_vkSetLatencySleepModeNV)(VkDevice device, VkSwapchainKHR swapchain, const VkLatencySleepModeInfoNV* pSleepModeInfo); 18909 typedef VkResult (VKAPI_PTR *PFN_vkLatencySleepNV)(VkDevice device, VkSwapchainKHR swapchain, const VkLatencySleepInfoNV* pSleepInfo); 18910 typedef void (VKAPI_PTR *PFN_vkSetLatencyMarkerNV)(VkDevice device, VkSwapchainKHR swapchain, const VkSetLatencyMarkerInfoNV* pLatencyMarkerInfo); 18911 typedef void (VKAPI_PTR *PFN_vkGetLatencyTimingsNV)(VkDevice device, VkSwapchainKHR swapchain, VkGetLatencyMarkerInfoNV* pLatencyMarkerInfo); 18912 typedef void (VKAPI_PTR *PFN_vkQueueNotifyOutOfBandNV)(VkQueue queue, const VkOutOfBandQueueTypeInfoNV* pQueueTypeInfo); 18913 18914 #ifndef VK_NO_PROTOTYPES 18915 VKAPI_ATTR VkResult VKAPI_CALL vkSetLatencySleepModeNV( 18916 VkDevice device, 18917 VkSwapchainKHR swapchain, 18918 const VkLatencySleepModeInfoNV* pSleepModeInfo); 18919 18920 VKAPI_ATTR VkResult VKAPI_CALL vkLatencySleepNV( 18921 VkDevice device, 18922 VkSwapchainKHR swapchain, 18923 const VkLatencySleepInfoNV* pSleepInfo); 18924 18925 VKAPI_ATTR void VKAPI_CALL vkSetLatencyMarkerNV( 18926 VkDevice device, 18927 VkSwapchainKHR swapchain, 18928 const VkSetLatencyMarkerInfoNV* pLatencyMarkerInfo); 18929 18930 VKAPI_ATTR void VKAPI_CALL vkGetLatencyTimingsNV( 18931 VkDevice device, 18932 VkSwapchainKHR swapchain, 18933 VkGetLatencyMarkerInfoNV* pLatencyMarkerInfo); 18934 18935 VKAPI_ATTR void VKAPI_CALL vkQueueNotifyOutOfBandNV( 18936 VkQueue queue, 18937 const VkOutOfBandQueueTypeInfoNV* pQueueTypeInfo); 18938 #endif 18939 18940 18941 // VK_QCOM_multiview_per_view_render_areas is a preprocessor guard. Do not pass it to API calls. 18942 #define VK_QCOM_multiview_per_view_render_areas 1 18943 #define VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_SPEC_VERSION 1 18944 #define VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_EXTENSION_NAME "VK_QCOM_multiview_per_view_render_areas" 18945 typedef struct VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM { 18946 VkStructureType sType; 18947 void* pNext; 18948 VkBool32 multiviewPerViewRenderAreas; 18949 } VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM; 18950 18951 typedef struct VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM { 18952 VkStructureType sType; 18953 const void* pNext; 18954 uint32_t perViewRenderAreaCount; 18955 const VkRect2D* pPerViewRenderAreas; 18956 } VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM; 18957 18958 18959 18960 // VK_NV_per_stage_descriptor_set is a preprocessor guard. Do not pass it to API calls. 18961 #define VK_NV_per_stage_descriptor_set 1 18962 #define VK_NV_PER_STAGE_DESCRIPTOR_SET_SPEC_VERSION 1 18963 #define VK_NV_PER_STAGE_DESCRIPTOR_SET_EXTENSION_NAME "VK_NV_per_stage_descriptor_set" 18964 typedef struct VkPhysicalDevicePerStageDescriptorSetFeaturesNV { 18965 VkStructureType sType; 18966 void* pNext; 18967 VkBool32 perStageDescriptorSet; 18968 VkBool32 dynamicPipelineLayout; 18969 } VkPhysicalDevicePerStageDescriptorSetFeaturesNV; 18970 18971 18972 18973 // VK_QCOM_image_processing2 is a preprocessor guard. Do not pass it to API calls. 18974 #define VK_QCOM_image_processing2 1 18975 #define VK_QCOM_IMAGE_PROCESSING_2_SPEC_VERSION 1 18976 #define VK_QCOM_IMAGE_PROCESSING_2_EXTENSION_NAME "VK_QCOM_image_processing2" 18977 18978 typedef enum VkBlockMatchWindowCompareModeQCOM { 18979 VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MIN_QCOM = 0, 18980 VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MAX_QCOM = 1, 18981 VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MAX_ENUM_QCOM = 0x7FFFFFFF 18982 } VkBlockMatchWindowCompareModeQCOM; 18983 typedef struct VkPhysicalDeviceImageProcessing2FeaturesQCOM { 18984 VkStructureType sType; 18985 void* pNext; 18986 VkBool32 textureBlockMatch2; 18987 } VkPhysicalDeviceImageProcessing2FeaturesQCOM; 18988 18989 typedef struct VkPhysicalDeviceImageProcessing2PropertiesQCOM { 18990 VkStructureType sType; 18991 void* pNext; 18992 VkExtent2D maxBlockMatchWindow; 18993 } VkPhysicalDeviceImageProcessing2PropertiesQCOM; 18994 18995 typedef struct VkSamplerBlockMatchWindowCreateInfoQCOM { 18996 VkStructureType sType; 18997 const void* pNext; 18998 VkExtent2D windowExtent; 18999 VkBlockMatchWindowCompareModeQCOM windowCompareMode; 19000 } VkSamplerBlockMatchWindowCreateInfoQCOM; 19001 19002 19003 19004 // VK_QCOM_filter_cubic_weights is a preprocessor guard. Do not pass it to API calls. 19005 #define VK_QCOM_filter_cubic_weights 1 19006 #define VK_QCOM_FILTER_CUBIC_WEIGHTS_SPEC_VERSION 1 19007 #define VK_QCOM_FILTER_CUBIC_WEIGHTS_EXTENSION_NAME "VK_QCOM_filter_cubic_weights" 19008 19009 typedef enum VkCubicFilterWeightsQCOM { 19010 VK_CUBIC_FILTER_WEIGHTS_CATMULL_ROM_QCOM = 0, 19011 VK_CUBIC_FILTER_WEIGHTS_ZERO_TANGENT_CARDINAL_QCOM = 1, 19012 VK_CUBIC_FILTER_WEIGHTS_B_SPLINE_QCOM = 2, 19013 VK_CUBIC_FILTER_WEIGHTS_MITCHELL_NETRAVALI_QCOM = 3, 19014 VK_CUBIC_FILTER_WEIGHTS_MAX_ENUM_QCOM = 0x7FFFFFFF 19015 } VkCubicFilterWeightsQCOM; 19016 typedef struct VkPhysicalDeviceCubicWeightsFeaturesQCOM { 19017 VkStructureType sType; 19018 void* pNext; 19019 VkBool32 selectableCubicWeights; 19020 } VkPhysicalDeviceCubicWeightsFeaturesQCOM; 19021 19022 typedef struct VkSamplerCubicWeightsCreateInfoQCOM { 19023 VkStructureType sType; 19024 const void* pNext; 19025 VkCubicFilterWeightsQCOM cubicWeights; 19026 } VkSamplerCubicWeightsCreateInfoQCOM; 19027 19028 typedef struct VkBlitImageCubicWeightsInfoQCOM { 19029 VkStructureType sType; 19030 const void* pNext; 19031 VkCubicFilterWeightsQCOM cubicWeights; 19032 } VkBlitImageCubicWeightsInfoQCOM; 19033 19034 19035 19036 // VK_QCOM_ycbcr_degamma is a preprocessor guard. Do not pass it to API calls. 19037 #define VK_QCOM_ycbcr_degamma 1 19038 #define VK_QCOM_YCBCR_DEGAMMA_SPEC_VERSION 1 19039 #define VK_QCOM_YCBCR_DEGAMMA_EXTENSION_NAME "VK_QCOM_ycbcr_degamma" 19040 typedef struct VkPhysicalDeviceYcbcrDegammaFeaturesQCOM { 19041 VkStructureType sType; 19042 void* pNext; 19043 VkBool32 ycbcrDegamma; 19044 } VkPhysicalDeviceYcbcrDegammaFeaturesQCOM; 19045 19046 typedef struct VkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM { 19047 VkStructureType sType; 19048 void* pNext; 19049 VkBool32 enableYDegamma; 19050 VkBool32 enableCbCrDegamma; 19051 } VkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM; 19052 19053 19054 19055 // VK_QCOM_filter_cubic_clamp is a preprocessor guard. Do not pass it to API calls. 19056 #define VK_QCOM_filter_cubic_clamp 1 19057 #define VK_QCOM_FILTER_CUBIC_CLAMP_SPEC_VERSION 1 19058 #define VK_QCOM_FILTER_CUBIC_CLAMP_EXTENSION_NAME "VK_QCOM_filter_cubic_clamp" 19059 typedef struct VkPhysicalDeviceCubicClampFeaturesQCOM { 19060 VkStructureType sType; 19061 void* pNext; 19062 VkBool32 cubicRangeClamp; 19063 } VkPhysicalDeviceCubicClampFeaturesQCOM; 19064 19065 19066 19067 // VK_EXT_attachment_feedback_loop_dynamic_state is a preprocessor guard. Do not pass it to API calls. 19068 #define VK_EXT_attachment_feedback_loop_dynamic_state 1 19069 #define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_SPEC_VERSION 1 19070 #define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_attachment_feedback_loop_dynamic_state" 19071 typedef struct VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT { 19072 VkStructureType sType; 19073 void* pNext; 19074 VkBool32 attachmentFeedbackLoopDynamicState; 19075 } VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT; 19076 19077 typedef void (VKAPI_PTR *PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT)(VkCommandBuffer commandBuffer, VkImageAspectFlags aspectMask); 19078 19079 #ifndef VK_NO_PROTOTYPES 19080 VKAPI_ATTR void VKAPI_CALL vkCmdSetAttachmentFeedbackLoopEnableEXT( 19081 VkCommandBuffer commandBuffer, 19082 VkImageAspectFlags aspectMask); 19083 #endif 19084 19085 19086 // VK_MSFT_layered_driver is a preprocessor guard. Do not pass it to API calls. 19087 #define VK_MSFT_layered_driver 1 19088 #define VK_MSFT_LAYERED_DRIVER_SPEC_VERSION 1 19089 #define VK_MSFT_LAYERED_DRIVER_EXTENSION_NAME "VK_MSFT_layered_driver" 19090 19091 typedef enum VkLayeredDriverUnderlyingApiMSFT { 19092 VK_LAYERED_DRIVER_UNDERLYING_API_NONE_MSFT = 0, 19093 VK_LAYERED_DRIVER_UNDERLYING_API_D3D12_MSFT = 1, 19094 VK_LAYERED_DRIVER_UNDERLYING_API_MAX_ENUM_MSFT = 0x7FFFFFFF 19095 } VkLayeredDriverUnderlyingApiMSFT; 19096 typedef struct VkPhysicalDeviceLayeredDriverPropertiesMSFT { 19097 VkStructureType sType; 19098 void* pNext; 19099 VkLayeredDriverUnderlyingApiMSFT underlyingAPI; 19100 } VkPhysicalDeviceLayeredDriverPropertiesMSFT; 19101 19102 19103 19104 // VK_NV_descriptor_pool_overallocation is a preprocessor guard. Do not pass it to API calls. 19105 #define VK_NV_descriptor_pool_overallocation 1 19106 #define VK_NV_DESCRIPTOR_POOL_OVERALLOCATION_SPEC_VERSION 1 19107 #define VK_NV_DESCRIPTOR_POOL_OVERALLOCATION_EXTENSION_NAME "VK_NV_descriptor_pool_overallocation" 19108 typedef struct VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV { 19109 VkStructureType sType; 19110 void* pNext; 19111 VkBool32 descriptorPoolOverallocation; 19112 } VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV; 19113 19114 19115 19116 // VK_NV_shader_atomic_float16_vector is a preprocessor guard. Do not pass it to API calls. 19117 #define VK_NV_shader_atomic_float16_vector 1 19118 #define VK_NV_SHADER_ATOMIC_FLOAT16_VECTOR_SPEC_VERSION 1 19119 #define VK_NV_SHADER_ATOMIC_FLOAT16_VECTOR_EXTENSION_NAME "VK_NV_shader_atomic_float16_vector" 19120 typedef struct VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV { 19121 VkStructureType sType; 19122 void* pNext; 19123 VkBool32 shaderFloat16VectorAtomics; 19124 } VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV; 19125 19126 19127 19128 // VK_KHR_acceleration_structure is a preprocessor guard. Do not pass it to API calls. 19129 #define VK_KHR_acceleration_structure 1 19130 #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 13 19131 #define VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_KHR_acceleration_structure" 19132 19133 typedef enum VkBuildAccelerationStructureModeKHR { 19134 VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR = 0, 19135 VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR = 1, 19136 VK_BUILD_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 19137 } VkBuildAccelerationStructureModeKHR; 19138 19139 typedef enum VkAccelerationStructureCreateFlagBitsKHR { 19140 VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 0x00000001, 19141 VK_ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000008, 19142 VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 0x00000004, 19143 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 19144 } VkAccelerationStructureCreateFlagBitsKHR; 19145 typedef VkFlags VkAccelerationStructureCreateFlagsKHR; 19146 typedef struct VkAccelerationStructureBuildRangeInfoKHR { 19147 uint32_t primitiveCount; 19148 uint32_t primitiveOffset; 19149 uint32_t firstVertex; 19150 uint32_t transformOffset; 19151 } VkAccelerationStructureBuildRangeInfoKHR; 19152 19153 typedef struct VkAccelerationStructureGeometryTrianglesDataKHR { 19154 VkStructureType sType; 19155 const void* pNext; 19156 VkFormat vertexFormat; 19157 VkDeviceOrHostAddressConstKHR vertexData; 19158 VkDeviceSize vertexStride; 19159 uint32_t maxVertex; 19160 VkIndexType indexType; 19161 VkDeviceOrHostAddressConstKHR indexData; 19162 VkDeviceOrHostAddressConstKHR transformData; 19163 } VkAccelerationStructureGeometryTrianglesDataKHR; 19164 19165 typedef struct VkAccelerationStructureGeometryAabbsDataKHR { 19166 VkStructureType sType; 19167 const void* pNext; 19168 VkDeviceOrHostAddressConstKHR data; 19169 VkDeviceSize stride; 19170 } VkAccelerationStructureGeometryAabbsDataKHR; 19171 19172 typedef struct VkAccelerationStructureGeometryInstancesDataKHR { 19173 VkStructureType sType; 19174 const void* pNext; 19175 VkBool32 arrayOfPointers; 19176 VkDeviceOrHostAddressConstKHR data; 19177 } VkAccelerationStructureGeometryInstancesDataKHR; 19178 19179 typedef union VkAccelerationStructureGeometryDataKHR { 19180 VkAccelerationStructureGeometryTrianglesDataKHR triangles; 19181 VkAccelerationStructureGeometryAabbsDataKHR aabbs; 19182 VkAccelerationStructureGeometryInstancesDataKHR instances; 19183 } VkAccelerationStructureGeometryDataKHR; 19184 19185 typedef struct VkAccelerationStructureGeometryKHR { 19186 VkStructureType sType; 19187 const void* pNext; 19188 VkGeometryTypeKHR geometryType; 19189 VkAccelerationStructureGeometryDataKHR geometry; 19190 VkGeometryFlagsKHR flags; 19191 } VkAccelerationStructureGeometryKHR; 19192 19193 typedef struct VkAccelerationStructureBuildGeometryInfoKHR { 19194 VkStructureType sType; 19195 const void* pNext; 19196 VkAccelerationStructureTypeKHR type; 19197 VkBuildAccelerationStructureFlagsKHR flags; 19198 VkBuildAccelerationStructureModeKHR mode; 19199 VkAccelerationStructureKHR srcAccelerationStructure; 19200 VkAccelerationStructureKHR dstAccelerationStructure; 19201 uint32_t geometryCount; 19202 const VkAccelerationStructureGeometryKHR* pGeometries; 19203 const VkAccelerationStructureGeometryKHR* const* ppGeometries; 19204 VkDeviceOrHostAddressKHR scratchData; 19205 } VkAccelerationStructureBuildGeometryInfoKHR; 19206 19207 typedef struct VkAccelerationStructureCreateInfoKHR { 19208 VkStructureType sType; 19209 const void* pNext; 19210 VkAccelerationStructureCreateFlagsKHR createFlags; 19211 VkBuffer buffer; 19212 VkDeviceSize offset; 19213 VkDeviceSize size; 19214 VkAccelerationStructureTypeKHR type; 19215 VkDeviceAddress deviceAddress; 19216 } VkAccelerationStructureCreateInfoKHR; 19217 19218 typedef struct VkWriteDescriptorSetAccelerationStructureKHR { 19219 VkStructureType sType; 19220 const void* pNext; 19221 uint32_t accelerationStructureCount; 19222 const VkAccelerationStructureKHR* pAccelerationStructures; 19223 } VkWriteDescriptorSetAccelerationStructureKHR; 19224 19225 typedef struct VkPhysicalDeviceAccelerationStructureFeaturesKHR { 19226 VkStructureType sType; 19227 void* pNext; 19228 VkBool32 accelerationStructure; 19229 VkBool32 accelerationStructureCaptureReplay; 19230 VkBool32 accelerationStructureIndirectBuild; 19231 VkBool32 accelerationStructureHostCommands; 19232 VkBool32 descriptorBindingAccelerationStructureUpdateAfterBind; 19233 } VkPhysicalDeviceAccelerationStructureFeaturesKHR; 19234 19235 typedef struct VkPhysicalDeviceAccelerationStructurePropertiesKHR { 19236 VkStructureType sType; 19237 void* pNext; 19238 uint64_t maxGeometryCount; 19239 uint64_t maxInstanceCount; 19240 uint64_t maxPrimitiveCount; 19241 uint32_t maxPerStageDescriptorAccelerationStructures; 19242 uint32_t maxPerStageDescriptorUpdateAfterBindAccelerationStructures; 19243 uint32_t maxDescriptorSetAccelerationStructures; 19244 uint32_t maxDescriptorSetUpdateAfterBindAccelerationStructures; 19245 uint32_t minAccelerationStructureScratchOffsetAlignment; 19246 } VkPhysicalDeviceAccelerationStructurePropertiesKHR; 19247 19248 typedef struct VkAccelerationStructureDeviceAddressInfoKHR { 19249 VkStructureType sType; 19250 const void* pNext; 19251 VkAccelerationStructureKHR accelerationStructure; 19252 } VkAccelerationStructureDeviceAddressInfoKHR; 19253 19254 typedef struct VkAccelerationStructureVersionInfoKHR { 19255 VkStructureType sType; 19256 const void* pNext; 19257 const uint8_t* pVersionData; 19258 } VkAccelerationStructureVersionInfoKHR; 19259 19260 typedef struct VkCopyAccelerationStructureToMemoryInfoKHR { 19261 VkStructureType sType; 19262 const void* pNext; 19263 VkAccelerationStructureKHR src; 19264 VkDeviceOrHostAddressKHR dst; 19265 VkCopyAccelerationStructureModeKHR mode; 19266 } VkCopyAccelerationStructureToMemoryInfoKHR; 19267 19268 typedef struct VkCopyMemoryToAccelerationStructureInfoKHR { 19269 VkStructureType sType; 19270 const void* pNext; 19271 VkDeviceOrHostAddressConstKHR src; 19272 VkAccelerationStructureKHR dst; 19273 VkCopyAccelerationStructureModeKHR mode; 19274 } VkCopyMemoryToAccelerationStructureInfoKHR; 19275 19276 typedef struct VkCopyAccelerationStructureInfoKHR { 19277 VkStructureType sType; 19278 const void* pNext; 19279 VkAccelerationStructureKHR src; 19280 VkAccelerationStructureKHR dst; 19281 VkCopyAccelerationStructureModeKHR mode; 19282 } VkCopyAccelerationStructureInfoKHR; 19283 19284 typedef struct VkAccelerationStructureBuildSizesInfoKHR { 19285 VkStructureType sType; 19286 const void* pNext; 19287 VkDeviceSize accelerationStructureSize; 19288 VkDeviceSize updateScratchSize; 19289 VkDeviceSize buildScratchSize; 19290 } VkAccelerationStructureBuildSizesInfoKHR; 19291 19292 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureKHR)(VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure); 19293 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureKHR)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator); 19294 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresKHR)(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos); 19295 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); 19296 typedef VkResult (VKAPI_PTR *PFN_vkBuildAccelerationStructuresKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos); 19297 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR* pInfo); 19298 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureToMemoryKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); 19299 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); 19300 typedef VkResult (VKAPI_PTR *PFN_vkWriteAccelerationStructuresPropertiesKHR)(VkDevice device, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, size_t dataSize, void* pData, size_t stride); 19301 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo); 19302 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureToMemoryKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); 19303 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); 19304 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetAccelerationStructureDeviceAddressKHR)(VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo); 19305 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery); 19306 typedef void (VKAPI_PTR *PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)(VkDevice device, const VkAccelerationStructureVersionInfoKHR* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility); 19307 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureBuildSizesKHR)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, const uint32_t* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo); 19308 19309 #ifndef VK_NO_PROTOTYPES 19310 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureKHR( 19311 VkDevice device, 19312 const VkAccelerationStructureCreateInfoKHR* pCreateInfo, 19313 const VkAllocationCallbacks* pAllocator, 19314 VkAccelerationStructureKHR* pAccelerationStructure); 19315 19316 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureKHR( 19317 VkDevice device, 19318 VkAccelerationStructureKHR accelerationStructure, 19319 const VkAllocationCallbacks* pAllocator); 19320 19321 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresKHR( 19322 VkCommandBuffer commandBuffer, 19323 uint32_t infoCount, 19324 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, 19325 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos); 19326 19327 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresIndirectKHR( 19328 VkCommandBuffer commandBuffer, 19329 uint32_t infoCount, 19330 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, 19331 const VkDeviceAddress* pIndirectDeviceAddresses, 19332 const uint32_t* pIndirectStrides, 19333 const uint32_t* const* ppMaxPrimitiveCounts); 19334 19335 VKAPI_ATTR VkResult VKAPI_CALL vkBuildAccelerationStructuresKHR( 19336 VkDevice device, 19337 VkDeferredOperationKHR deferredOperation, 19338 uint32_t infoCount, 19339 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, 19340 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos); 19341 19342 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureKHR( 19343 VkDevice device, 19344 VkDeferredOperationKHR deferredOperation, 19345 const VkCopyAccelerationStructureInfoKHR* pInfo); 19346 19347 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureToMemoryKHR( 19348 VkDevice device, 19349 VkDeferredOperationKHR deferredOperation, 19350 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); 19351 19352 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToAccelerationStructureKHR( 19353 VkDevice device, 19354 VkDeferredOperationKHR deferredOperation, 19355 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); 19356 19357 VKAPI_ATTR VkResult VKAPI_CALL vkWriteAccelerationStructuresPropertiesKHR( 19358 VkDevice device, 19359 uint32_t accelerationStructureCount, 19360 const VkAccelerationStructureKHR* pAccelerationStructures, 19361 VkQueryType queryType, 19362 size_t dataSize, 19363 void* pData, 19364 size_t stride); 19365 19366 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureKHR( 19367 VkCommandBuffer commandBuffer, 19368 const VkCopyAccelerationStructureInfoKHR* pInfo); 19369 19370 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureToMemoryKHR( 19371 VkCommandBuffer commandBuffer, 19372 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); 19373 19374 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToAccelerationStructureKHR( 19375 VkCommandBuffer commandBuffer, 19376 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); 19377 19378 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetAccelerationStructureDeviceAddressKHR( 19379 VkDevice device, 19380 const VkAccelerationStructureDeviceAddressInfoKHR* pInfo); 19381 19382 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesKHR( 19383 VkCommandBuffer commandBuffer, 19384 uint32_t accelerationStructureCount, 19385 const VkAccelerationStructureKHR* pAccelerationStructures, 19386 VkQueryType queryType, 19387 VkQueryPool queryPool, 19388 uint32_t firstQuery); 19389 19390 VKAPI_ATTR void VKAPI_CALL vkGetDeviceAccelerationStructureCompatibilityKHR( 19391 VkDevice device, 19392 const VkAccelerationStructureVersionInfoKHR* pVersionInfo, 19393 VkAccelerationStructureCompatibilityKHR* pCompatibility); 19394 19395 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureBuildSizesKHR( 19396 VkDevice device, 19397 VkAccelerationStructureBuildTypeKHR buildType, 19398 const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, 19399 const uint32_t* pMaxPrimitiveCounts, 19400 VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo); 19401 #endif 19402 19403 19404 // VK_KHR_ray_tracing_pipeline is a preprocessor guard. Do not pass it to API calls. 19405 #define VK_KHR_ray_tracing_pipeline 1 19406 #define VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION 1 19407 #define VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME "VK_KHR_ray_tracing_pipeline" 19408 19409 typedef enum VkShaderGroupShaderKHR { 19410 VK_SHADER_GROUP_SHADER_GENERAL_KHR = 0, 19411 VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR = 1, 19412 VK_SHADER_GROUP_SHADER_ANY_HIT_KHR = 2, 19413 VK_SHADER_GROUP_SHADER_INTERSECTION_KHR = 3, 19414 VK_SHADER_GROUP_SHADER_MAX_ENUM_KHR = 0x7FFFFFFF 19415 } VkShaderGroupShaderKHR; 19416 typedef struct VkRayTracingShaderGroupCreateInfoKHR { 19417 VkStructureType sType; 19418 const void* pNext; 19419 VkRayTracingShaderGroupTypeKHR type; 19420 uint32_t generalShader; 19421 uint32_t closestHitShader; 19422 uint32_t anyHitShader; 19423 uint32_t intersectionShader; 19424 const void* pShaderGroupCaptureReplayHandle; 19425 } VkRayTracingShaderGroupCreateInfoKHR; 19426 19427 typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR { 19428 VkStructureType sType; 19429 const void* pNext; 19430 uint32_t maxPipelineRayPayloadSize; 19431 uint32_t maxPipelineRayHitAttributeSize; 19432 } VkRayTracingPipelineInterfaceCreateInfoKHR; 19433 19434 typedef struct VkRayTracingPipelineCreateInfoKHR { 19435 VkStructureType sType; 19436 const void* pNext; 19437 VkPipelineCreateFlags flags; 19438 uint32_t stageCount; 19439 const VkPipelineShaderStageCreateInfo* pStages; 19440 uint32_t groupCount; 19441 const VkRayTracingShaderGroupCreateInfoKHR* pGroups; 19442 uint32_t maxPipelineRayRecursionDepth; 19443 const VkPipelineLibraryCreateInfoKHR* pLibraryInfo; 19444 const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface; 19445 const VkPipelineDynamicStateCreateInfo* pDynamicState; 19446 VkPipelineLayout layout; 19447 VkPipeline basePipelineHandle; 19448 int32_t basePipelineIndex; 19449 } VkRayTracingPipelineCreateInfoKHR; 19450 19451 typedef struct VkPhysicalDeviceRayTracingPipelineFeaturesKHR { 19452 VkStructureType sType; 19453 void* pNext; 19454 VkBool32 rayTracingPipeline; 19455 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplay; 19456 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplayMixed; 19457 VkBool32 rayTracingPipelineTraceRaysIndirect; 19458 VkBool32 rayTraversalPrimitiveCulling; 19459 } VkPhysicalDeviceRayTracingPipelineFeaturesKHR; 19460 19461 typedef struct VkPhysicalDeviceRayTracingPipelinePropertiesKHR { 19462 VkStructureType sType; 19463 void* pNext; 19464 uint32_t shaderGroupHandleSize; 19465 uint32_t maxRayRecursionDepth; 19466 uint32_t maxShaderGroupStride; 19467 uint32_t shaderGroupBaseAlignment; 19468 uint32_t shaderGroupHandleCaptureReplaySize; 19469 uint32_t maxRayDispatchInvocationCount; 19470 uint32_t shaderGroupHandleAlignment; 19471 uint32_t maxRayHitAttributeSize; 19472 } VkPhysicalDeviceRayTracingPipelinePropertiesKHR; 19473 19474 typedef struct VkStridedDeviceAddressRegionKHR { 19475 VkDeviceAddress deviceAddress; 19476 VkDeviceSize stride; 19477 VkDeviceSize size; 19478 } VkStridedDeviceAddressRegionKHR; 19479 19480 typedef struct VkTraceRaysIndirectCommandKHR { 19481 uint32_t width; 19482 uint32_t height; 19483 uint32_t depth; 19484 } VkTraceRaysIndirectCommandKHR; 19485 19486 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); 19487 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 19488 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData); 19489 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirectKHR)(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress); 19490 typedef VkDeviceSize (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupStackSizeKHR)(VkDevice device, VkPipeline pipeline, uint32_t group, VkShaderGroupShaderKHR groupShader); 19491 typedef void (VKAPI_PTR *PFN_vkCmdSetRayTracingPipelineStackSizeKHR)(VkCommandBuffer commandBuffer, uint32_t pipelineStackSize); 19492 19493 #ifndef VK_NO_PROTOTYPES 19494 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysKHR( 19495 VkCommandBuffer commandBuffer, 19496 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, 19497 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, 19498 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, 19499 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, 19500 uint32_t width, 19501 uint32_t height, 19502 uint32_t depth); 19503 19504 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesKHR( 19505 VkDevice device, 19506 VkDeferredOperationKHR deferredOperation, 19507 VkPipelineCache pipelineCache, 19508 uint32_t createInfoCount, 19509 const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, 19510 const VkAllocationCallbacks* pAllocator, 19511 VkPipeline* pPipelines); 19512 19513 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( 19514 VkDevice device, 19515 VkPipeline pipeline, 19516 uint32_t firstGroup, 19517 uint32_t groupCount, 19518 size_t dataSize, 19519 void* pData); 19520 19521 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirectKHR( 19522 VkCommandBuffer commandBuffer, 19523 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, 19524 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, 19525 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, 19526 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, 19527 VkDeviceAddress indirectDeviceAddress); 19528 19529 VKAPI_ATTR VkDeviceSize VKAPI_CALL vkGetRayTracingShaderGroupStackSizeKHR( 19530 VkDevice device, 19531 VkPipeline pipeline, 19532 uint32_t group, 19533 VkShaderGroupShaderKHR groupShader); 19534 19535 VKAPI_ATTR void VKAPI_CALL vkCmdSetRayTracingPipelineStackSizeKHR( 19536 VkCommandBuffer commandBuffer, 19537 uint32_t pipelineStackSize); 19538 #endif 19539 19540 19541 // VK_KHR_ray_query is a preprocessor guard. Do not pass it to API calls. 19542 #define VK_KHR_ray_query 1 19543 #define VK_KHR_RAY_QUERY_SPEC_VERSION 1 19544 #define VK_KHR_RAY_QUERY_EXTENSION_NAME "VK_KHR_ray_query" 19545 typedef struct VkPhysicalDeviceRayQueryFeaturesKHR { 19546 VkStructureType sType; 19547 void* pNext; 19548 VkBool32 rayQuery; 19549 } VkPhysicalDeviceRayQueryFeaturesKHR; 19550 19551 19552 19553 // VK_EXT_mesh_shader is a preprocessor guard. Do not pass it to API calls. 19554 #define VK_EXT_mesh_shader 1 19555 #define VK_EXT_MESH_SHADER_SPEC_VERSION 1 19556 #define VK_EXT_MESH_SHADER_EXTENSION_NAME "VK_EXT_mesh_shader" 19557 typedef struct VkPhysicalDeviceMeshShaderFeaturesEXT { 19558 VkStructureType sType; 19559 void* pNext; 19560 VkBool32 taskShader; 19561 VkBool32 meshShader; 19562 VkBool32 multiviewMeshShader; 19563 VkBool32 primitiveFragmentShadingRateMeshShader; 19564 VkBool32 meshShaderQueries; 19565 } VkPhysicalDeviceMeshShaderFeaturesEXT; 19566 19567 typedef struct VkPhysicalDeviceMeshShaderPropertiesEXT { 19568 VkStructureType sType; 19569 void* pNext; 19570 uint32_t maxTaskWorkGroupTotalCount; 19571 uint32_t maxTaskWorkGroupCount[3]; 19572 uint32_t maxTaskWorkGroupInvocations; 19573 uint32_t maxTaskWorkGroupSize[3]; 19574 uint32_t maxTaskPayloadSize; 19575 uint32_t maxTaskSharedMemorySize; 19576 uint32_t maxTaskPayloadAndSharedMemorySize; 19577 uint32_t maxMeshWorkGroupTotalCount; 19578 uint32_t maxMeshWorkGroupCount[3]; 19579 uint32_t maxMeshWorkGroupInvocations; 19580 uint32_t maxMeshWorkGroupSize[3]; 19581 uint32_t maxMeshSharedMemorySize; 19582 uint32_t maxMeshPayloadAndSharedMemorySize; 19583 uint32_t maxMeshOutputMemorySize; 19584 uint32_t maxMeshPayloadAndOutputMemorySize; 19585 uint32_t maxMeshOutputComponents; 19586 uint32_t maxMeshOutputVertices; 19587 uint32_t maxMeshOutputPrimitives; 19588 uint32_t maxMeshOutputLayers; 19589 uint32_t maxMeshMultiviewViewCount; 19590 uint32_t meshOutputPerVertexGranularity; 19591 uint32_t meshOutputPerPrimitiveGranularity; 19592 uint32_t maxPreferredTaskWorkGroupInvocations; 19593 uint32_t maxPreferredMeshWorkGroupInvocations; 19594 VkBool32 prefersLocalInvocationVertexOutput; 19595 VkBool32 prefersLocalInvocationPrimitiveOutput; 19596 VkBool32 prefersCompactVertexOutput; 19597 VkBool32 prefersCompactPrimitiveOutput; 19598 } VkPhysicalDeviceMeshShaderPropertiesEXT; 19599 19600 typedef struct VkDrawMeshTasksIndirectCommandEXT { 19601 uint32_t groupCountX; 19602 uint32_t groupCountY; 19603 uint32_t groupCountZ; 19604 } VkDrawMeshTasksIndirectCommandEXT; 19605 19606 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksEXT)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ); 19607 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectEXT)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); 19608 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountEXT)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 19609 19610 #ifndef VK_NO_PROTOTYPES 19611 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksEXT( 19612 VkCommandBuffer commandBuffer, 19613 uint32_t groupCountX, 19614 uint32_t groupCountY, 19615 uint32_t groupCountZ); 19616 19617 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectEXT( 19618 VkCommandBuffer commandBuffer, 19619 VkBuffer buffer, 19620 VkDeviceSize offset, 19621 uint32_t drawCount, 19622 uint32_t stride); 19623 19624 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountEXT( 19625 VkCommandBuffer commandBuffer, 19626 VkBuffer buffer, 19627 VkDeviceSize offset, 19628 VkBuffer countBuffer, 19629 VkDeviceSize countBufferOffset, 19630 uint32_t maxDrawCount, 19631 uint32_t stride); 19632 #endif 19633 19634 #ifdef __cplusplus 19635 } 19636 #endif 19637 19638 #endif 19639