1 #ifndef VULKAN_CORE_H_ 2 #define VULKAN_CORE_H_ 1 3 4 /* 5 ** Copyright 2015-2022 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 #define VK_VERSION_1_0 1 23 #include "vk_platform.h" 24 25 #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object; 26 27 28 #ifndef VK_USE_64_BIT_PTR_DEFINES 29 #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__) 30 #define VK_USE_64_BIT_PTR_DEFINES 1 31 #else 32 #define VK_USE_64_BIT_PTR_DEFINES 0 33 #endif 34 #endif 35 36 37 #ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE 38 #if (VK_USE_64_BIT_PTR_DEFINES==1) 39 #if (defined(__cplusplus) && (__cplusplus >= 201103L)) || (defined(_MSVC_LANG) && (_MSVC_LANG >= 201103L)) 40 #define VK_NULL_HANDLE nullptr 41 #else 42 #define VK_NULL_HANDLE ((void*)0) 43 #endif 44 #else 45 #define VK_NULL_HANDLE 0ULL 46 #endif 47 #endif 48 #ifndef VK_NULL_HANDLE 49 #define VK_NULL_HANDLE 0 50 #endif 51 52 53 #ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE 54 #if (VK_USE_64_BIT_PTR_DEFINES==1) 55 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object; 56 #else 57 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object; 58 #endif 59 #endif 60 61 // DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead. 62 #define VK_MAKE_VERSION(major, minor, patch) \ 63 ((((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((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_VERSION(1, 0, 0) // Patch version should always be set to 0 67 68 #define VK_MAKE_API_VERSION(variant, major, minor, patch) \ 69 ((((uint32_t)(variant)) << 29) | (((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((uint32_t)(patch))) 70 71 // Vulkan 1.0 version number 72 #define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0 73 74 // Version of this file 75 #define VK_HEADER_VERSION 231 76 77 // Complete version of this file 78 #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) 79 80 // DEPRECATED: This define is deprecated. VK_API_VERSION_MAJOR should be used instead. 81 #define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22) 82 83 // DEPRECATED: This define is deprecated. VK_API_VERSION_MINOR should be used instead. 84 #define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3FFU) 85 86 // DEPRECATED: This define is deprecated. VK_API_VERSION_PATCH should be used instead. 87 #define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU) 88 89 #define VK_API_VERSION_VARIANT(version) ((uint32_t)(version) >> 29) 90 #define VK_API_VERSION_MAJOR(version) (((uint32_t)(version) >> 22) & 0x7FU) 91 #define VK_API_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3FFU) 92 #define VK_API_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU) 93 typedef uint32_t VkBool32; 94 typedef uint64_t VkDeviceAddress; 95 typedef uint64_t VkDeviceSize; 96 typedef uint32_t VkFlags; 97 typedef uint32_t VkSampleMask; 98 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer) 99 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage) 100 VK_DEFINE_HANDLE(VkInstance) 101 VK_DEFINE_HANDLE(VkPhysicalDevice) 102 VK_DEFINE_HANDLE(VkDevice) 103 VK_DEFINE_HANDLE(VkQueue) 104 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore) 105 VK_DEFINE_HANDLE(VkCommandBuffer) 106 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence) 107 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory) 108 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent) 109 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool) 110 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView) 111 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView) 112 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule) 113 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache) 114 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout) 115 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline) 116 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass) 117 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout) 118 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler) 119 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet) 120 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool) 121 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer) 122 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool) 123 #define VK_ATTACHMENT_UNUSED (~0U) 124 #define VK_FALSE 0U 125 #define VK_LOD_CLAMP_NONE 1000.0F 126 #define VK_QUEUE_FAMILY_IGNORED (~0U) 127 #define VK_REMAINING_ARRAY_LAYERS (~0U) 128 #define VK_REMAINING_MIP_LEVELS (~0U) 129 #define VK_SUBPASS_EXTERNAL (~0U) 130 #define VK_TRUE 1U 131 #define VK_WHOLE_SIZE (~0ULL) 132 #define VK_MAX_MEMORY_TYPES 32U 133 #define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256U 134 #define VK_UUID_SIZE 16U 135 #define VK_MAX_EXTENSION_NAME_SIZE 256U 136 #define VK_MAX_DESCRIPTION_SIZE 256U 137 #define VK_MAX_MEMORY_HEAPS 16U 138 139 typedef enum VkResult { 140 VK_SUCCESS = 0, 141 VK_NOT_READY = 1, 142 VK_TIMEOUT = 2, 143 VK_EVENT_SET = 3, 144 VK_EVENT_RESET = 4, 145 VK_INCOMPLETE = 5, 146 VK_ERROR_OUT_OF_HOST_MEMORY = -1, 147 VK_ERROR_OUT_OF_DEVICE_MEMORY = -2, 148 VK_ERROR_INITIALIZATION_FAILED = -3, 149 VK_ERROR_DEVICE_LOST = -4, 150 VK_ERROR_MEMORY_MAP_FAILED = -5, 151 VK_ERROR_LAYER_NOT_PRESENT = -6, 152 VK_ERROR_EXTENSION_NOT_PRESENT = -7, 153 VK_ERROR_FEATURE_NOT_PRESENT = -8, 154 VK_ERROR_INCOMPATIBLE_DRIVER = -9, 155 VK_ERROR_TOO_MANY_OBJECTS = -10, 156 VK_ERROR_FORMAT_NOT_SUPPORTED = -11, 157 VK_ERROR_FRAGMENTED_POOL = -12, 158 VK_ERROR_UNKNOWN = -13, 159 VK_ERROR_OUT_OF_POOL_MEMORY = -1000069000, 160 VK_ERROR_INVALID_EXTERNAL_HANDLE = -1000072003, 161 VK_ERROR_FRAGMENTATION = -1000161000, 162 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS = -1000257000, 163 VK_PIPELINE_COMPILE_REQUIRED = 1000297000, 164 VK_ERROR_SURFACE_LOST_KHR = -1000000000, 165 VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001, 166 VK_SUBOPTIMAL_KHR = 1000001003, 167 VK_ERROR_OUT_OF_DATE_KHR = -1000001004, 168 VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001, 169 VK_ERROR_VALIDATION_FAILED_EXT = -1000011001, 170 VK_ERROR_INVALID_SHADER_NV = -1000012000, 171 #ifdef VK_ENABLE_BETA_EXTENSIONS 172 VK_ERROR_IMAGE_USAGE_NOT_SUPPORTED_KHR = -1000023000, 173 #endif 174 #ifdef VK_ENABLE_BETA_EXTENSIONS 175 VK_ERROR_VIDEO_PICTURE_LAYOUT_NOT_SUPPORTED_KHR = -1000023001, 176 #endif 177 #ifdef VK_ENABLE_BETA_EXTENSIONS 178 VK_ERROR_VIDEO_PROFILE_OPERATION_NOT_SUPPORTED_KHR = -1000023002, 179 #endif 180 #ifdef VK_ENABLE_BETA_EXTENSIONS 181 VK_ERROR_VIDEO_PROFILE_FORMAT_NOT_SUPPORTED_KHR = -1000023003, 182 #endif 183 #ifdef VK_ENABLE_BETA_EXTENSIONS 184 VK_ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR = -1000023004, 185 #endif 186 #ifdef VK_ENABLE_BETA_EXTENSIONS 187 VK_ERROR_VIDEO_STD_VERSION_NOT_SUPPORTED_KHR = -1000023005, 188 #endif 189 VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000, 190 VK_ERROR_NOT_PERMITTED_KHR = -1000174001, 191 VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT = -1000255000, 192 VK_THREAD_IDLE_KHR = 1000268000, 193 VK_THREAD_DONE_KHR = 1000268001, 194 VK_OPERATION_DEFERRED_KHR = 1000268002, 195 VK_OPERATION_NOT_DEFERRED_KHR = 1000268003, 196 VK_ERROR_COMPRESSION_EXHAUSTED_EXT = -1000338000, 197 VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY, 198 VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE, 199 VK_ERROR_FRAGMENTATION_EXT = VK_ERROR_FRAGMENTATION, 200 VK_ERROR_NOT_PERMITTED_EXT = VK_ERROR_NOT_PERMITTED_KHR, 201 VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS, 202 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS, 203 VK_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED, 204 VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED, 205 VK_RESULT_MAX_ENUM = 0x7FFFFFFF 206 } VkResult; 207 208 typedef enum VkStructureType { 209 VK_STRUCTURE_TYPE_APPLICATION_INFO = 0, 210 VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1, 211 VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2, 212 VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3, 213 VK_STRUCTURE_TYPE_SUBMIT_INFO = 4, 214 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5, 215 VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6, 216 VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7, 217 VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8, 218 VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9, 219 VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10, 220 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11, 221 VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12, 222 VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13, 223 VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14, 224 VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15, 225 VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16, 226 VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17, 227 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18, 228 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19, 229 VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20, 230 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21, 231 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22, 232 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23, 233 VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24, 234 VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25, 235 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26, 236 VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27, 237 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28, 238 VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29, 239 VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30, 240 VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31, 241 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32, 242 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33, 243 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34, 244 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35, 245 VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36, 246 VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37, 247 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38, 248 VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39, 249 VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40, 250 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41, 251 VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42, 252 VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43, 253 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44, 254 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45, 255 VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46, 256 VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47, 257 VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48, 258 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000, 259 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO = 1000157000, 260 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO = 1000157001, 261 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000, 262 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000, 263 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001, 264 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000, 265 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003, 266 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004, 267 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO = 1000060005, 268 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO = 1000060006, 269 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013, 270 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014, 271 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000, 272 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001, 273 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000, 274 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001, 275 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 = 1000146002, 276 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 = 1000146003, 277 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = 1000146004, 278 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000, 279 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001, 280 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002, 281 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 = 1000059003, 282 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004, 283 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 = 1000059005, 284 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006, 285 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 = 1000059007, 286 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = 1000059008, 287 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000, 288 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001, 289 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002, 290 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003, 291 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000, 292 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001, 293 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002, 294 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES = 1000120000, 295 VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO = 1000145000, 296 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001, 297 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002, 298 VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 = 1000145003, 299 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000, 300 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO = 1000156001, 301 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002, 302 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003, 303 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004, 304 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005, 305 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO = 1000085000, 306 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000, 307 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001, 308 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002, 309 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES = 1000071003, 310 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004, 311 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000, 312 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001, 313 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO = 1000072002, 314 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000, 315 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES = 1000112001, 316 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO = 1000113000, 317 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO = 1000077000, 318 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000, 319 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001, 320 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000, 321 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001, 322 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000, 323 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES = 49, 324 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES = 50, 325 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES = 51, 326 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES = 52, 327 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO = 1000147000, 328 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 = 1000109000, 329 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 = 1000109001, 330 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 = 1000109002, 331 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 = 1000109003, 332 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 = 1000109004, 333 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO = 1000109005, 334 VK_STRUCTURE_TYPE_SUBPASS_END_INFO = 1000109006, 335 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES = 1000177000, 336 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES = 1000196000, 337 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES = 1000180000, 338 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES = 1000082000, 339 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES = 1000197000, 340 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO = 1000161000, 341 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES = 1000161001, 342 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES = 1000161002, 343 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO = 1000161003, 344 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT = 1000161004, 345 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES = 1000199000, 346 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE = 1000199001, 347 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES = 1000221000, 348 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO = 1000246000, 349 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES = 1000130000, 350 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO = 1000130001, 351 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES = 1000211000, 352 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES = 1000108000, 353 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO = 1000108001, 354 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO = 1000108002, 355 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO = 1000108003, 356 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES = 1000253000, 357 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES = 1000175000, 358 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES = 1000241000, 359 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT = 1000241001, 360 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT = 1000241002, 361 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES = 1000261000, 362 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES = 1000207000, 363 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES = 1000207001, 364 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO = 1000207002, 365 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO = 1000207003, 366 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO = 1000207004, 367 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO = 1000207005, 368 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES = 1000257000, 369 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO = 1000244001, 370 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO = 1000257002, 371 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO = 1000257003, 372 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO = 1000257004, 373 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES = 53, 374 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES = 54, 375 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO = 1000192000, 376 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES = 1000215000, 377 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES = 1000245000, 378 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES = 1000276000, 379 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES = 1000295000, 380 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO = 1000295001, 381 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO = 1000295002, 382 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES = 1000297000, 383 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2 = 1000314000, 384 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2 = 1000314001, 385 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2 = 1000314002, 386 VK_STRUCTURE_TYPE_DEPENDENCY_INFO = 1000314003, 387 VK_STRUCTURE_TYPE_SUBMIT_INFO_2 = 1000314004, 388 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO = 1000314005, 389 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO = 1000314006, 390 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES = 1000314007, 391 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES = 1000325000, 392 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES = 1000335000, 393 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2 = 1000337000, 394 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2 = 1000337001, 395 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2 = 1000337002, 396 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2 = 1000337003, 397 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2 = 1000337004, 398 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2 = 1000337005, 399 VK_STRUCTURE_TYPE_BUFFER_COPY_2 = 1000337006, 400 VK_STRUCTURE_TYPE_IMAGE_COPY_2 = 1000337007, 401 VK_STRUCTURE_TYPE_IMAGE_BLIT_2 = 1000337008, 402 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2 = 1000337009, 403 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2 = 1000337010, 404 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES = 1000225000, 405 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO = 1000225001, 406 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES = 1000225002, 407 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES = 1000138000, 408 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES = 1000138001, 409 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK = 1000138002, 410 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO = 1000138003, 411 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES = 1000066000, 412 VK_STRUCTURE_TYPE_RENDERING_INFO = 1000044000, 413 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO = 1000044001, 414 VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO = 1000044002, 415 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES = 1000044003, 416 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO = 1000044004, 417 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES = 1000280000, 418 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES = 1000280001, 419 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES = 1000281001, 420 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3 = 1000360000, 421 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES = 1000413000, 422 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES = 1000413001, 423 VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS = 1000413002, 424 VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS = 1000413003, 425 VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000, 426 VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001, 427 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007, 428 VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008, 429 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009, 430 VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010, 431 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011, 432 VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012, 433 VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000, 434 VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001, 435 VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000, 436 VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000, 437 VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000, 438 VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000, 439 VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000, 440 VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000, 441 VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000, 442 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000, 443 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000, 444 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001, 445 VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002, 446 #ifdef VK_ENABLE_BETA_EXTENSIONS 447 VK_STRUCTURE_TYPE_VIDEO_PROFILE_INFO_KHR = 1000023000, 448 #endif 449 #ifdef VK_ENABLE_BETA_EXTENSIONS 450 VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR = 1000023001, 451 #endif 452 #ifdef VK_ENABLE_BETA_EXTENSIONS 453 VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_INFO_KHR = 1000023002, 454 #endif 455 #ifdef VK_ENABLE_BETA_EXTENSIONS 456 VK_STRUCTURE_TYPE_VIDEO_SESSION_MEMORY_REQUIREMENTS_KHR = 1000023003, 457 #endif 458 #ifdef VK_ENABLE_BETA_EXTENSIONS 459 VK_STRUCTURE_TYPE_BIND_VIDEO_SESSION_MEMORY_INFO_KHR = 1000023004, 460 #endif 461 #ifdef VK_ENABLE_BETA_EXTENSIONS 462 VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR = 1000023005, 463 #endif 464 #ifdef VK_ENABLE_BETA_EXTENSIONS 465 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000023006, 466 #endif 467 #ifdef VK_ENABLE_BETA_EXTENSIONS 468 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR = 1000023007, 469 #endif 470 #ifdef VK_ENABLE_BETA_EXTENSIONS 471 VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR = 1000023008, 472 #endif 473 #ifdef VK_ENABLE_BETA_EXTENSIONS 474 VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR = 1000023009, 475 #endif 476 #ifdef VK_ENABLE_BETA_EXTENSIONS 477 VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR = 1000023010, 478 #endif 479 #ifdef VK_ENABLE_BETA_EXTENSIONS 480 VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_INFO_KHR = 1000023011, 481 #endif 482 #ifdef VK_ENABLE_BETA_EXTENSIONS 483 VK_STRUCTURE_TYPE_QUEUE_FAMILY_VIDEO_PROPERTIES_KHR = 1000023012, 484 #endif 485 #ifdef VK_ENABLE_BETA_EXTENSIONS 486 VK_STRUCTURE_TYPE_VIDEO_PROFILE_LIST_INFO_KHR = 1000023013, 487 #endif 488 #ifdef VK_ENABLE_BETA_EXTENSIONS 489 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR = 1000023014, 490 #endif 491 #ifdef VK_ENABLE_BETA_EXTENSIONS 492 VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR = 1000023015, 493 #endif 494 #ifdef VK_ENABLE_BETA_EXTENSIONS 495 VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR = 1000023016, 496 #endif 497 #ifdef VK_ENABLE_BETA_EXTENSIONS 498 VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR = 1000024000, 499 #endif 500 #ifdef VK_ENABLE_BETA_EXTENSIONS 501 VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR = 1000024001, 502 #endif 503 #ifdef VK_ENABLE_BETA_EXTENSIONS 504 VK_STRUCTURE_TYPE_VIDEO_DECODE_USAGE_INFO_KHR = 1000024002, 505 #endif 506 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000, 507 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001, 508 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002, 509 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT = 1000028000, 510 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT = 1000028001, 511 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT = 1000028002, 512 VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX = 1000029000, 513 VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX = 1000029001, 514 VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX = 1000029002, 515 VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX = 1000030000, 516 VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX = 1000030001, 517 #ifdef VK_ENABLE_BETA_EXTENSIONS 518 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT = 1000038000, 519 #endif 520 #ifdef VK_ENABLE_BETA_EXTENSIONS 521 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000038001, 522 #endif 523 #ifdef VK_ENABLE_BETA_EXTENSIONS 524 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000038002, 525 #endif 526 #ifdef VK_ENABLE_BETA_EXTENSIONS 527 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT = 1000038003, 528 #endif 529 #ifdef VK_ENABLE_BETA_EXTENSIONS 530 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT = 1000038004, 531 #endif 532 #ifdef VK_ENABLE_BETA_EXTENSIONS 533 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_INFO_EXT = 1000038005, 534 #endif 535 #ifdef VK_ENABLE_BETA_EXTENSIONS 536 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_INFO_EXT = 1000038006, 537 #endif 538 #ifdef VK_ENABLE_BETA_EXTENSIONS 539 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_INFO_EXT = 1000038007, 540 #endif 541 #ifdef VK_ENABLE_BETA_EXTENSIONS 542 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT = 1000038008, 543 #endif 544 #ifdef VK_ENABLE_BETA_EXTENSIONS 545 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT = 1000038009, 546 #endif 547 #ifdef VK_ENABLE_BETA_EXTENSIONS 548 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_REFERENCE_LISTS_INFO_EXT = 1000038010, 549 #endif 550 #ifdef VK_ENABLE_BETA_EXTENSIONS 551 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT = 1000039000, 552 #endif 553 #ifdef VK_ENABLE_BETA_EXTENSIONS 554 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000039001, 555 #endif 556 #ifdef VK_ENABLE_BETA_EXTENSIONS 557 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000039002, 558 #endif 559 #ifdef VK_ENABLE_BETA_EXTENSIONS 560 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT = 1000039003, 561 #endif 562 #ifdef VK_ENABLE_BETA_EXTENSIONS 563 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT = 1000039004, 564 #endif 565 #ifdef VK_ENABLE_BETA_EXTENSIONS 566 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_EXT = 1000039005, 567 #endif 568 #ifdef VK_ENABLE_BETA_EXTENSIONS 569 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_INFO_EXT = 1000039006, 570 #endif 571 #ifdef VK_ENABLE_BETA_EXTENSIONS 572 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_INFO_EXT = 1000039007, 573 #endif 574 #ifdef VK_ENABLE_BETA_EXTENSIONS 575 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_REFERENCE_LISTS_INFO_EXT = 1000039008, 576 #endif 577 #ifdef VK_ENABLE_BETA_EXTENSIONS 578 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT = 1000039009, 579 #endif 580 #ifdef VK_ENABLE_BETA_EXTENSIONS 581 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT = 1000039010, 582 #endif 583 #ifdef VK_ENABLE_BETA_EXTENSIONS 584 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT = 1000040000, 585 #endif 586 #ifdef VK_ENABLE_BETA_EXTENSIONS 587 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT = 1000040001, 588 #endif 589 #ifdef VK_ENABLE_BETA_EXTENSIONS 590 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_INFO_EXT = 1000040003, 591 #endif 592 #ifdef VK_ENABLE_BETA_EXTENSIONS 593 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000040004, 594 #endif 595 #ifdef VK_ENABLE_BETA_EXTENSIONS 596 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000040005, 597 #endif 598 #ifdef VK_ENABLE_BETA_EXTENSIONS 599 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT = 1000040006, 600 #endif 601 VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000, 602 VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000044006, 603 VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT = 1000044007, 604 VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD = 1000044008, 605 VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX = 1000044009, 606 VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000, 607 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000, 608 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000, 609 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001, 610 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000, 611 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001, 612 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000, 613 VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000, 614 VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000, 615 VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000, 616 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001, 617 VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT = 1000068000, 618 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT = 1000068001, 619 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT = 1000068002, 620 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000, 621 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001, 622 VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002, 623 VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR = 1000073003, 624 VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR = 1000074000, 625 VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR = 1000074001, 626 VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR = 1000074002, 627 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = 1000075000, 628 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078000, 629 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078001, 630 VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR = 1000078002, 631 VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = 1000078003, 632 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000, 633 VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001, 634 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000, 635 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT = 1000081000, 636 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT = 1000081001, 637 VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT = 1000081002, 638 VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000, 639 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000, 640 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT = 1000090000, 641 VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000, 642 VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001, 643 VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002, 644 VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003, 645 VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000, 646 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000, 647 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000, 648 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000, 649 VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001, 650 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000, 651 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001, 652 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT = 1000102000, 653 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT = 1000102001, 654 VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000, 655 VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000, 656 VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000, 657 VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001, 658 VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR = 1000114002, 659 VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = 1000115000, 660 VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = 1000115001, 661 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR = 1000116000, 662 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR = 1000116001, 663 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR = 1000116002, 664 VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR = 1000116003, 665 VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR = 1000116004, 666 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR = 1000116005, 667 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR = 1000116006, 668 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000, 669 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001, 670 VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002, 671 VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR = 1000121000, 672 VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR = 1000121001, 673 VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR = 1000121002, 674 VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR = 1000121003, 675 VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004, 676 VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000, 677 VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000, 678 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000, 679 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT = 1000128001, 680 VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT = 1000128002, 681 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000128003, 682 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004, 683 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129000, 684 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129001, 685 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID = 1000129002, 686 VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003, 687 VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004, 688 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005, 689 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID = 1000129006, 690 VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000, 691 VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001, 692 VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002, 693 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003, 694 VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = 1000143004, 695 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000, 696 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001, 697 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002, 698 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000, 699 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR = 1000150007, 700 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR = 1000150000, 701 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR = 1000150002, 702 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR = 1000150003, 703 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR = 1000150004, 704 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR = 1000150005, 705 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR = 1000150006, 706 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR = 1000150009, 707 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR = 1000150010, 708 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR = 1000150011, 709 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR = 1000150012, 710 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR = 1000150013, 711 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR = 1000150014, 712 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR = 1000150017, 713 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR = 1000150020, 714 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR = 1000347000, 715 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR = 1000347001, 716 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR = 1000150015, 717 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR = 1000150016, 718 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR = 1000150018, 719 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR = 1000348013, 720 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000, 721 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV = 1000154000, 722 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV = 1000154001, 723 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT = 1000158000, 724 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT = 1000158002, 725 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT = 1000158003, 726 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT = 1000158004, 727 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158005, 728 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT = 1000158006, 729 VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000, 730 VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001, 731 #ifdef VK_ENABLE_BETA_EXTENSIONS 732 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR = 1000163000, 733 #endif 734 #ifdef VK_ENABLE_BETA_EXTENSIONS 735 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR = 1000163001, 736 #endif 737 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000, 738 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV = 1000164001, 739 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV = 1000164002, 740 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV = 1000164005, 741 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV = 1000165000, 742 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV = 1000165001, 743 VK_STRUCTURE_TYPE_GEOMETRY_NV = 1000165003, 744 VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV = 1000165004, 745 VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV = 1000165005, 746 VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV = 1000165006, 747 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV = 1000165007, 748 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV = 1000165008, 749 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV = 1000165009, 750 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV = 1000165011, 751 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV = 1000165012, 752 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV = 1000166000, 753 VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV = 1000166001, 754 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000, 755 VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001, 756 VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000, 757 VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001, 758 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002, 759 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR = 1000181000, 760 VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD = 1000183000, 761 VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = 1000184000, 762 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000, 763 #ifdef VK_ENABLE_BETA_EXTENSIONS 764 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT = 1000187000, 765 #endif 766 #ifdef VK_ENABLE_BETA_EXTENSIONS 767 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000187001, 768 #endif 769 #ifdef VK_ENABLE_BETA_EXTENSIONS 770 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000187002, 771 #endif 772 #ifdef VK_ENABLE_BETA_EXTENSIONS 773 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_INFO_EXT = 1000187003, 774 #endif 775 #ifdef VK_ENABLE_BETA_EXTENSIONS 776 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT = 1000187004, 777 #endif 778 #ifdef VK_ENABLE_BETA_EXTENSIONS 779 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT = 1000187005, 780 #endif 781 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR = 1000174000, 782 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR = 1000388000, 783 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR = 1000388001, 784 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD = 1000189000, 785 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000, 786 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001, 787 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = 1000190002, 788 VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP = 1000191000, 789 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = 1000201000, 790 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000, 791 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001, 792 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV = 1000204000, 793 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV = 1000205000, 794 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002, 795 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV = 1000206000, 796 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001, 797 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL = 1000209000, 798 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL = 1000210000, 799 VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL = 1000210001, 800 VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL = 1000210002, 801 VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL = 1000210003, 802 VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL = 1000210004, 803 VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL = 1000210005, 804 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT = 1000212000, 805 VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD = 1000213000, 806 VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD = 1000213001, 807 VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA = 1000214000, 808 VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT = 1000217000, 809 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT = 1000218000, 810 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT = 1000218001, 811 VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT = 1000218002, 812 VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000226000, 813 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR = 1000226001, 814 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR = 1000226002, 815 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR = 1000226003, 816 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR = 1000226004, 817 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD = 1000227000, 818 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = 1000229000, 819 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT = 1000234000, 820 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000, 821 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT = 1000238000, 822 VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT = 1000238001, 823 VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR = 1000239000, 824 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV = 1000240000, 825 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT = 1000244000, 826 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002, 827 VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT = 1000247000, 828 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR = 1000248000, 829 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV = 1000249000, 830 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249001, 831 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249002, 832 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV = 1000250000, 833 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV = 1000250001, 834 VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV = 1000250002, 835 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT = 1000251000, 836 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000, 837 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT = 1000254000, 838 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT = 1000254001, 839 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT = 1000254002, 840 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT = 1000255000, 841 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT = 1000255002, 842 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT = 1000255001, 843 VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000, 844 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = 1000259000, 845 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = 1000259001, 846 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = 1000259002, 847 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT = 1000260000, 848 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = 1000265000, 849 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT = 1000267000, 850 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000, 851 VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR = 1000269001, 852 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR = 1000269002, 853 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR = 1000269003, 854 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR = 1000269004, 855 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR = 1000269005, 856 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT = 1000273000, 857 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV = 1000277000, 858 VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV = 1000277001, 859 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV = 1000277002, 860 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV = 1000277003, 861 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV = 1000277004, 862 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV = 1000277005, 863 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV = 1000277006, 864 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV = 1000277007, 865 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV = 1000278000, 866 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV = 1000278001, 867 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000, 868 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM = 1000282000, 869 VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM = 1000282001, 870 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT = 1000284000, 871 VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT = 1000284001, 872 VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT = 1000284002, 873 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT = 1000286000, 874 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT = 1000286001, 875 VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT = 1000287000, 876 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT = 1000287001, 877 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT = 1000287002, 878 VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR = 1000290000, 879 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV = 1000292000, 880 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV = 1000292001, 881 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV = 1000292002, 882 VK_STRUCTURE_TYPE_PRESENT_ID_KHR = 1000294000, 883 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR = 1000294001, 884 #ifdef VK_ENABLE_BETA_EXTENSIONS 885 VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR = 1000299000, 886 #endif 887 #ifdef VK_ENABLE_BETA_EXTENSIONS 888 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR = 1000299001, 889 #endif 890 #ifdef VK_ENABLE_BETA_EXTENSIONS 891 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR = 1000299002, 892 #endif 893 #ifdef VK_ENABLE_BETA_EXTENSIONS 894 VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR = 1000299003, 895 #endif 896 #ifdef VK_ENABLE_BETA_EXTENSIONS 897 VK_STRUCTURE_TYPE_VIDEO_ENCODE_USAGE_INFO_KHR = 1000299004, 898 #endif 899 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000, 900 VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001, 901 VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECT_CREATE_INFO_EXT = 1000311000, 902 VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECTS_INFO_EXT = 1000311001, 903 VK_STRUCTURE_TYPE_EXPORT_METAL_DEVICE_INFO_EXT = 1000311002, 904 VK_STRUCTURE_TYPE_EXPORT_METAL_COMMAND_QUEUE_INFO_EXT = 1000311003, 905 VK_STRUCTURE_TYPE_EXPORT_METAL_BUFFER_INFO_EXT = 1000311004, 906 VK_STRUCTURE_TYPE_IMPORT_METAL_BUFFER_INFO_EXT = 1000311005, 907 VK_STRUCTURE_TYPE_EXPORT_METAL_TEXTURE_INFO_EXT = 1000311006, 908 VK_STRUCTURE_TYPE_IMPORT_METAL_TEXTURE_INFO_EXT = 1000311007, 909 VK_STRUCTURE_TYPE_EXPORT_METAL_IO_SURFACE_INFO_EXT = 1000311008, 910 VK_STRUCTURE_TYPE_IMPORT_METAL_IO_SURFACE_INFO_EXT = 1000311009, 911 VK_STRUCTURE_TYPE_EXPORT_METAL_SHARED_EVENT_INFO_EXT = 1000311010, 912 VK_STRUCTURE_TYPE_IMPORT_METAL_SHARED_EVENT_INFO_EXT = 1000311011, 913 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008, 914 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009, 915 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT = 1000320000, 916 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT = 1000320001, 917 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT = 1000320002, 918 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD = 1000321000, 919 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR = 1000203000, 920 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR = 1000322000, 921 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000, 922 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV = 1000326000, 923 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV = 1000326001, 924 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV = 1000326002, 925 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV = 1000327000, 926 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV = 1000327001, 927 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV = 1000327002, 928 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT = 1000328000, 929 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT = 1000328001, 930 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT = 1000330000, 931 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT = 1000332000, 932 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001, 933 VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM = 1000333000, 934 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR = 1000336000, 935 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT = 1000338000, 936 VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT = 1000338001, 937 VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT = 1000338002, 938 VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT = 1000338003, 939 VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT = 1000338004, 940 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT = 1000339000, 941 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000, 942 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT = 1000341000, 943 VK_STRUCTURE_TYPE_DEVICE_FAULT_COUNTS_EXT = 1000341001, 944 VK_STRUCTURE_TYPE_DEVICE_FAULT_INFO_EXT = 1000341002, 945 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT = 1000344000, 946 VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000, 947 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000, 948 VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001, 949 VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002, 950 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT = 1000353000, 951 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT = 1000354000, 952 VK_STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT = 1000354001, 953 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT = 1000355000, 954 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT = 1000355001, 955 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT = 1000356000, 956 VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364000, 957 VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA = 1000364001, 958 VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364002, 959 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365000, 960 VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365001, 961 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA = 1000366000, 962 VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA = 1000366001, 963 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA = 1000366002, 964 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA = 1000366003, 965 VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA = 1000366004, 966 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA = 1000366005, 967 VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA = 1000366006, 968 VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA = 1000366007, 969 VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA = 1000366008, 970 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA = 1000366009, 971 VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI = 1000369000, 972 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI = 1000369001, 973 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI = 1000369002, 974 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI = 1000370000, 975 VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV = 1000371000, 976 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV = 1000371001, 977 VK_STRUCTURE_TYPE_PIPELINE_PROPERTIES_IDENTIFIER_EXT = 1000372000, 978 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT = 1000372001, 979 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT = 1000376000, 980 VK_STRUCTURE_TYPE_SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT = 1000376001, 981 VK_STRUCTURE_TYPE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT = 1000376002, 982 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT = 1000377000, 983 VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX = 1000378000, 984 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000, 985 VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001, 986 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT = 1000382000, 987 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR = 1000386000, 988 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT = 1000391000, 989 VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT = 1000391001, 990 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT = 1000392000, 991 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT = 1000392001, 992 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT = 1000393000, 993 VK_STRUCTURE_TYPE_MICROMAP_BUILD_INFO_EXT = 1000396000, 994 VK_STRUCTURE_TYPE_MICROMAP_VERSION_INFO_EXT = 1000396001, 995 VK_STRUCTURE_TYPE_COPY_MICROMAP_INFO_EXT = 1000396002, 996 VK_STRUCTURE_TYPE_COPY_MICROMAP_TO_MEMORY_INFO_EXT = 1000396003, 997 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_MICROMAP_INFO_EXT = 1000396004, 998 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT = 1000396005, 999 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT = 1000396006, 1000 VK_STRUCTURE_TYPE_MICROMAP_CREATE_INFO_EXT = 1000396007, 1001 VK_STRUCTURE_TYPE_MICROMAP_BUILD_SIZES_INFO_EXT = 1000396008, 1002 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT = 1000396009, 1003 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT = 1000411000, 1004 VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT = 1000411001, 1005 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT = 1000412000, 1006 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE = 1000420000, 1007 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE = 1000420001, 1008 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE = 1000420002, 1009 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT = 1000421000, 1010 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT = 1000422000, 1011 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM = 1000425000, 1012 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001, 1013 VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002, 1014 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000, 1015 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT = 1000437000, 1016 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM = 1000440000, 1017 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM = 1000440001, 1018 VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM = 1000440002, 1019 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT = 1000455000, 1020 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT = 1000455001, 1021 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT = 1000458000, 1022 VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT = 1000458001, 1023 VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000458002, 1024 VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT = 1000458003, 1025 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT = 1000462000, 1026 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT = 1000462001, 1027 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT = 1000462002, 1028 VK_STRUCTURE_TYPE_SHADER_MODULE_IDENTIFIER_EXT = 1000462003, 1029 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT = 1000342000, 1030 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV = 1000464000, 1031 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV = 1000464001, 1032 VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV = 1000464002, 1033 VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV = 1000464003, 1034 VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_INFO_NV = 1000464004, 1035 VK_STRUCTURE_TYPE_OPTICAL_FLOW_EXECUTE_INFO_NV = 1000464005, 1036 VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV = 1000464010, 1037 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT = 1000465000, 1038 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT = 1000466000, 1039 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM = 1000484000, 1040 VK_STRUCTURE_TYPE_TILE_PROPERTIES_QCOM = 1000484001, 1041 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC = 1000485000, 1042 VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC = 1000485001, 1043 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT = 1000351000, 1044 VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT = 1000351002, 1045 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM = 1000497000, 1046 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM = 1000497001, 1047 VK_STRUCTURE_TYPE_SURFACE_CREATE_INFO_OHOS = 1000451000, 1048 VK_STRUCTURE_TYPE_NATIVE_BUFFER_OHOS = 1000453001, 1049 VK_STRUCTURE_TYPE_SWAPCHAIN_IMAGE_CREATE_INFO_OHOS = 1000453002, 1050 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENTATION_PROPERTIES_OHOS = 1000453003, 1051 VK_STRUCTURE_TYPE_NATIVE_BUFFER_USAGE_OHOS = 1000452000, 1052 VK_STRUCTURE_TYPE_NATIVE_BUFFER_PROPERTIES_OHOS = 1000452001, 1053 VK_STRUCTURE_TYPE_NATIVE_BUFFER_FORMAT_PROPERTIES_OHOS = 1000452002, 1054 VK_STRUCTURE_TYPE_IMPORT_NATIVE_BUFFER_INFO_OHOS = 1000452003, 1055 VK_STRUCTURE_TYPE_MEMORY_GET_NATIVE_BUFFER_INFO_OHOS = 1000452004, 1056 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_OHOS = 1000452005, 1057 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, 1058 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, 1059 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT, 1060 VK_STRUCTURE_TYPE_RENDERING_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_INFO, 1061 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO, 1062 VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO, 1063 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES, 1064 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO, 1065 VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_NV = VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD, 1066 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO, 1067 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES, 1068 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES, 1069 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2, 1070 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2, 1071 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2, 1072 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2, 1073 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2, 1074 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2, 1075 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2, 1076 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2, 1077 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2, 1078 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO, 1079 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO, 1080 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO, 1081 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO, 1082 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO, 1083 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO, 1084 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO, 1085 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES, 1086 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES, 1087 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO, 1088 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO, 1089 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES, 1090 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO, 1091 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES, 1092 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES, 1093 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO, 1094 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO, 1095 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO, 1096 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO, 1097 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES, 1098 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO, 1099 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES, 1100 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES, 1101 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES, 1102 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO, 1103 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT, 1104 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES, 1105 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO, 1106 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO, 1107 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO, 1108 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2, 1109 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, 1110 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2, 1111 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2, 1112 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2, 1113 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO, 1114 VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO, 1115 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO, 1116 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES, 1117 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO, 1118 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES, 1119 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO, 1120 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO, 1121 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO, 1122 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, 1123 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR, 1124 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS, 1125 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO, 1126 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES, 1127 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO, 1128 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES, 1129 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES, 1130 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK, 1131 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO, 1132 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2, 1133 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2, 1134 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2, 1135 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2, 1136 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2, 1137 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO, 1138 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO, 1139 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO, 1140 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO, 1141 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO, 1142 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES, 1143 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES, 1144 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO, 1145 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO, 1146 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO, 1147 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES, 1148 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES, 1149 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO, 1150 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT, 1151 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES, 1152 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT, 1153 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR, 1154 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES, 1155 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES, 1156 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES, 1157 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO, 1158 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES, 1159 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES, 1160 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES, 1161 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE, 1162 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR, 1163 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES, 1164 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES, 1165 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO, 1166 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO, 1167 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO, 1168 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO, 1169 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL, 1170 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES, 1171 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES, 1172 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES, 1173 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES, 1174 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO, 1175 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES, 1176 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES, 1177 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT, 1178 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT, 1179 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT, 1180 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO, 1181 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES, 1182 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO, 1183 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES, 1184 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES, 1185 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO, 1186 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO, 1187 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO, 1188 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO, 1189 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES, 1190 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES, 1191 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES, 1192 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES, 1193 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES, 1194 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES, 1195 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO, 1196 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO, 1197 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES, 1198 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_MEMORY_BARRIER_2, 1199 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2, 1200 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2, 1201 VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR = VK_STRUCTURE_TYPE_DEPENDENCY_INFO, 1202 VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR = VK_STRUCTURE_TYPE_SUBMIT_INFO_2, 1203 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO, 1204 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO, 1205 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES, 1206 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES, 1207 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES, 1208 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2, 1209 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2, 1210 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2, 1211 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2, 1212 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2, 1213 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2, 1214 VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_COPY_2, 1215 VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_IMAGE_COPY_2, 1216 VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR = VK_STRUCTURE_TYPE_IMAGE_BLIT_2, 1217 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2, 1218 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2, 1219 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT, 1220 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT, 1221 VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT, 1222 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3, 1223 VK_STRUCTURE_TYPE_PIPELINE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR, 1224 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR, 1225 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR, 1226 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES, 1227 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES, 1228 VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS, 1229 VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS, 1230 VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF 1231 } VkStructureType; 1232 1233 typedef enum VkPipelineCacheHeaderVersion { 1234 VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1, 1235 VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF 1236 } VkPipelineCacheHeaderVersion; 1237 1238 typedef enum VkImageLayout { 1239 VK_IMAGE_LAYOUT_UNDEFINED = 0, 1240 VK_IMAGE_LAYOUT_GENERAL = 1, 1241 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2, 1242 VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3, 1243 VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4, 1244 VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5, 1245 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6, 1246 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7, 1247 VK_IMAGE_LAYOUT_PREINITIALIZED = 8, 1248 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000, 1249 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001, 1250 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000, 1251 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001, 1252 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002, 1253 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003, 1254 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL = 1000314000, 1255 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL = 1000314001, 1256 VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002, 1257 #ifdef VK_ENABLE_BETA_EXTENSIONS 1258 VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR = 1000024000, 1259 #endif 1260 #ifdef VK_ENABLE_BETA_EXTENSIONS 1261 VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR = 1000024001, 1262 #endif 1263 #ifdef VK_ENABLE_BETA_EXTENSIONS 1264 VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR = 1000024002, 1265 #endif 1266 VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000, 1267 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000, 1268 VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003, 1269 #ifdef VK_ENABLE_BETA_EXTENSIONS 1270 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR = 1000299000, 1271 #endif 1272 #ifdef VK_ENABLE_BETA_EXTENSIONS 1273 VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR = 1000299001, 1274 #endif 1275 #ifdef VK_ENABLE_BETA_EXTENSIONS 1276 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR = 1000299002, 1277 #endif 1278 VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT = 1000339000, 1279 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL, 1280 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, 1281 VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR, 1282 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, 1283 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, 1284 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, 1285 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL, 1286 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL, 1287 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL, 1288 VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF 1289 } VkImageLayout; 1290 1291 typedef enum VkObjectType { 1292 VK_OBJECT_TYPE_UNKNOWN = 0, 1293 VK_OBJECT_TYPE_INSTANCE = 1, 1294 VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2, 1295 VK_OBJECT_TYPE_DEVICE = 3, 1296 VK_OBJECT_TYPE_QUEUE = 4, 1297 VK_OBJECT_TYPE_SEMAPHORE = 5, 1298 VK_OBJECT_TYPE_COMMAND_BUFFER = 6, 1299 VK_OBJECT_TYPE_FENCE = 7, 1300 VK_OBJECT_TYPE_DEVICE_MEMORY = 8, 1301 VK_OBJECT_TYPE_BUFFER = 9, 1302 VK_OBJECT_TYPE_IMAGE = 10, 1303 VK_OBJECT_TYPE_EVENT = 11, 1304 VK_OBJECT_TYPE_QUERY_POOL = 12, 1305 VK_OBJECT_TYPE_BUFFER_VIEW = 13, 1306 VK_OBJECT_TYPE_IMAGE_VIEW = 14, 1307 VK_OBJECT_TYPE_SHADER_MODULE = 15, 1308 VK_OBJECT_TYPE_PIPELINE_CACHE = 16, 1309 VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17, 1310 VK_OBJECT_TYPE_RENDER_PASS = 18, 1311 VK_OBJECT_TYPE_PIPELINE = 19, 1312 VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20, 1313 VK_OBJECT_TYPE_SAMPLER = 21, 1314 VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22, 1315 VK_OBJECT_TYPE_DESCRIPTOR_SET = 23, 1316 VK_OBJECT_TYPE_FRAMEBUFFER = 24, 1317 VK_OBJECT_TYPE_COMMAND_POOL = 25, 1318 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000, 1319 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000, 1320 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT = 1000295000, 1321 VK_OBJECT_TYPE_SURFACE_KHR = 1000000000, 1322 VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000, 1323 VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000, 1324 VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001, 1325 VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000, 1326 #ifdef VK_ENABLE_BETA_EXTENSIONS 1327 VK_OBJECT_TYPE_VIDEO_SESSION_KHR = 1000023000, 1328 #endif 1329 #ifdef VK_ENABLE_BETA_EXTENSIONS 1330 VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR = 1000023001, 1331 #endif 1332 VK_OBJECT_TYPE_CU_MODULE_NVX = 1000029000, 1333 VK_OBJECT_TYPE_CU_FUNCTION_NVX = 1000029001, 1334 VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000, 1335 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000, 1336 VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000, 1337 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000, 1338 VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000, 1339 VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000, 1340 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000, 1341 VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA = 1000366000, 1342 VK_OBJECT_TYPE_MICROMAP_EXT = 1000396000, 1343 VK_OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV = 1000464000, 1344 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE, 1345 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION, 1346 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = VK_OBJECT_TYPE_PRIVATE_DATA_SLOT, 1347 VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF 1348 } VkObjectType; 1349 1350 typedef enum VkVendorId { 1351 VK_VENDOR_ID_VIV = 0x10001, 1352 VK_VENDOR_ID_VSI = 0x10002, 1353 VK_VENDOR_ID_KAZAN = 0x10003, 1354 VK_VENDOR_ID_CODEPLAY = 0x10004, 1355 VK_VENDOR_ID_MESA = 0x10005, 1356 VK_VENDOR_ID_POCL = 0x10006, 1357 VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF 1358 } VkVendorId; 1359 1360 typedef enum VkSystemAllocationScope { 1361 VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0, 1362 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1, 1363 VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2, 1364 VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3, 1365 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4, 1366 VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF 1367 } VkSystemAllocationScope; 1368 1369 typedef enum VkInternalAllocationType { 1370 VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0, 1371 VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF 1372 } VkInternalAllocationType; 1373 1374 typedef enum VkFormat { 1375 VK_FORMAT_UNDEFINED = 0, 1376 VK_FORMAT_R4G4_UNORM_PACK8 = 1, 1377 VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2, 1378 VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3, 1379 VK_FORMAT_R5G6B5_UNORM_PACK16 = 4, 1380 VK_FORMAT_B5G6R5_UNORM_PACK16 = 5, 1381 VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6, 1382 VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7, 1383 VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8, 1384 VK_FORMAT_R8_UNORM = 9, 1385 VK_FORMAT_R8_SNORM = 10, 1386 VK_FORMAT_R8_USCALED = 11, 1387 VK_FORMAT_R8_SSCALED = 12, 1388 VK_FORMAT_R8_UINT = 13, 1389 VK_FORMAT_R8_SINT = 14, 1390 VK_FORMAT_R8_SRGB = 15, 1391 VK_FORMAT_R8G8_UNORM = 16, 1392 VK_FORMAT_R8G8_SNORM = 17, 1393 VK_FORMAT_R8G8_USCALED = 18, 1394 VK_FORMAT_R8G8_SSCALED = 19, 1395 VK_FORMAT_R8G8_UINT = 20, 1396 VK_FORMAT_R8G8_SINT = 21, 1397 VK_FORMAT_R8G8_SRGB = 22, 1398 VK_FORMAT_R8G8B8_UNORM = 23, 1399 VK_FORMAT_R8G8B8_SNORM = 24, 1400 VK_FORMAT_R8G8B8_USCALED = 25, 1401 VK_FORMAT_R8G8B8_SSCALED = 26, 1402 VK_FORMAT_R8G8B8_UINT = 27, 1403 VK_FORMAT_R8G8B8_SINT = 28, 1404 VK_FORMAT_R8G8B8_SRGB = 29, 1405 VK_FORMAT_B8G8R8_UNORM = 30, 1406 VK_FORMAT_B8G8R8_SNORM = 31, 1407 VK_FORMAT_B8G8R8_USCALED = 32, 1408 VK_FORMAT_B8G8R8_SSCALED = 33, 1409 VK_FORMAT_B8G8R8_UINT = 34, 1410 VK_FORMAT_B8G8R8_SINT = 35, 1411 VK_FORMAT_B8G8R8_SRGB = 36, 1412 VK_FORMAT_R8G8B8A8_UNORM = 37, 1413 VK_FORMAT_R8G8B8A8_SNORM = 38, 1414 VK_FORMAT_R8G8B8A8_USCALED = 39, 1415 VK_FORMAT_R8G8B8A8_SSCALED = 40, 1416 VK_FORMAT_R8G8B8A8_UINT = 41, 1417 VK_FORMAT_R8G8B8A8_SINT = 42, 1418 VK_FORMAT_R8G8B8A8_SRGB = 43, 1419 VK_FORMAT_B8G8R8A8_UNORM = 44, 1420 VK_FORMAT_B8G8R8A8_SNORM = 45, 1421 VK_FORMAT_B8G8R8A8_USCALED = 46, 1422 VK_FORMAT_B8G8R8A8_SSCALED = 47, 1423 VK_FORMAT_B8G8R8A8_UINT = 48, 1424 VK_FORMAT_B8G8R8A8_SINT = 49, 1425 VK_FORMAT_B8G8R8A8_SRGB = 50, 1426 VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51, 1427 VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52, 1428 VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53, 1429 VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54, 1430 VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55, 1431 VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56, 1432 VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57, 1433 VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58, 1434 VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59, 1435 VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60, 1436 VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61, 1437 VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62, 1438 VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63, 1439 VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64, 1440 VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65, 1441 VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66, 1442 VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67, 1443 VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68, 1444 VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69, 1445 VK_FORMAT_R16_UNORM = 70, 1446 VK_FORMAT_R16_SNORM = 71, 1447 VK_FORMAT_R16_USCALED = 72, 1448 VK_FORMAT_R16_SSCALED = 73, 1449 VK_FORMAT_R16_UINT = 74, 1450 VK_FORMAT_R16_SINT = 75, 1451 VK_FORMAT_R16_SFLOAT = 76, 1452 VK_FORMAT_R16G16_UNORM = 77, 1453 VK_FORMAT_R16G16_SNORM = 78, 1454 VK_FORMAT_R16G16_USCALED = 79, 1455 VK_FORMAT_R16G16_SSCALED = 80, 1456 VK_FORMAT_R16G16_UINT = 81, 1457 VK_FORMAT_R16G16_SINT = 82, 1458 VK_FORMAT_R16G16_SFLOAT = 83, 1459 VK_FORMAT_R16G16B16_UNORM = 84, 1460 VK_FORMAT_R16G16B16_SNORM = 85, 1461 VK_FORMAT_R16G16B16_USCALED = 86, 1462 VK_FORMAT_R16G16B16_SSCALED = 87, 1463 VK_FORMAT_R16G16B16_UINT = 88, 1464 VK_FORMAT_R16G16B16_SINT = 89, 1465 VK_FORMAT_R16G16B16_SFLOAT = 90, 1466 VK_FORMAT_R16G16B16A16_UNORM = 91, 1467 VK_FORMAT_R16G16B16A16_SNORM = 92, 1468 VK_FORMAT_R16G16B16A16_USCALED = 93, 1469 VK_FORMAT_R16G16B16A16_SSCALED = 94, 1470 VK_FORMAT_R16G16B16A16_UINT = 95, 1471 VK_FORMAT_R16G16B16A16_SINT = 96, 1472 VK_FORMAT_R16G16B16A16_SFLOAT = 97, 1473 VK_FORMAT_R32_UINT = 98, 1474 VK_FORMAT_R32_SINT = 99, 1475 VK_FORMAT_R32_SFLOAT = 100, 1476 VK_FORMAT_R32G32_UINT = 101, 1477 VK_FORMAT_R32G32_SINT = 102, 1478 VK_FORMAT_R32G32_SFLOAT = 103, 1479 VK_FORMAT_R32G32B32_UINT = 104, 1480 VK_FORMAT_R32G32B32_SINT = 105, 1481 VK_FORMAT_R32G32B32_SFLOAT = 106, 1482 VK_FORMAT_R32G32B32A32_UINT = 107, 1483 VK_FORMAT_R32G32B32A32_SINT = 108, 1484 VK_FORMAT_R32G32B32A32_SFLOAT = 109, 1485 VK_FORMAT_R64_UINT = 110, 1486 VK_FORMAT_R64_SINT = 111, 1487 VK_FORMAT_R64_SFLOAT = 112, 1488 VK_FORMAT_R64G64_UINT = 113, 1489 VK_FORMAT_R64G64_SINT = 114, 1490 VK_FORMAT_R64G64_SFLOAT = 115, 1491 VK_FORMAT_R64G64B64_UINT = 116, 1492 VK_FORMAT_R64G64B64_SINT = 117, 1493 VK_FORMAT_R64G64B64_SFLOAT = 118, 1494 VK_FORMAT_R64G64B64A64_UINT = 119, 1495 VK_FORMAT_R64G64B64A64_SINT = 120, 1496 VK_FORMAT_R64G64B64A64_SFLOAT = 121, 1497 VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122, 1498 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123, 1499 VK_FORMAT_D16_UNORM = 124, 1500 VK_FORMAT_X8_D24_UNORM_PACK32 = 125, 1501 VK_FORMAT_D32_SFLOAT = 126, 1502 VK_FORMAT_S8_UINT = 127, 1503 VK_FORMAT_D16_UNORM_S8_UINT = 128, 1504 VK_FORMAT_D24_UNORM_S8_UINT = 129, 1505 VK_FORMAT_D32_SFLOAT_S8_UINT = 130, 1506 VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131, 1507 VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132, 1508 VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133, 1509 VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134, 1510 VK_FORMAT_BC2_UNORM_BLOCK = 135, 1511 VK_FORMAT_BC2_SRGB_BLOCK = 136, 1512 VK_FORMAT_BC3_UNORM_BLOCK = 137, 1513 VK_FORMAT_BC3_SRGB_BLOCK = 138, 1514 VK_FORMAT_BC4_UNORM_BLOCK = 139, 1515 VK_FORMAT_BC4_SNORM_BLOCK = 140, 1516 VK_FORMAT_BC5_UNORM_BLOCK = 141, 1517 VK_FORMAT_BC5_SNORM_BLOCK = 142, 1518 VK_FORMAT_BC6H_UFLOAT_BLOCK = 143, 1519 VK_FORMAT_BC6H_SFLOAT_BLOCK = 144, 1520 VK_FORMAT_BC7_UNORM_BLOCK = 145, 1521 VK_FORMAT_BC7_SRGB_BLOCK = 146, 1522 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147, 1523 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148, 1524 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149, 1525 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150, 1526 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151, 1527 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152, 1528 VK_FORMAT_EAC_R11_UNORM_BLOCK = 153, 1529 VK_FORMAT_EAC_R11_SNORM_BLOCK = 154, 1530 VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155, 1531 VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156, 1532 VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157, 1533 VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158, 1534 VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159, 1535 VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160, 1536 VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161, 1537 VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162, 1538 VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163, 1539 VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164, 1540 VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165, 1541 VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166, 1542 VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167, 1543 VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168, 1544 VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169, 1545 VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170, 1546 VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171, 1547 VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172, 1548 VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173, 1549 VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174, 1550 VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175, 1551 VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176, 1552 VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177, 1553 VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178, 1554 VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179, 1555 VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180, 1556 VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181, 1557 VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182, 1558 VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183, 1559 VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184, 1560 VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000, 1561 VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001, 1562 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002, 1563 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003, 1564 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004, 1565 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005, 1566 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006, 1567 VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007, 1568 VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008, 1569 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009, 1570 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010, 1571 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011, 1572 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012, 1573 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013, 1574 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014, 1575 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015, 1576 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016, 1577 VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017, 1578 VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018, 1579 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019, 1580 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020, 1581 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021, 1582 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022, 1583 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023, 1584 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024, 1585 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025, 1586 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026, 1587 VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027, 1588 VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028, 1589 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029, 1590 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030, 1591 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031, 1592 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032, 1593 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033, 1594 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM = 1000330000, 1595 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 = 1000330001, 1596 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 = 1000330002, 1597 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM = 1000330003, 1598 VK_FORMAT_A4R4G4B4_UNORM_PACK16 = 1000340000, 1599 VK_FORMAT_A4B4G4R4_UNORM_PACK16 = 1000340001, 1600 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK = 1000066000, 1601 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK = 1000066001, 1602 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK = 1000066002, 1603 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK = 1000066003, 1604 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK = 1000066004, 1605 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK = 1000066005, 1606 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK = 1000066006, 1607 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK = 1000066007, 1608 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK = 1000066008, 1609 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK = 1000066009, 1610 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK = 1000066010, 1611 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK = 1000066011, 1612 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK = 1000066012, 1613 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK = 1000066013, 1614 VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000, 1615 VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001, 1616 VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002, 1617 VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003, 1618 VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004, 1619 VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005, 1620 VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006, 1621 VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007, 1622 VK_FORMAT_R16G16_S10_5_NV = 1000464000, 1623 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK, 1624 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK, 1625 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK, 1626 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK, 1627 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK, 1628 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK, 1629 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK, 1630 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK, 1631 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK, 1632 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK, 1633 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK, 1634 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK, 1635 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK, 1636 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK, 1637 VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM, 1638 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM, 1639 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM, 1640 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM, 1641 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM, 1642 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM, 1643 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM, 1644 VK_FORMAT_R10X6_UNORM_PACK16_KHR = VK_FORMAT_R10X6_UNORM_PACK16, 1645 VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16, 1646 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16, 1647 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16, 1648 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16, 1649 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16, 1650 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16, 1651 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16, 1652 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16, 1653 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16, 1654 VK_FORMAT_R12X4_UNORM_PACK16_KHR = VK_FORMAT_R12X4_UNORM_PACK16, 1655 VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16, 1656 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16, 1657 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16, 1658 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16, 1659 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16, 1660 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16, 1661 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16, 1662 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16, 1663 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16, 1664 VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VK_FORMAT_G16B16G16R16_422_UNORM, 1665 VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VK_FORMAT_B16G16R16G16_422_UNORM, 1666 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM, 1667 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM, 1668 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM, 1669 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM, 1670 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM, 1671 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT = VK_FORMAT_G8_B8R8_2PLANE_444_UNORM, 1672 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16, 1673 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16, 1674 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT = VK_FORMAT_G16_B16R16_2PLANE_444_UNORM, 1675 VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT = VK_FORMAT_A4R4G4B4_UNORM_PACK16, 1676 VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT = VK_FORMAT_A4B4G4R4_UNORM_PACK16, 1677 VK_FORMAT_MAX_ENUM = 0x7FFFFFFF 1678 } VkFormat; 1679 1680 typedef enum VkImageTiling { 1681 VK_IMAGE_TILING_OPTIMAL = 0, 1682 VK_IMAGE_TILING_LINEAR = 1, 1683 VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000, 1684 VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF 1685 } VkImageTiling; 1686 1687 typedef enum VkImageType { 1688 VK_IMAGE_TYPE_1D = 0, 1689 VK_IMAGE_TYPE_2D = 1, 1690 VK_IMAGE_TYPE_3D = 2, 1691 VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF 1692 } VkImageType; 1693 1694 typedef enum VkPhysicalDeviceType { 1695 VK_PHYSICAL_DEVICE_TYPE_OTHER = 0, 1696 VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1, 1697 VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2, 1698 VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3, 1699 VK_PHYSICAL_DEVICE_TYPE_CPU = 4, 1700 VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF 1701 } VkPhysicalDeviceType; 1702 1703 typedef enum VkQueryType { 1704 VK_QUERY_TYPE_OCCLUSION = 0, 1705 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1, 1706 VK_QUERY_TYPE_TIMESTAMP = 2, 1707 #ifdef VK_ENABLE_BETA_EXTENSIONS 1708 VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR = 1000023000, 1709 #endif 1710 VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004, 1711 VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000, 1712 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000150000, 1713 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150001, 1714 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000, 1715 VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000, 1716 #ifdef VK_ENABLE_BETA_EXTENSIONS 1717 VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR = 1000299000, 1718 #endif 1719 VK_QUERY_TYPE_MESH_PRIMITIVES_GENERATED_EXT = 1000328000, 1720 VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT = 1000382000, 1721 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR = 1000386000, 1722 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR = 1000386001, 1723 VK_QUERY_TYPE_MICROMAP_SERIALIZATION_SIZE_EXT = 1000396000, 1724 VK_QUERY_TYPE_MICROMAP_COMPACTED_SIZE_EXT = 1000396001, 1725 VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF 1726 } VkQueryType; 1727 1728 typedef enum VkSharingMode { 1729 VK_SHARING_MODE_EXCLUSIVE = 0, 1730 VK_SHARING_MODE_CONCURRENT = 1, 1731 VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF 1732 } VkSharingMode; 1733 1734 typedef enum VkComponentSwizzle { 1735 VK_COMPONENT_SWIZZLE_IDENTITY = 0, 1736 VK_COMPONENT_SWIZZLE_ZERO = 1, 1737 VK_COMPONENT_SWIZZLE_ONE = 2, 1738 VK_COMPONENT_SWIZZLE_R = 3, 1739 VK_COMPONENT_SWIZZLE_G = 4, 1740 VK_COMPONENT_SWIZZLE_B = 5, 1741 VK_COMPONENT_SWIZZLE_A = 6, 1742 VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF 1743 } VkComponentSwizzle; 1744 1745 typedef enum VkImageViewType { 1746 VK_IMAGE_VIEW_TYPE_1D = 0, 1747 VK_IMAGE_VIEW_TYPE_2D = 1, 1748 VK_IMAGE_VIEW_TYPE_3D = 2, 1749 VK_IMAGE_VIEW_TYPE_CUBE = 3, 1750 VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4, 1751 VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5, 1752 VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6, 1753 VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF 1754 } VkImageViewType; 1755 1756 typedef enum VkBlendFactor { 1757 VK_BLEND_FACTOR_ZERO = 0, 1758 VK_BLEND_FACTOR_ONE = 1, 1759 VK_BLEND_FACTOR_SRC_COLOR = 2, 1760 VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3, 1761 VK_BLEND_FACTOR_DST_COLOR = 4, 1762 VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5, 1763 VK_BLEND_FACTOR_SRC_ALPHA = 6, 1764 VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7, 1765 VK_BLEND_FACTOR_DST_ALPHA = 8, 1766 VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9, 1767 VK_BLEND_FACTOR_CONSTANT_COLOR = 10, 1768 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11, 1769 VK_BLEND_FACTOR_CONSTANT_ALPHA = 12, 1770 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13, 1771 VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14, 1772 VK_BLEND_FACTOR_SRC1_COLOR = 15, 1773 VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16, 1774 VK_BLEND_FACTOR_SRC1_ALPHA = 17, 1775 VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18, 1776 VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF 1777 } VkBlendFactor; 1778 1779 typedef enum VkBlendOp { 1780 VK_BLEND_OP_ADD = 0, 1781 VK_BLEND_OP_SUBTRACT = 1, 1782 VK_BLEND_OP_REVERSE_SUBTRACT = 2, 1783 VK_BLEND_OP_MIN = 3, 1784 VK_BLEND_OP_MAX = 4, 1785 VK_BLEND_OP_ZERO_EXT = 1000148000, 1786 VK_BLEND_OP_SRC_EXT = 1000148001, 1787 VK_BLEND_OP_DST_EXT = 1000148002, 1788 VK_BLEND_OP_SRC_OVER_EXT = 1000148003, 1789 VK_BLEND_OP_DST_OVER_EXT = 1000148004, 1790 VK_BLEND_OP_SRC_IN_EXT = 1000148005, 1791 VK_BLEND_OP_DST_IN_EXT = 1000148006, 1792 VK_BLEND_OP_SRC_OUT_EXT = 1000148007, 1793 VK_BLEND_OP_DST_OUT_EXT = 1000148008, 1794 VK_BLEND_OP_SRC_ATOP_EXT = 1000148009, 1795 VK_BLEND_OP_DST_ATOP_EXT = 1000148010, 1796 VK_BLEND_OP_XOR_EXT = 1000148011, 1797 VK_BLEND_OP_MULTIPLY_EXT = 1000148012, 1798 VK_BLEND_OP_SCREEN_EXT = 1000148013, 1799 VK_BLEND_OP_OVERLAY_EXT = 1000148014, 1800 VK_BLEND_OP_DARKEN_EXT = 1000148015, 1801 VK_BLEND_OP_LIGHTEN_EXT = 1000148016, 1802 VK_BLEND_OP_COLORDODGE_EXT = 1000148017, 1803 VK_BLEND_OP_COLORBURN_EXT = 1000148018, 1804 VK_BLEND_OP_HARDLIGHT_EXT = 1000148019, 1805 VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020, 1806 VK_BLEND_OP_DIFFERENCE_EXT = 1000148021, 1807 VK_BLEND_OP_EXCLUSION_EXT = 1000148022, 1808 VK_BLEND_OP_INVERT_EXT = 1000148023, 1809 VK_BLEND_OP_INVERT_RGB_EXT = 1000148024, 1810 VK_BLEND_OP_LINEARDODGE_EXT = 1000148025, 1811 VK_BLEND_OP_LINEARBURN_EXT = 1000148026, 1812 VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027, 1813 VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028, 1814 VK_BLEND_OP_PINLIGHT_EXT = 1000148029, 1815 VK_BLEND_OP_HARDMIX_EXT = 1000148030, 1816 VK_BLEND_OP_HSL_HUE_EXT = 1000148031, 1817 VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032, 1818 VK_BLEND_OP_HSL_COLOR_EXT = 1000148033, 1819 VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034, 1820 VK_BLEND_OP_PLUS_EXT = 1000148035, 1821 VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036, 1822 VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037, 1823 VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038, 1824 VK_BLEND_OP_MINUS_EXT = 1000148039, 1825 VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040, 1826 VK_BLEND_OP_CONTRAST_EXT = 1000148041, 1827 VK_BLEND_OP_INVERT_OVG_EXT = 1000148042, 1828 VK_BLEND_OP_RED_EXT = 1000148043, 1829 VK_BLEND_OP_GREEN_EXT = 1000148044, 1830 VK_BLEND_OP_BLUE_EXT = 1000148045, 1831 VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF 1832 } VkBlendOp; 1833 1834 typedef enum VkCompareOp { 1835 VK_COMPARE_OP_NEVER = 0, 1836 VK_COMPARE_OP_LESS = 1, 1837 VK_COMPARE_OP_EQUAL = 2, 1838 VK_COMPARE_OP_LESS_OR_EQUAL = 3, 1839 VK_COMPARE_OP_GREATER = 4, 1840 VK_COMPARE_OP_NOT_EQUAL = 5, 1841 VK_COMPARE_OP_GREATER_OR_EQUAL = 6, 1842 VK_COMPARE_OP_ALWAYS = 7, 1843 VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF 1844 } VkCompareOp; 1845 1846 typedef enum VkDynamicState { 1847 VK_DYNAMIC_STATE_VIEWPORT = 0, 1848 VK_DYNAMIC_STATE_SCISSOR = 1, 1849 VK_DYNAMIC_STATE_LINE_WIDTH = 2, 1850 VK_DYNAMIC_STATE_DEPTH_BIAS = 3, 1851 VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4, 1852 VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5, 1853 VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6, 1854 VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7, 1855 VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8, 1856 VK_DYNAMIC_STATE_CULL_MODE = 1000267000, 1857 VK_DYNAMIC_STATE_FRONT_FACE = 1000267001, 1858 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY = 1000267002, 1859 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT = 1000267003, 1860 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT = 1000267004, 1861 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE = 1000267005, 1862 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE = 1000267006, 1863 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE = 1000267007, 1864 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP = 1000267008, 1865 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE = 1000267009, 1866 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE = 1000267010, 1867 VK_DYNAMIC_STATE_STENCIL_OP = 1000267011, 1868 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE = 1000377001, 1869 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE = 1000377002, 1870 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE = 1000377004, 1871 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000, 1872 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000, 1873 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000, 1874 VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000, 1875 VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004, 1876 VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006, 1877 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001, 1878 VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000, 1879 VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = 1000259000, 1880 VK_DYNAMIC_STATE_VERTEX_INPUT_EXT = 1000352000, 1881 VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000, 1882 VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003, 1883 VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000, 1884 VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT = 1000455002, 1885 VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT = 1000455003, 1886 VK_DYNAMIC_STATE_POLYGON_MODE_EXT = 1000455004, 1887 VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT = 1000455005, 1888 VK_DYNAMIC_STATE_SAMPLE_MASK_EXT = 1000455006, 1889 VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT = 1000455007, 1890 VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT = 1000455008, 1891 VK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT = 1000455009, 1892 VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT = 1000455010, 1893 VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT = 1000455011, 1894 VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT = 1000455012, 1895 VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT = 1000455013, 1896 VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT = 1000455014, 1897 VK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT = 1000455015, 1898 VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT = 1000455016, 1899 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT = 1000455017, 1900 VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT = 1000455018, 1901 VK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT = 1000455019, 1902 VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT = 1000455020, 1903 VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT = 1000455021, 1904 VK_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT = 1000455022, 1905 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV = 1000455023, 1906 VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV = 1000455024, 1907 VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV = 1000455025, 1908 VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV = 1000455026, 1909 VK_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV = 1000455027, 1910 VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV = 1000455028, 1911 VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV = 1000455029, 1912 VK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV = 1000455030, 1913 VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV = 1000455031, 1914 VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV = 1000455032, 1915 VK_DYNAMIC_STATE_CULL_MODE_EXT = VK_DYNAMIC_STATE_CULL_MODE, 1916 VK_DYNAMIC_STATE_FRONT_FACE_EXT = VK_DYNAMIC_STATE_FRONT_FACE, 1917 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY, 1918 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT = VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT, 1919 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT = VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT, 1920 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT = VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE, 1921 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE, 1922 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE, 1923 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT = VK_DYNAMIC_STATE_DEPTH_COMPARE_OP, 1924 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE, 1925 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE, 1926 VK_DYNAMIC_STATE_STENCIL_OP_EXT = VK_DYNAMIC_STATE_STENCIL_OP, 1927 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT = VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE, 1928 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE, 1929 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT = VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE, 1930 VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF 1931 } VkDynamicState; 1932 1933 typedef enum VkFrontFace { 1934 VK_FRONT_FACE_COUNTER_CLOCKWISE = 0, 1935 VK_FRONT_FACE_CLOCKWISE = 1, 1936 VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF 1937 } VkFrontFace; 1938 1939 typedef enum VkVertexInputRate { 1940 VK_VERTEX_INPUT_RATE_VERTEX = 0, 1941 VK_VERTEX_INPUT_RATE_INSTANCE = 1, 1942 VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF 1943 } VkVertexInputRate; 1944 1945 typedef enum VkPrimitiveTopology { 1946 VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0, 1947 VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1, 1948 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2, 1949 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3, 1950 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4, 1951 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5, 1952 VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6, 1953 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7, 1954 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8, 1955 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9, 1956 VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10, 1957 VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF 1958 } VkPrimitiveTopology; 1959 1960 typedef enum VkPolygonMode { 1961 VK_POLYGON_MODE_FILL = 0, 1962 VK_POLYGON_MODE_LINE = 1, 1963 VK_POLYGON_MODE_POINT = 2, 1964 VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000, 1965 VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF 1966 } VkPolygonMode; 1967 1968 typedef enum VkStencilOp { 1969 VK_STENCIL_OP_KEEP = 0, 1970 VK_STENCIL_OP_ZERO = 1, 1971 VK_STENCIL_OP_REPLACE = 2, 1972 VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3, 1973 VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4, 1974 VK_STENCIL_OP_INVERT = 5, 1975 VK_STENCIL_OP_INCREMENT_AND_WRAP = 6, 1976 VK_STENCIL_OP_DECREMENT_AND_WRAP = 7, 1977 VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF 1978 } VkStencilOp; 1979 1980 typedef enum VkLogicOp { 1981 VK_LOGIC_OP_CLEAR = 0, 1982 VK_LOGIC_OP_AND = 1, 1983 VK_LOGIC_OP_AND_REVERSE = 2, 1984 VK_LOGIC_OP_COPY = 3, 1985 VK_LOGIC_OP_AND_INVERTED = 4, 1986 VK_LOGIC_OP_NO_OP = 5, 1987 VK_LOGIC_OP_XOR = 6, 1988 VK_LOGIC_OP_OR = 7, 1989 VK_LOGIC_OP_NOR = 8, 1990 VK_LOGIC_OP_EQUIVALENT = 9, 1991 VK_LOGIC_OP_INVERT = 10, 1992 VK_LOGIC_OP_OR_REVERSE = 11, 1993 VK_LOGIC_OP_COPY_INVERTED = 12, 1994 VK_LOGIC_OP_OR_INVERTED = 13, 1995 VK_LOGIC_OP_NAND = 14, 1996 VK_LOGIC_OP_SET = 15, 1997 VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF 1998 } VkLogicOp; 1999 2000 typedef enum VkBorderColor { 2001 VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0, 2002 VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1, 2003 VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2, 2004 VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3, 2005 VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4, 2006 VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5, 2007 VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003, 2008 VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004, 2009 VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF 2010 } VkBorderColor; 2011 2012 typedef enum VkFilter { 2013 VK_FILTER_NEAREST = 0, 2014 VK_FILTER_LINEAR = 1, 2015 VK_FILTER_CUBIC_EXT = 1000015000, 2016 VK_FILTER_CUBIC_IMG = VK_FILTER_CUBIC_EXT, 2017 VK_FILTER_MAX_ENUM = 0x7FFFFFFF 2018 } VkFilter; 2019 2020 typedef enum VkSamplerAddressMode { 2021 VK_SAMPLER_ADDRESS_MODE_REPEAT = 0, 2022 VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1, 2023 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2, 2024 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3, 2025 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4, 2026 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE, 2027 VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF 2028 } VkSamplerAddressMode; 2029 2030 typedef enum VkSamplerMipmapMode { 2031 VK_SAMPLER_MIPMAP_MODE_NEAREST = 0, 2032 VK_SAMPLER_MIPMAP_MODE_LINEAR = 1, 2033 VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF 2034 } VkSamplerMipmapMode; 2035 2036 typedef enum VkDescriptorType { 2037 VK_DESCRIPTOR_TYPE_SAMPLER = 0, 2038 VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1, 2039 VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2, 2040 VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3, 2041 VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4, 2042 VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5, 2043 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6, 2044 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7, 2045 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8, 2046 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9, 2047 VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10, 2048 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK = 1000138000, 2049 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000, 2050 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000, 2051 VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM = 1000440000, 2052 VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM = 1000440001, 2053 VK_DESCRIPTOR_TYPE_MUTABLE_EXT = 1000351000, 2054 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK, 2055 VK_DESCRIPTOR_TYPE_MUTABLE_VALVE = VK_DESCRIPTOR_TYPE_MUTABLE_EXT, 2056 VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF 2057 } VkDescriptorType; 2058 2059 typedef enum VkAttachmentLoadOp { 2060 VK_ATTACHMENT_LOAD_OP_LOAD = 0, 2061 VK_ATTACHMENT_LOAD_OP_CLEAR = 1, 2062 VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2, 2063 VK_ATTACHMENT_LOAD_OP_NONE_EXT = 1000400000, 2064 VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF 2065 } VkAttachmentLoadOp; 2066 2067 typedef enum VkAttachmentStoreOp { 2068 VK_ATTACHMENT_STORE_OP_STORE = 0, 2069 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1, 2070 VK_ATTACHMENT_STORE_OP_NONE = 1000301000, 2071 VK_ATTACHMENT_STORE_OP_NONE_KHR = VK_ATTACHMENT_STORE_OP_NONE, 2072 VK_ATTACHMENT_STORE_OP_NONE_QCOM = VK_ATTACHMENT_STORE_OP_NONE, 2073 VK_ATTACHMENT_STORE_OP_NONE_EXT = VK_ATTACHMENT_STORE_OP_NONE, 2074 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF 2075 } VkAttachmentStoreOp; 2076 2077 typedef enum VkPipelineBindPoint { 2078 VK_PIPELINE_BIND_POINT_GRAPHICS = 0, 2079 VK_PIPELINE_BIND_POINT_COMPUTE = 1, 2080 VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR = 1000165000, 2081 VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI = 1000369003, 2082 VK_PIPELINE_BIND_POINT_RAY_TRACING_NV = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR, 2083 VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF 2084 } VkPipelineBindPoint; 2085 2086 typedef enum VkCommandBufferLevel { 2087 VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0, 2088 VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1, 2089 VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF 2090 } VkCommandBufferLevel; 2091 2092 typedef enum VkIndexType { 2093 VK_INDEX_TYPE_UINT16 = 0, 2094 VK_INDEX_TYPE_UINT32 = 1, 2095 VK_INDEX_TYPE_NONE_KHR = 1000165000, 2096 VK_INDEX_TYPE_UINT8_EXT = 1000265000, 2097 VK_INDEX_TYPE_NONE_NV = VK_INDEX_TYPE_NONE_KHR, 2098 VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF 2099 } VkIndexType; 2100 2101 typedef enum VkSubpassContents { 2102 VK_SUBPASS_CONTENTS_INLINE = 0, 2103 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1, 2104 VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF 2105 } VkSubpassContents; 2106 2107 typedef enum VkAccessFlagBits { 2108 VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001, 2109 VK_ACCESS_INDEX_READ_BIT = 0x00000002, 2110 VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004, 2111 VK_ACCESS_UNIFORM_READ_BIT = 0x00000008, 2112 VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010, 2113 VK_ACCESS_SHADER_READ_BIT = 0x00000020, 2114 VK_ACCESS_SHADER_WRITE_BIT = 0x00000040, 2115 VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080, 2116 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100, 2117 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200, 2118 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400, 2119 VK_ACCESS_TRANSFER_READ_BIT = 0x00000800, 2120 VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000, 2121 VK_ACCESS_HOST_READ_BIT = 0x00002000, 2122 VK_ACCESS_HOST_WRITE_BIT = 0x00004000, 2123 VK_ACCESS_MEMORY_READ_BIT = 0x00008000, 2124 VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000, 2125 VK_ACCESS_NONE = 0, 2126 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000, 2127 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000, 2128 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000, 2129 VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000, 2130 VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000, 2131 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000, 2132 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000, 2133 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000, 2134 VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000, 2135 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000, 2136 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000, 2137 VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR, 2138 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR, 2139 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR, 2140 VK_ACCESS_NONE_KHR = VK_ACCESS_NONE, 2141 VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2142 } VkAccessFlagBits; 2143 typedef VkFlags VkAccessFlags; 2144 2145 typedef enum VkImageAspectFlagBits { 2146 VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001, 2147 VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002, 2148 VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004, 2149 VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008, 2150 VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010, 2151 VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020, 2152 VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040, 2153 VK_IMAGE_ASPECT_NONE = 0, 2154 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080, 2155 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100, 2156 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200, 2157 VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400, 2158 VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT, 2159 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT, 2160 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT, 2161 VK_IMAGE_ASPECT_NONE_KHR = VK_IMAGE_ASPECT_NONE, 2162 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2163 } VkImageAspectFlagBits; 2164 typedef VkFlags VkImageAspectFlags; 2165 2166 typedef enum VkFormatFeatureFlagBits { 2167 VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001, 2168 VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002, 2169 VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004, 2170 VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008, 2171 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010, 2172 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020, 2173 VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040, 2174 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080, 2175 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100, 2176 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200, 2177 VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400, 2178 VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800, 2179 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000, 2180 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000, 2181 VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000, 2182 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000, 2183 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000, 2184 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000, 2185 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000, 2186 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000, 2187 VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000, 2188 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000, 2189 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000, 2190 #ifdef VK_ENABLE_BETA_EXTENSIONS 2191 VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000, 2192 #endif 2193 #ifdef VK_ENABLE_BETA_EXTENSIONS 2194 VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000, 2195 #endif 2196 VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000, 2197 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = 0x00002000, 2198 VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000, 2199 VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000, 2200 #ifdef VK_ENABLE_BETA_EXTENSIONS 2201 VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000, 2202 #endif 2203 #ifdef VK_ENABLE_BETA_EXTENSIONS 2204 VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000, 2205 #endif 2206 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT, 2207 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT, 2208 VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT, 2209 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT, 2210 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT, 2211 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT, 2212 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT, 2213 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT, 2214 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, 2215 VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT, 2216 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT, 2217 VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2218 } VkFormatFeatureFlagBits; 2219 typedef VkFlags VkFormatFeatureFlags; 2220 2221 typedef enum VkImageCreateFlagBits { 2222 VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001, 2223 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002, 2224 VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004, 2225 VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008, 2226 VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010, 2227 VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400, 2228 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040, 2229 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020, 2230 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080, 2231 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100, 2232 VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800, 2233 VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200, 2234 VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000, 2235 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000, 2236 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000, 2237 VK_IMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT = 0x00040000, 2238 VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT = 0x00020000, 2239 VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM = 0x00008000, 2240 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT, 2241 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT, 2242 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT, 2243 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT, 2244 VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VK_IMAGE_CREATE_DISJOINT_BIT, 2245 VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT, 2246 VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2247 } VkImageCreateFlagBits; 2248 typedef VkFlags VkImageCreateFlags; 2249 2250 typedef enum VkSampleCountFlagBits { 2251 VK_SAMPLE_COUNT_1_BIT = 0x00000001, 2252 VK_SAMPLE_COUNT_2_BIT = 0x00000002, 2253 VK_SAMPLE_COUNT_4_BIT = 0x00000004, 2254 VK_SAMPLE_COUNT_8_BIT = 0x00000008, 2255 VK_SAMPLE_COUNT_16_BIT = 0x00000010, 2256 VK_SAMPLE_COUNT_32_BIT = 0x00000020, 2257 VK_SAMPLE_COUNT_64_BIT = 0x00000040, 2258 VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2259 } VkSampleCountFlagBits; 2260 typedef VkFlags VkSampleCountFlags; 2261 2262 typedef enum VkImageUsageFlagBits { 2263 VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001, 2264 VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002, 2265 VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004, 2266 VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008, 2267 VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010, 2268 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020, 2269 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040, 2270 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080, 2271 #ifdef VK_ENABLE_BETA_EXTENSIONS 2272 VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00000400, 2273 #endif 2274 #ifdef VK_ENABLE_BETA_EXTENSIONS 2275 VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00000800, 2276 #endif 2277 #ifdef VK_ENABLE_BETA_EXTENSIONS 2278 VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR = 0x00001000, 2279 #endif 2280 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200, 2281 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00000100, 2282 #ifdef VK_ENABLE_BETA_EXTENSIONS 2283 VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00002000, 2284 #endif 2285 #ifdef VK_ENABLE_BETA_EXTENSIONS 2286 VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00004000, 2287 #endif 2288 #ifdef VK_ENABLE_BETA_EXTENSIONS 2289 VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR = 0x00008000, 2290 #endif 2291 VK_IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x00080000, 2292 VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI = 0x00040000, 2293 VK_IMAGE_USAGE_SAMPLE_WEIGHT_BIT_QCOM = 0x00100000, 2294 VK_IMAGE_USAGE_SAMPLE_BLOCK_MATCH_BIT_QCOM = 0x00200000, 2295 VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, 2296 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2297 } VkImageUsageFlagBits; 2298 typedef VkFlags VkImageUsageFlags; 2299 2300 typedef enum VkInstanceCreateFlagBits { 2301 VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR = 0x00000001, 2302 VK_INSTANCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2303 } VkInstanceCreateFlagBits; 2304 typedef VkFlags VkInstanceCreateFlags; 2305 2306 typedef enum VkMemoryHeapFlagBits { 2307 VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001, 2308 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002, 2309 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT, 2310 VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2311 } VkMemoryHeapFlagBits; 2312 typedef VkFlags VkMemoryHeapFlags; 2313 2314 typedef enum VkMemoryPropertyFlagBits { 2315 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001, 2316 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002, 2317 VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004, 2318 VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008, 2319 VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010, 2320 VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020, 2321 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 0x00000040, 2322 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 0x00000080, 2323 VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV = 0x00000100, 2324 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2325 } VkMemoryPropertyFlagBits; 2326 typedef VkFlags VkMemoryPropertyFlags; 2327 2328 typedef enum VkQueueFlagBits { 2329 VK_QUEUE_GRAPHICS_BIT = 0x00000001, 2330 VK_QUEUE_COMPUTE_BIT = 0x00000002, 2331 VK_QUEUE_TRANSFER_BIT = 0x00000004, 2332 VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008, 2333 VK_QUEUE_PROTECTED_BIT = 0x00000010, 2334 #ifdef VK_ENABLE_BETA_EXTENSIONS 2335 VK_QUEUE_VIDEO_DECODE_BIT_KHR = 0x00000020, 2336 #endif 2337 #ifdef VK_ENABLE_BETA_EXTENSIONS 2338 VK_QUEUE_VIDEO_ENCODE_BIT_KHR = 0x00000040, 2339 #endif 2340 VK_QUEUE_OPTICAL_FLOW_BIT_NV = 0x00000100, 2341 VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2342 } VkQueueFlagBits; 2343 typedef VkFlags VkQueueFlags; 2344 typedef VkFlags VkDeviceCreateFlags; 2345 2346 typedef enum VkDeviceQueueCreateFlagBits { 2347 VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001, 2348 VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2349 } VkDeviceQueueCreateFlagBits; 2350 typedef VkFlags VkDeviceQueueCreateFlags; 2351 2352 typedef enum VkPipelineStageFlagBits { 2353 VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001, 2354 VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002, 2355 VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004, 2356 VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008, 2357 VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010, 2358 VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020, 2359 VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040, 2360 VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080, 2361 VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100, 2362 VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200, 2363 VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400, 2364 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800, 2365 VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000, 2366 VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000, 2367 VK_PIPELINE_STAGE_HOST_BIT = 0x00004000, 2368 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000, 2369 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000, 2370 VK_PIPELINE_STAGE_NONE = 0, 2371 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000, 2372 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000, 2373 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000, 2374 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 0x00200000, 2375 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000, 2376 VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000, 2377 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 0x00020000, 2378 VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT = 0x00080000, 2379 VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT = 0x00100000, 2380 VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, 2381 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR, 2382 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, 2383 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT, 2384 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT, 2385 VK_PIPELINE_STAGE_NONE_KHR = VK_PIPELINE_STAGE_NONE, 2386 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2387 } VkPipelineStageFlagBits; 2388 typedef VkFlags VkPipelineStageFlags; 2389 typedef VkFlags VkMemoryMapFlags; 2390 2391 typedef enum VkSparseMemoryBindFlagBits { 2392 VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001, 2393 VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2394 } VkSparseMemoryBindFlagBits; 2395 typedef VkFlags VkSparseMemoryBindFlags; 2396 2397 typedef enum VkSparseImageFormatFlagBits { 2398 VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001, 2399 VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002, 2400 VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004, 2401 VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2402 } VkSparseImageFormatFlagBits; 2403 typedef VkFlags VkSparseImageFormatFlags; 2404 2405 typedef enum VkFenceCreateFlagBits { 2406 VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001, 2407 VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2408 } VkFenceCreateFlagBits; 2409 typedef VkFlags VkFenceCreateFlags; 2410 typedef VkFlags VkSemaphoreCreateFlags; 2411 2412 typedef enum VkEventCreateFlagBits { 2413 VK_EVENT_CREATE_DEVICE_ONLY_BIT = 0x00000001, 2414 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = VK_EVENT_CREATE_DEVICE_ONLY_BIT, 2415 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2416 } VkEventCreateFlagBits; 2417 typedef VkFlags VkEventCreateFlags; 2418 2419 typedef enum VkQueryPipelineStatisticFlagBits { 2420 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001, 2421 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002, 2422 VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004, 2423 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008, 2424 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010, 2425 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020, 2426 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040, 2427 VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080, 2428 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100, 2429 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200, 2430 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400, 2431 VK_QUERY_PIPELINE_STATISTIC_TASK_SHADER_INVOCATIONS_BIT_EXT = 0x00000800, 2432 VK_QUERY_PIPELINE_STATISTIC_MESH_SHADER_INVOCATIONS_BIT_EXT = 0x00001000, 2433 VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2434 } VkQueryPipelineStatisticFlagBits; 2435 typedef VkFlags VkQueryPipelineStatisticFlags; 2436 typedef VkFlags VkQueryPoolCreateFlags; 2437 2438 typedef enum VkQueryResultFlagBits { 2439 VK_QUERY_RESULT_64_BIT = 0x00000001, 2440 VK_QUERY_RESULT_WAIT_BIT = 0x00000002, 2441 VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004, 2442 VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008, 2443 #ifdef VK_ENABLE_BETA_EXTENSIONS 2444 VK_QUERY_RESULT_WITH_STATUS_BIT_KHR = 0x00000010, 2445 #endif 2446 VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2447 } VkQueryResultFlagBits; 2448 typedef VkFlags VkQueryResultFlags; 2449 2450 typedef enum VkBufferCreateFlagBits { 2451 VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001, 2452 VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002, 2453 VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004, 2454 VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008, 2455 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010, 2456 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, 2457 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, 2458 VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2459 } VkBufferCreateFlagBits; 2460 typedef VkFlags VkBufferCreateFlags; 2461 2462 typedef enum VkBufferUsageFlagBits { 2463 VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001, 2464 VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002, 2465 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004, 2466 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008, 2467 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010, 2468 VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020, 2469 VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040, 2470 VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080, 2471 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100, 2472 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0x00020000, 2473 #ifdef VK_ENABLE_BETA_EXTENSIONS 2474 VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000, 2475 #endif 2476 #ifdef VK_ENABLE_BETA_EXTENSIONS 2477 VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00004000, 2478 #endif 2479 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800, 2480 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000, 2481 VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200, 2482 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000, 2483 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000, 2484 VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400, 2485 #ifdef VK_ENABLE_BETA_EXTENSIONS 2486 VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000, 2487 #endif 2488 #ifdef VK_ENABLE_BETA_EXTENSIONS 2489 VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000, 2490 #endif 2491 VK_BUFFER_USAGE_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT = 0x00800000, 2492 VK_BUFFER_USAGE_MICROMAP_STORAGE_BIT_EXT = 0x01000000, 2493 VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR, 2494 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT, 2495 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT, 2496 VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2497 } VkBufferUsageFlagBits; 2498 typedef VkFlags VkBufferUsageFlags; 2499 typedef VkFlags VkBufferViewCreateFlags; 2500 2501 typedef enum VkImageViewCreateFlagBits { 2502 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001, 2503 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT = 0x00000002, 2504 VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2505 } VkImageViewCreateFlagBits; 2506 typedef VkFlags VkImageViewCreateFlags; 2507 typedef VkFlags VkShaderModuleCreateFlags; 2508 2509 typedef enum VkPipelineCacheCreateFlagBits { 2510 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT = 0x00000001, 2511 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT, 2512 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2513 } VkPipelineCacheCreateFlagBits; 2514 typedef VkFlags VkPipelineCacheCreateFlags; 2515 2516 typedef enum VkColorComponentFlagBits { 2517 VK_COLOR_COMPONENT_R_BIT = 0x00000001, 2518 VK_COLOR_COMPONENT_G_BIT = 0x00000002, 2519 VK_COLOR_COMPONENT_B_BIT = 0x00000004, 2520 VK_COLOR_COMPONENT_A_BIT = 0x00000008, 2521 VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2522 } VkColorComponentFlagBits; 2523 typedef VkFlags VkColorComponentFlags; 2524 2525 typedef enum VkPipelineCreateFlagBits { 2526 VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001, 2527 VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002, 2528 VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004, 2529 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008, 2530 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0x00000010, 2531 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = 0x00000100, 2532 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT = 0x00000200, 2533 VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00200000, 2534 VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00400000, 2535 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000, 2536 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000, 2537 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000, 2538 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000, 2539 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000, 2540 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000, 2541 VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000, 2542 VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0x00000020, 2543 VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 0x00000040, 2544 VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080, 2545 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00040000, 2546 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 0x00000800, 2547 VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT = 0x00800000, 2548 VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT = 0x00000400, 2549 VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000, 2550 VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x02000000, 2551 VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x04000000, 2552 VK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT = 0x01000000, 2553 VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT_EXT = 0x08000000, 2554 VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT_EXT = 0x40000000, 2555 VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT, 2556 VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, 2557 VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT, 2558 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT, 2559 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE, 2560 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT, 2561 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT, 2562 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2563 } VkPipelineCreateFlagBits; 2564 typedef VkFlags VkPipelineCreateFlags; 2565 2566 typedef enum VkPipelineShaderStageCreateFlagBits { 2567 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT = 0x00000001, 2568 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT = 0x00000002, 2569 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT, 2570 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT, 2571 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2572 } VkPipelineShaderStageCreateFlagBits; 2573 typedef VkFlags VkPipelineShaderStageCreateFlags; 2574 2575 typedef enum VkShaderStageFlagBits { 2576 VK_SHADER_STAGE_VERTEX_BIT = 0x00000001, 2577 VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002, 2578 VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004, 2579 VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008, 2580 VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010, 2581 VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020, 2582 VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F, 2583 VK_SHADER_STAGE_ALL = 0x7FFFFFFF, 2584 VK_SHADER_STAGE_RAYGEN_BIT_KHR = 0x00000100, 2585 VK_SHADER_STAGE_ANY_HIT_BIT_KHR = 0x00000200, 2586 VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR = 0x00000400, 2587 VK_SHADER_STAGE_MISS_BIT_KHR = 0x00000800, 2588 VK_SHADER_STAGE_INTERSECTION_BIT_KHR = 0x00001000, 2589 VK_SHADER_STAGE_CALLABLE_BIT_KHR = 0x00002000, 2590 VK_SHADER_STAGE_TASK_BIT_EXT = 0x00000040, 2591 VK_SHADER_STAGE_MESH_BIT_EXT = 0x00000080, 2592 VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 0x00004000, 2593 VK_SHADER_STAGE_RAYGEN_BIT_NV = VK_SHADER_STAGE_RAYGEN_BIT_KHR, 2594 VK_SHADER_STAGE_ANY_HIT_BIT_NV = VK_SHADER_STAGE_ANY_HIT_BIT_KHR, 2595 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR, 2596 VK_SHADER_STAGE_MISS_BIT_NV = VK_SHADER_STAGE_MISS_BIT_KHR, 2597 VK_SHADER_STAGE_INTERSECTION_BIT_NV = VK_SHADER_STAGE_INTERSECTION_BIT_KHR, 2598 VK_SHADER_STAGE_CALLABLE_BIT_NV = VK_SHADER_STAGE_CALLABLE_BIT_KHR, 2599 VK_SHADER_STAGE_TASK_BIT_NV = VK_SHADER_STAGE_TASK_BIT_EXT, 2600 VK_SHADER_STAGE_MESH_BIT_NV = VK_SHADER_STAGE_MESH_BIT_EXT, 2601 VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2602 } VkShaderStageFlagBits; 2603 2604 typedef enum VkCullModeFlagBits { 2605 VK_CULL_MODE_NONE = 0, 2606 VK_CULL_MODE_FRONT_BIT = 0x00000001, 2607 VK_CULL_MODE_BACK_BIT = 0x00000002, 2608 VK_CULL_MODE_FRONT_AND_BACK = 0x00000003, 2609 VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2610 } VkCullModeFlagBits; 2611 typedef VkFlags VkCullModeFlags; 2612 typedef VkFlags VkPipelineVertexInputStateCreateFlags; 2613 typedef VkFlags VkPipelineInputAssemblyStateCreateFlags; 2614 typedef VkFlags VkPipelineTessellationStateCreateFlags; 2615 typedef VkFlags VkPipelineViewportStateCreateFlags; 2616 typedef VkFlags VkPipelineRasterizationStateCreateFlags; 2617 typedef VkFlags VkPipelineMultisampleStateCreateFlags; 2618 2619 typedef enum VkPipelineDepthStencilStateCreateFlagBits { 2620 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT = 0x00000001, 2621 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT = 0x00000002, 2622 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, 2623 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, 2624 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2625 } VkPipelineDepthStencilStateCreateFlagBits; 2626 typedef VkFlags VkPipelineDepthStencilStateCreateFlags; 2627 2628 typedef enum VkPipelineColorBlendStateCreateFlagBits { 2629 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT = 0x00000001, 2630 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM = VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT, 2631 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2632 } VkPipelineColorBlendStateCreateFlagBits; 2633 typedef VkFlags VkPipelineColorBlendStateCreateFlags; 2634 typedef VkFlags VkPipelineDynamicStateCreateFlags; 2635 2636 typedef enum VkPipelineLayoutCreateFlagBits { 2637 VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT = 0x00000002, 2638 VK_PIPELINE_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2639 } VkPipelineLayoutCreateFlagBits; 2640 typedef VkFlags VkPipelineLayoutCreateFlags; 2641 typedef VkFlags VkShaderStageFlags; 2642 2643 typedef enum VkSamplerCreateFlagBits { 2644 VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0x00000001, 2645 VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002, 2646 VK_SAMPLER_CREATE_NON_SEAMLESS_CUBE_MAP_BIT_EXT = 0x00000004, 2647 VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM = 0x00000010, 2648 VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2649 } VkSamplerCreateFlagBits; 2650 typedef VkFlags VkSamplerCreateFlags; 2651 2652 typedef enum VkDescriptorPoolCreateFlagBits { 2653 VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001, 2654 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002, 2655 VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT = 0x00000004, 2656 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT, 2657 VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE = VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT, 2658 VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2659 } VkDescriptorPoolCreateFlagBits; 2660 typedef VkFlags VkDescriptorPoolCreateFlags; 2661 typedef VkFlags VkDescriptorPoolResetFlags; 2662 2663 typedef enum VkDescriptorSetLayoutCreateFlagBits { 2664 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002, 2665 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001, 2666 VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT = 0x00000004, 2667 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT, 2668 VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE = VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT, 2669 VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2670 } VkDescriptorSetLayoutCreateFlagBits; 2671 typedef VkFlags VkDescriptorSetLayoutCreateFlags; 2672 2673 typedef enum VkAttachmentDescriptionFlagBits { 2674 VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001, 2675 VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2676 } VkAttachmentDescriptionFlagBits; 2677 typedef VkFlags VkAttachmentDescriptionFlags; 2678 2679 typedef enum VkDependencyFlagBits { 2680 VK_DEPENDENCY_BY_REGION_BIT = 0x00000001, 2681 VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004, 2682 VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002, 2683 VK_DEPENDENCY_FEEDBACK_LOOP_BIT_EXT = 0x00000008, 2684 VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT, 2685 VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT, 2686 VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2687 } VkDependencyFlagBits; 2688 typedef VkFlags VkDependencyFlags; 2689 2690 typedef enum VkFramebufferCreateFlagBits { 2691 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0x00000001, 2692 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT, 2693 VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2694 } VkFramebufferCreateFlagBits; 2695 typedef VkFlags VkFramebufferCreateFlags; 2696 2697 typedef enum VkRenderPassCreateFlagBits { 2698 VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM = 0x00000002, 2699 VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2700 } VkRenderPassCreateFlagBits; 2701 typedef VkFlags VkRenderPassCreateFlags; 2702 2703 typedef enum VkSubpassDescriptionFlagBits { 2704 VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001, 2705 VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002, 2706 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 0x00000004, 2707 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 0x00000008, 2708 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT = 0x00000010, 2709 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT = 0x00000020, 2710 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT = 0x00000040, 2711 VK_SUBPASS_DESCRIPTION_ENABLE_LEGACY_DITHERING_BIT_EXT = 0x00000080, 2712 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT, 2713 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT, 2714 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT, 2715 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2716 } VkSubpassDescriptionFlagBits; 2717 typedef VkFlags VkSubpassDescriptionFlags; 2718 2719 typedef enum VkCommandPoolCreateFlagBits { 2720 VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001, 2721 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002, 2722 VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004, 2723 VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2724 } VkCommandPoolCreateFlagBits; 2725 typedef VkFlags VkCommandPoolCreateFlags; 2726 2727 typedef enum VkCommandPoolResetFlagBits { 2728 VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001, 2729 VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2730 } VkCommandPoolResetFlagBits; 2731 typedef VkFlags VkCommandPoolResetFlags; 2732 2733 typedef enum VkCommandBufferUsageFlagBits { 2734 VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001, 2735 VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002, 2736 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004, 2737 VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2738 } VkCommandBufferUsageFlagBits; 2739 typedef VkFlags VkCommandBufferUsageFlags; 2740 2741 typedef enum VkQueryControlFlagBits { 2742 VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001, 2743 VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2744 } VkQueryControlFlagBits; 2745 typedef VkFlags VkQueryControlFlags; 2746 2747 typedef enum VkCommandBufferResetFlagBits { 2748 VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001, 2749 VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2750 } VkCommandBufferResetFlagBits; 2751 typedef VkFlags VkCommandBufferResetFlags; 2752 2753 typedef enum VkStencilFaceFlagBits { 2754 VK_STENCIL_FACE_FRONT_BIT = 0x00000001, 2755 VK_STENCIL_FACE_BACK_BIT = 0x00000002, 2756 VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003, 2757 VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK, 2758 VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2759 } VkStencilFaceFlagBits; 2760 typedef VkFlags VkStencilFaceFlags; 2761 typedef struct VkExtent2D { 2762 uint32_t width; 2763 uint32_t height; 2764 } VkExtent2D; 2765 2766 typedef struct VkExtent3D { 2767 uint32_t width; 2768 uint32_t height; 2769 uint32_t depth; 2770 } VkExtent3D; 2771 2772 typedef struct VkOffset2D { 2773 int32_t x; 2774 int32_t y; 2775 } VkOffset2D; 2776 2777 typedef struct VkOffset3D { 2778 int32_t x; 2779 int32_t y; 2780 int32_t z; 2781 } VkOffset3D; 2782 2783 typedef struct VkRect2D { 2784 VkOffset2D offset; 2785 VkExtent2D extent; 2786 } VkRect2D; 2787 2788 typedef struct VkBaseInStructure { 2789 VkStructureType sType; 2790 const struct VkBaseInStructure* pNext; 2791 } VkBaseInStructure; 2792 2793 typedef struct VkBaseOutStructure { 2794 VkStructureType sType; 2795 struct VkBaseOutStructure* pNext; 2796 } VkBaseOutStructure; 2797 2798 typedef struct VkBufferMemoryBarrier { 2799 VkStructureType sType; 2800 const void* pNext; 2801 VkAccessFlags srcAccessMask; 2802 VkAccessFlags dstAccessMask; 2803 uint32_t srcQueueFamilyIndex; 2804 uint32_t dstQueueFamilyIndex; 2805 VkBuffer buffer; 2806 VkDeviceSize offset; 2807 VkDeviceSize size; 2808 } VkBufferMemoryBarrier; 2809 2810 typedef struct VkDispatchIndirectCommand { 2811 uint32_t x; 2812 uint32_t y; 2813 uint32_t z; 2814 } VkDispatchIndirectCommand; 2815 2816 typedef struct VkDrawIndexedIndirectCommand { 2817 uint32_t indexCount; 2818 uint32_t instanceCount; 2819 uint32_t firstIndex; 2820 int32_t vertexOffset; 2821 uint32_t firstInstance; 2822 } VkDrawIndexedIndirectCommand; 2823 2824 typedef struct VkDrawIndirectCommand { 2825 uint32_t vertexCount; 2826 uint32_t instanceCount; 2827 uint32_t firstVertex; 2828 uint32_t firstInstance; 2829 } VkDrawIndirectCommand; 2830 2831 typedef struct VkImageSubresourceRange { 2832 VkImageAspectFlags aspectMask; 2833 uint32_t baseMipLevel; 2834 uint32_t levelCount; 2835 uint32_t baseArrayLayer; 2836 uint32_t layerCount; 2837 } VkImageSubresourceRange; 2838 2839 typedef struct VkImageMemoryBarrier { 2840 VkStructureType sType; 2841 const void* pNext; 2842 VkAccessFlags srcAccessMask; 2843 VkAccessFlags dstAccessMask; 2844 VkImageLayout oldLayout; 2845 VkImageLayout newLayout; 2846 uint32_t srcQueueFamilyIndex; 2847 uint32_t dstQueueFamilyIndex; 2848 VkImage image; 2849 VkImageSubresourceRange subresourceRange; 2850 } VkImageMemoryBarrier; 2851 2852 typedef struct VkMemoryBarrier { 2853 VkStructureType sType; 2854 const void* pNext; 2855 VkAccessFlags srcAccessMask; 2856 VkAccessFlags dstAccessMask; 2857 } VkMemoryBarrier; 2858 2859 typedef struct VkPipelineCacheHeaderVersionOne { 2860 uint32_t headerSize; 2861 VkPipelineCacheHeaderVersion headerVersion; 2862 uint32_t vendorID; 2863 uint32_t deviceID; 2864 uint8_t pipelineCacheUUID[VK_UUID_SIZE]; 2865 } VkPipelineCacheHeaderVersionOne; 2866 2867 typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)( 2868 void* pUserData, 2869 size_t size, 2870 size_t alignment, 2871 VkSystemAllocationScope allocationScope); 2872 2873 typedef void (VKAPI_PTR *PFN_vkFreeFunction)( 2874 void* pUserData, 2875 void* pMemory); 2876 2877 typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)( 2878 void* pUserData, 2879 size_t size, 2880 VkInternalAllocationType allocationType, 2881 VkSystemAllocationScope allocationScope); 2882 2883 typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)( 2884 void* pUserData, 2885 size_t size, 2886 VkInternalAllocationType allocationType, 2887 VkSystemAllocationScope allocationScope); 2888 2889 typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)( 2890 void* pUserData, 2891 void* pOriginal, 2892 size_t size, 2893 size_t alignment, 2894 VkSystemAllocationScope allocationScope); 2895 2896 typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void); 2897 typedef struct VkAllocationCallbacks { 2898 void* pUserData; 2899 PFN_vkAllocationFunction pfnAllocation; 2900 PFN_vkReallocationFunction pfnReallocation; 2901 PFN_vkFreeFunction pfnFree; 2902 PFN_vkInternalAllocationNotification pfnInternalAllocation; 2903 PFN_vkInternalFreeNotification pfnInternalFree; 2904 } VkAllocationCallbacks; 2905 2906 typedef struct VkApplicationInfo { 2907 VkStructureType sType; 2908 const void* pNext; 2909 const char* pApplicationName; 2910 uint32_t applicationVersion; 2911 const char* pEngineName; 2912 uint32_t engineVersion; 2913 uint32_t apiVersion; 2914 } VkApplicationInfo; 2915 2916 typedef struct VkFormatProperties { 2917 VkFormatFeatureFlags linearTilingFeatures; 2918 VkFormatFeatureFlags optimalTilingFeatures; 2919 VkFormatFeatureFlags bufferFeatures; 2920 } VkFormatProperties; 2921 2922 typedef struct VkImageFormatProperties { 2923 VkExtent3D maxExtent; 2924 uint32_t maxMipLevels; 2925 uint32_t maxArrayLayers; 2926 VkSampleCountFlags sampleCounts; 2927 VkDeviceSize maxResourceSize; 2928 } VkImageFormatProperties; 2929 2930 typedef struct VkInstanceCreateInfo { 2931 VkStructureType sType; 2932 const void* pNext; 2933 VkInstanceCreateFlags flags; 2934 const VkApplicationInfo* pApplicationInfo; 2935 uint32_t enabledLayerCount; 2936 const char* const* ppEnabledLayerNames; 2937 uint32_t enabledExtensionCount; 2938 const char* const* ppEnabledExtensionNames; 2939 } VkInstanceCreateInfo; 2940 2941 typedef struct VkMemoryHeap { 2942 VkDeviceSize size; 2943 VkMemoryHeapFlags flags; 2944 } VkMemoryHeap; 2945 2946 typedef struct VkMemoryType { 2947 VkMemoryPropertyFlags propertyFlags; 2948 uint32_t heapIndex; 2949 } VkMemoryType; 2950 2951 typedef struct VkPhysicalDeviceFeatures { 2952 VkBool32 robustBufferAccess; 2953 VkBool32 fullDrawIndexUint32; 2954 VkBool32 imageCubeArray; 2955 VkBool32 independentBlend; 2956 VkBool32 geometryShader; 2957 VkBool32 tessellationShader; 2958 VkBool32 sampleRateShading; 2959 VkBool32 dualSrcBlend; 2960 VkBool32 logicOp; 2961 VkBool32 multiDrawIndirect; 2962 VkBool32 drawIndirectFirstInstance; 2963 VkBool32 depthClamp; 2964 VkBool32 depthBiasClamp; 2965 VkBool32 fillModeNonSolid; 2966 VkBool32 depthBounds; 2967 VkBool32 wideLines; 2968 VkBool32 largePoints; 2969 VkBool32 alphaToOne; 2970 VkBool32 multiViewport; 2971 VkBool32 samplerAnisotropy; 2972 VkBool32 textureCompressionETC2; 2973 VkBool32 textureCompressionASTC_LDR; 2974 VkBool32 textureCompressionBC; 2975 VkBool32 occlusionQueryPrecise; 2976 VkBool32 pipelineStatisticsQuery; 2977 VkBool32 vertexPipelineStoresAndAtomics; 2978 VkBool32 fragmentStoresAndAtomics; 2979 VkBool32 shaderTessellationAndGeometryPointSize; 2980 VkBool32 shaderImageGatherExtended; 2981 VkBool32 shaderStorageImageExtendedFormats; 2982 VkBool32 shaderStorageImageMultisample; 2983 VkBool32 shaderStorageImageReadWithoutFormat; 2984 VkBool32 shaderStorageImageWriteWithoutFormat; 2985 VkBool32 shaderUniformBufferArrayDynamicIndexing; 2986 VkBool32 shaderSampledImageArrayDynamicIndexing; 2987 VkBool32 shaderStorageBufferArrayDynamicIndexing; 2988 VkBool32 shaderStorageImageArrayDynamicIndexing; 2989 VkBool32 shaderClipDistance; 2990 VkBool32 shaderCullDistance; 2991 VkBool32 shaderFloat64; 2992 VkBool32 shaderInt64; 2993 VkBool32 shaderInt16; 2994 VkBool32 shaderResourceResidency; 2995 VkBool32 shaderResourceMinLod; 2996 VkBool32 sparseBinding; 2997 VkBool32 sparseResidencyBuffer; 2998 VkBool32 sparseResidencyImage2D; 2999 VkBool32 sparseResidencyImage3D; 3000 VkBool32 sparseResidency2Samples; 3001 VkBool32 sparseResidency4Samples; 3002 VkBool32 sparseResidency8Samples; 3003 VkBool32 sparseResidency16Samples; 3004 VkBool32 sparseResidencyAliased; 3005 VkBool32 variableMultisampleRate; 3006 VkBool32 inheritedQueries; 3007 } VkPhysicalDeviceFeatures; 3008 3009 typedef struct VkPhysicalDeviceLimits { 3010 uint32_t maxImageDimension1D; 3011 uint32_t maxImageDimension2D; 3012 uint32_t maxImageDimension3D; 3013 uint32_t maxImageDimensionCube; 3014 uint32_t maxImageArrayLayers; 3015 uint32_t maxTexelBufferElements; 3016 uint32_t maxUniformBufferRange; 3017 uint32_t maxStorageBufferRange; 3018 uint32_t maxPushConstantsSize; 3019 uint32_t maxMemoryAllocationCount; 3020 uint32_t maxSamplerAllocationCount; 3021 VkDeviceSize bufferImageGranularity; 3022 VkDeviceSize sparseAddressSpaceSize; 3023 uint32_t maxBoundDescriptorSets; 3024 uint32_t maxPerStageDescriptorSamplers; 3025 uint32_t maxPerStageDescriptorUniformBuffers; 3026 uint32_t maxPerStageDescriptorStorageBuffers; 3027 uint32_t maxPerStageDescriptorSampledImages; 3028 uint32_t maxPerStageDescriptorStorageImages; 3029 uint32_t maxPerStageDescriptorInputAttachments; 3030 uint32_t maxPerStageResources; 3031 uint32_t maxDescriptorSetSamplers; 3032 uint32_t maxDescriptorSetUniformBuffers; 3033 uint32_t maxDescriptorSetUniformBuffersDynamic; 3034 uint32_t maxDescriptorSetStorageBuffers; 3035 uint32_t maxDescriptorSetStorageBuffersDynamic; 3036 uint32_t maxDescriptorSetSampledImages; 3037 uint32_t maxDescriptorSetStorageImages; 3038 uint32_t maxDescriptorSetInputAttachments; 3039 uint32_t maxVertexInputAttributes; 3040 uint32_t maxVertexInputBindings; 3041 uint32_t maxVertexInputAttributeOffset; 3042 uint32_t maxVertexInputBindingStride; 3043 uint32_t maxVertexOutputComponents; 3044 uint32_t maxTessellationGenerationLevel; 3045 uint32_t maxTessellationPatchSize; 3046 uint32_t maxTessellationControlPerVertexInputComponents; 3047 uint32_t maxTessellationControlPerVertexOutputComponents; 3048 uint32_t maxTessellationControlPerPatchOutputComponents; 3049 uint32_t maxTessellationControlTotalOutputComponents; 3050 uint32_t maxTessellationEvaluationInputComponents; 3051 uint32_t maxTessellationEvaluationOutputComponents; 3052 uint32_t maxGeometryShaderInvocations; 3053 uint32_t maxGeometryInputComponents; 3054 uint32_t maxGeometryOutputComponents; 3055 uint32_t maxGeometryOutputVertices; 3056 uint32_t maxGeometryTotalOutputComponents; 3057 uint32_t maxFragmentInputComponents; 3058 uint32_t maxFragmentOutputAttachments; 3059 uint32_t maxFragmentDualSrcAttachments; 3060 uint32_t maxFragmentCombinedOutputResources; 3061 uint32_t maxComputeSharedMemorySize; 3062 uint32_t maxComputeWorkGroupCount[3]; 3063 uint32_t maxComputeWorkGroupInvocations; 3064 uint32_t maxComputeWorkGroupSize[3]; 3065 uint32_t subPixelPrecisionBits; 3066 uint32_t subTexelPrecisionBits; 3067 uint32_t mipmapPrecisionBits; 3068 uint32_t maxDrawIndexedIndexValue; 3069 uint32_t maxDrawIndirectCount; 3070 float maxSamplerLodBias; 3071 float maxSamplerAnisotropy; 3072 uint32_t maxViewports; 3073 uint32_t maxViewportDimensions[2]; 3074 float viewportBoundsRange[2]; 3075 uint32_t viewportSubPixelBits; 3076 size_t minMemoryMapAlignment; 3077 VkDeviceSize minTexelBufferOffsetAlignment; 3078 VkDeviceSize minUniformBufferOffsetAlignment; 3079 VkDeviceSize minStorageBufferOffsetAlignment; 3080 int32_t minTexelOffset; 3081 uint32_t maxTexelOffset; 3082 int32_t minTexelGatherOffset; 3083 uint32_t maxTexelGatherOffset; 3084 float minInterpolationOffset; 3085 float maxInterpolationOffset; 3086 uint32_t subPixelInterpolationOffsetBits; 3087 uint32_t maxFramebufferWidth; 3088 uint32_t maxFramebufferHeight; 3089 uint32_t maxFramebufferLayers; 3090 VkSampleCountFlags framebufferColorSampleCounts; 3091 VkSampleCountFlags framebufferDepthSampleCounts; 3092 VkSampleCountFlags framebufferStencilSampleCounts; 3093 VkSampleCountFlags framebufferNoAttachmentsSampleCounts; 3094 uint32_t maxColorAttachments; 3095 VkSampleCountFlags sampledImageColorSampleCounts; 3096 VkSampleCountFlags sampledImageIntegerSampleCounts; 3097 VkSampleCountFlags sampledImageDepthSampleCounts; 3098 VkSampleCountFlags sampledImageStencilSampleCounts; 3099 VkSampleCountFlags storageImageSampleCounts; 3100 uint32_t maxSampleMaskWords; 3101 VkBool32 timestampComputeAndGraphics; 3102 float timestampPeriod; 3103 uint32_t maxClipDistances; 3104 uint32_t maxCullDistances; 3105 uint32_t maxCombinedClipAndCullDistances; 3106 uint32_t discreteQueuePriorities; 3107 float pointSizeRange[2]; 3108 float lineWidthRange[2]; 3109 float pointSizeGranularity; 3110 float lineWidthGranularity; 3111 VkBool32 strictLines; 3112 VkBool32 standardSampleLocations; 3113 VkDeviceSize optimalBufferCopyOffsetAlignment; 3114 VkDeviceSize optimalBufferCopyRowPitchAlignment; 3115 VkDeviceSize nonCoherentAtomSize; 3116 } VkPhysicalDeviceLimits; 3117 3118 typedef struct VkPhysicalDeviceMemoryProperties { 3119 uint32_t memoryTypeCount; 3120 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES]; 3121 uint32_t memoryHeapCount; 3122 VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS]; 3123 } VkPhysicalDeviceMemoryProperties; 3124 3125 typedef struct VkPhysicalDeviceSparseProperties { 3126 VkBool32 residencyStandard2DBlockShape; 3127 VkBool32 residencyStandard2DMultisampleBlockShape; 3128 VkBool32 residencyStandard3DBlockShape; 3129 VkBool32 residencyAlignedMipSize; 3130 VkBool32 residencyNonResidentStrict; 3131 } VkPhysicalDeviceSparseProperties; 3132 3133 typedef struct VkPhysicalDeviceProperties { 3134 uint32_t apiVersion; 3135 uint32_t driverVersion; 3136 uint32_t vendorID; 3137 uint32_t deviceID; 3138 VkPhysicalDeviceType deviceType; 3139 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE]; 3140 uint8_t pipelineCacheUUID[VK_UUID_SIZE]; 3141 VkPhysicalDeviceLimits limits; 3142 VkPhysicalDeviceSparseProperties sparseProperties; 3143 } VkPhysicalDeviceProperties; 3144 3145 typedef struct VkQueueFamilyProperties { 3146 VkQueueFlags queueFlags; 3147 uint32_t queueCount; 3148 uint32_t timestampValidBits; 3149 VkExtent3D minImageTransferGranularity; 3150 } VkQueueFamilyProperties; 3151 3152 typedef struct VkDeviceQueueCreateInfo { 3153 VkStructureType sType; 3154 const void* pNext; 3155 VkDeviceQueueCreateFlags flags; 3156 uint32_t queueFamilyIndex; 3157 uint32_t queueCount; 3158 const float* pQueuePriorities; 3159 } VkDeviceQueueCreateInfo; 3160 3161 typedef struct VkDeviceCreateInfo { 3162 VkStructureType sType; 3163 const void* pNext; 3164 VkDeviceCreateFlags flags; 3165 uint32_t queueCreateInfoCount; 3166 const VkDeviceQueueCreateInfo* pQueueCreateInfos; 3167 uint32_t enabledLayerCount; 3168 const char* const* ppEnabledLayerNames; 3169 uint32_t enabledExtensionCount; 3170 const char* const* ppEnabledExtensionNames; 3171 const VkPhysicalDeviceFeatures* pEnabledFeatures; 3172 } VkDeviceCreateInfo; 3173 3174 typedef struct VkExtensionProperties { 3175 char extensionName[VK_MAX_EXTENSION_NAME_SIZE]; 3176 uint32_t specVersion; 3177 } VkExtensionProperties; 3178 3179 typedef struct VkLayerProperties { 3180 char layerName[VK_MAX_EXTENSION_NAME_SIZE]; 3181 uint32_t specVersion; 3182 uint32_t implementationVersion; 3183 char description[VK_MAX_DESCRIPTION_SIZE]; 3184 } VkLayerProperties; 3185 3186 typedef struct VkSubmitInfo { 3187 VkStructureType sType; 3188 const void* pNext; 3189 uint32_t waitSemaphoreCount; 3190 const VkSemaphore* pWaitSemaphores; 3191 const VkPipelineStageFlags* pWaitDstStageMask; 3192 uint32_t commandBufferCount; 3193 const VkCommandBuffer* pCommandBuffers; 3194 uint32_t signalSemaphoreCount; 3195 const VkSemaphore* pSignalSemaphores; 3196 } VkSubmitInfo; 3197 3198 typedef struct VkMappedMemoryRange { 3199 VkStructureType sType; 3200 const void* pNext; 3201 VkDeviceMemory memory; 3202 VkDeviceSize offset; 3203 VkDeviceSize size; 3204 } VkMappedMemoryRange; 3205 3206 typedef struct VkMemoryAllocateInfo { 3207 VkStructureType sType; 3208 const void* pNext; 3209 VkDeviceSize allocationSize; 3210 uint32_t memoryTypeIndex; 3211 } VkMemoryAllocateInfo; 3212 3213 typedef struct VkMemoryRequirements { 3214 VkDeviceSize size; 3215 VkDeviceSize alignment; 3216 uint32_t memoryTypeBits; 3217 } VkMemoryRequirements; 3218 3219 typedef struct VkSparseMemoryBind { 3220 VkDeviceSize resourceOffset; 3221 VkDeviceSize size; 3222 VkDeviceMemory memory; 3223 VkDeviceSize memoryOffset; 3224 VkSparseMemoryBindFlags flags; 3225 } VkSparseMemoryBind; 3226 3227 typedef struct VkSparseBufferMemoryBindInfo { 3228 VkBuffer buffer; 3229 uint32_t bindCount; 3230 const VkSparseMemoryBind* pBinds; 3231 } VkSparseBufferMemoryBindInfo; 3232 3233 typedef struct VkSparseImageOpaqueMemoryBindInfo { 3234 VkImage image; 3235 uint32_t bindCount; 3236 const VkSparseMemoryBind* pBinds; 3237 } VkSparseImageOpaqueMemoryBindInfo; 3238 3239 typedef struct VkImageSubresource { 3240 VkImageAspectFlags aspectMask; 3241 uint32_t mipLevel; 3242 uint32_t arrayLayer; 3243 } VkImageSubresource; 3244 3245 typedef struct VkSparseImageMemoryBind { 3246 VkImageSubresource subresource; 3247 VkOffset3D offset; 3248 VkExtent3D extent; 3249 VkDeviceMemory memory; 3250 VkDeviceSize memoryOffset; 3251 VkSparseMemoryBindFlags flags; 3252 } VkSparseImageMemoryBind; 3253 3254 typedef struct VkSparseImageMemoryBindInfo { 3255 VkImage image; 3256 uint32_t bindCount; 3257 const VkSparseImageMemoryBind* pBinds; 3258 } VkSparseImageMemoryBindInfo; 3259 3260 typedef struct VkBindSparseInfo { 3261 VkStructureType sType; 3262 const void* pNext; 3263 uint32_t waitSemaphoreCount; 3264 const VkSemaphore* pWaitSemaphores; 3265 uint32_t bufferBindCount; 3266 const VkSparseBufferMemoryBindInfo* pBufferBinds; 3267 uint32_t imageOpaqueBindCount; 3268 const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds; 3269 uint32_t imageBindCount; 3270 const VkSparseImageMemoryBindInfo* pImageBinds; 3271 uint32_t signalSemaphoreCount; 3272 const VkSemaphore* pSignalSemaphores; 3273 } VkBindSparseInfo; 3274 3275 typedef struct VkSparseImageFormatProperties { 3276 VkImageAspectFlags aspectMask; 3277 VkExtent3D imageGranularity; 3278 VkSparseImageFormatFlags flags; 3279 } VkSparseImageFormatProperties; 3280 3281 typedef struct VkSparseImageMemoryRequirements { 3282 VkSparseImageFormatProperties formatProperties; 3283 uint32_t imageMipTailFirstLod; 3284 VkDeviceSize imageMipTailSize; 3285 VkDeviceSize imageMipTailOffset; 3286 VkDeviceSize imageMipTailStride; 3287 } VkSparseImageMemoryRequirements; 3288 3289 typedef struct VkFenceCreateInfo { 3290 VkStructureType sType; 3291 const void* pNext; 3292 VkFenceCreateFlags flags; 3293 } VkFenceCreateInfo; 3294 3295 typedef struct VkSemaphoreCreateInfo { 3296 VkStructureType sType; 3297 const void* pNext; 3298 VkSemaphoreCreateFlags flags; 3299 } VkSemaphoreCreateInfo; 3300 3301 typedef struct VkEventCreateInfo { 3302 VkStructureType sType; 3303 const void* pNext; 3304 VkEventCreateFlags flags; 3305 } VkEventCreateInfo; 3306 3307 typedef struct VkQueryPoolCreateInfo { 3308 VkStructureType sType; 3309 const void* pNext; 3310 VkQueryPoolCreateFlags flags; 3311 VkQueryType queryType; 3312 uint32_t queryCount; 3313 VkQueryPipelineStatisticFlags pipelineStatistics; 3314 } VkQueryPoolCreateInfo; 3315 3316 typedef struct VkBufferCreateInfo { 3317 VkStructureType sType; 3318 const void* pNext; 3319 VkBufferCreateFlags flags; 3320 VkDeviceSize size; 3321 VkBufferUsageFlags usage; 3322 VkSharingMode sharingMode; 3323 uint32_t queueFamilyIndexCount; 3324 const uint32_t* pQueueFamilyIndices; 3325 } VkBufferCreateInfo; 3326 3327 typedef struct VkBufferViewCreateInfo { 3328 VkStructureType sType; 3329 const void* pNext; 3330 VkBufferViewCreateFlags flags; 3331 VkBuffer buffer; 3332 VkFormat format; 3333 VkDeviceSize offset; 3334 VkDeviceSize range; 3335 } VkBufferViewCreateInfo; 3336 3337 typedef struct VkImageCreateInfo { 3338 VkStructureType sType; 3339 const void* pNext; 3340 VkImageCreateFlags flags; 3341 VkImageType imageType; 3342 VkFormat format; 3343 VkExtent3D extent; 3344 uint32_t mipLevels; 3345 uint32_t arrayLayers; 3346 VkSampleCountFlagBits samples; 3347 VkImageTiling tiling; 3348 VkImageUsageFlags usage; 3349 VkSharingMode sharingMode; 3350 uint32_t queueFamilyIndexCount; 3351 const uint32_t* pQueueFamilyIndices; 3352 VkImageLayout initialLayout; 3353 } VkImageCreateInfo; 3354 3355 typedef struct VkSubresourceLayout { 3356 VkDeviceSize offset; 3357 VkDeviceSize size; 3358 VkDeviceSize rowPitch; 3359 VkDeviceSize arrayPitch; 3360 VkDeviceSize depthPitch; 3361 } VkSubresourceLayout; 3362 3363 typedef struct VkComponentMapping { 3364 VkComponentSwizzle r; 3365 VkComponentSwizzle g; 3366 VkComponentSwizzle b; 3367 VkComponentSwizzle a; 3368 } VkComponentMapping; 3369 3370 typedef struct VkImageViewCreateInfo { 3371 VkStructureType sType; 3372 const void* pNext; 3373 VkImageViewCreateFlags flags; 3374 VkImage image; 3375 VkImageViewType viewType; 3376 VkFormat format; 3377 VkComponentMapping components; 3378 VkImageSubresourceRange subresourceRange; 3379 } VkImageViewCreateInfo; 3380 3381 typedef struct VkShaderModuleCreateInfo { 3382 VkStructureType sType; 3383 const void* pNext; 3384 VkShaderModuleCreateFlags flags; 3385 size_t codeSize; 3386 const uint32_t* pCode; 3387 } VkShaderModuleCreateInfo; 3388 3389 typedef struct VkPipelineCacheCreateInfo { 3390 VkStructureType sType; 3391 const void* pNext; 3392 VkPipelineCacheCreateFlags flags; 3393 size_t initialDataSize; 3394 const void* pInitialData; 3395 } VkPipelineCacheCreateInfo; 3396 3397 typedef struct VkSpecializationMapEntry { 3398 uint32_t constantID; 3399 uint32_t offset; 3400 size_t size; 3401 } VkSpecializationMapEntry; 3402 3403 typedef struct VkSpecializationInfo { 3404 uint32_t mapEntryCount; 3405 const VkSpecializationMapEntry* pMapEntries; 3406 size_t dataSize; 3407 const void* pData; 3408 } VkSpecializationInfo; 3409 3410 typedef struct VkPipelineShaderStageCreateInfo { 3411 VkStructureType sType; 3412 const void* pNext; 3413 VkPipelineShaderStageCreateFlags flags; 3414 VkShaderStageFlagBits stage; 3415 VkShaderModule module; 3416 const char* pName; 3417 const VkSpecializationInfo* pSpecializationInfo; 3418 } VkPipelineShaderStageCreateInfo; 3419 3420 typedef struct VkComputePipelineCreateInfo { 3421 VkStructureType sType; 3422 const void* pNext; 3423 VkPipelineCreateFlags flags; 3424 VkPipelineShaderStageCreateInfo stage; 3425 VkPipelineLayout layout; 3426 VkPipeline basePipelineHandle; 3427 int32_t basePipelineIndex; 3428 } VkComputePipelineCreateInfo; 3429 3430 typedef struct VkVertexInputBindingDescription { 3431 uint32_t binding; 3432 uint32_t stride; 3433 VkVertexInputRate inputRate; 3434 } VkVertexInputBindingDescription; 3435 3436 typedef struct VkVertexInputAttributeDescription { 3437 uint32_t location; 3438 uint32_t binding; 3439 VkFormat format; 3440 uint32_t offset; 3441 } VkVertexInputAttributeDescription; 3442 3443 typedef struct VkPipelineVertexInputStateCreateInfo { 3444 VkStructureType sType; 3445 const void* pNext; 3446 VkPipelineVertexInputStateCreateFlags flags; 3447 uint32_t vertexBindingDescriptionCount; 3448 const VkVertexInputBindingDescription* pVertexBindingDescriptions; 3449 uint32_t vertexAttributeDescriptionCount; 3450 const VkVertexInputAttributeDescription* pVertexAttributeDescriptions; 3451 } VkPipelineVertexInputStateCreateInfo; 3452 3453 typedef struct VkPipelineInputAssemblyStateCreateInfo { 3454 VkStructureType sType; 3455 const void* pNext; 3456 VkPipelineInputAssemblyStateCreateFlags flags; 3457 VkPrimitiveTopology topology; 3458 VkBool32 primitiveRestartEnable; 3459 } VkPipelineInputAssemblyStateCreateInfo; 3460 3461 typedef struct VkPipelineTessellationStateCreateInfo { 3462 VkStructureType sType; 3463 const void* pNext; 3464 VkPipelineTessellationStateCreateFlags flags; 3465 uint32_t patchControlPoints; 3466 } VkPipelineTessellationStateCreateInfo; 3467 3468 typedef struct VkViewport { 3469 float x; 3470 float y; 3471 float width; 3472 float height; 3473 float minDepth; 3474 float maxDepth; 3475 } VkViewport; 3476 3477 typedef struct VkPipelineViewportStateCreateInfo { 3478 VkStructureType sType; 3479 const void* pNext; 3480 VkPipelineViewportStateCreateFlags flags; 3481 uint32_t viewportCount; 3482 const VkViewport* pViewports; 3483 uint32_t scissorCount; 3484 const VkRect2D* pScissors; 3485 } VkPipelineViewportStateCreateInfo; 3486 3487 typedef struct VkPipelineRasterizationStateCreateInfo { 3488 VkStructureType sType; 3489 const void* pNext; 3490 VkPipelineRasterizationStateCreateFlags flags; 3491 VkBool32 depthClampEnable; 3492 VkBool32 rasterizerDiscardEnable; 3493 VkPolygonMode polygonMode; 3494 VkCullModeFlags cullMode; 3495 VkFrontFace frontFace; 3496 VkBool32 depthBiasEnable; 3497 float depthBiasConstantFactor; 3498 float depthBiasClamp; 3499 float depthBiasSlopeFactor; 3500 float lineWidth; 3501 } VkPipelineRasterizationStateCreateInfo; 3502 3503 typedef struct VkPipelineMultisampleStateCreateInfo { 3504 VkStructureType sType; 3505 const void* pNext; 3506 VkPipelineMultisampleStateCreateFlags flags; 3507 VkSampleCountFlagBits rasterizationSamples; 3508 VkBool32 sampleShadingEnable; 3509 float minSampleShading; 3510 const VkSampleMask* pSampleMask; 3511 VkBool32 alphaToCoverageEnable; 3512 VkBool32 alphaToOneEnable; 3513 } VkPipelineMultisampleStateCreateInfo; 3514 3515 typedef struct VkStencilOpState { 3516 VkStencilOp failOp; 3517 VkStencilOp passOp; 3518 VkStencilOp depthFailOp; 3519 VkCompareOp compareOp; 3520 uint32_t compareMask; 3521 uint32_t writeMask; 3522 uint32_t reference; 3523 } VkStencilOpState; 3524 3525 typedef struct VkPipelineDepthStencilStateCreateInfo { 3526 VkStructureType sType; 3527 const void* pNext; 3528 VkPipelineDepthStencilStateCreateFlags flags; 3529 VkBool32 depthTestEnable; 3530 VkBool32 depthWriteEnable; 3531 VkCompareOp depthCompareOp; 3532 VkBool32 depthBoundsTestEnable; 3533 VkBool32 stencilTestEnable; 3534 VkStencilOpState front; 3535 VkStencilOpState back; 3536 float minDepthBounds; 3537 float maxDepthBounds; 3538 } VkPipelineDepthStencilStateCreateInfo; 3539 3540 typedef struct VkPipelineColorBlendAttachmentState { 3541 VkBool32 blendEnable; 3542 VkBlendFactor srcColorBlendFactor; 3543 VkBlendFactor dstColorBlendFactor; 3544 VkBlendOp colorBlendOp; 3545 VkBlendFactor srcAlphaBlendFactor; 3546 VkBlendFactor dstAlphaBlendFactor; 3547 VkBlendOp alphaBlendOp; 3548 VkColorComponentFlags colorWriteMask; 3549 } VkPipelineColorBlendAttachmentState; 3550 3551 typedef struct VkPipelineColorBlendStateCreateInfo { 3552 VkStructureType sType; 3553 const void* pNext; 3554 VkPipelineColorBlendStateCreateFlags flags; 3555 VkBool32 logicOpEnable; 3556 VkLogicOp logicOp; 3557 uint32_t attachmentCount; 3558 const VkPipelineColorBlendAttachmentState* pAttachments; 3559 float blendConstants[4]; 3560 } VkPipelineColorBlendStateCreateInfo; 3561 3562 typedef struct VkPipelineDynamicStateCreateInfo { 3563 VkStructureType sType; 3564 const void* pNext; 3565 VkPipelineDynamicStateCreateFlags flags; 3566 uint32_t dynamicStateCount; 3567 const VkDynamicState* pDynamicStates; 3568 } VkPipelineDynamicStateCreateInfo; 3569 3570 typedef struct VkGraphicsPipelineCreateInfo { 3571 VkStructureType sType; 3572 const void* pNext; 3573 VkPipelineCreateFlags flags; 3574 uint32_t stageCount; 3575 const VkPipelineShaderStageCreateInfo* pStages; 3576 const VkPipelineVertexInputStateCreateInfo* pVertexInputState; 3577 const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState; 3578 const VkPipelineTessellationStateCreateInfo* pTessellationState; 3579 const VkPipelineViewportStateCreateInfo* pViewportState; 3580 const VkPipelineRasterizationStateCreateInfo* pRasterizationState; 3581 const VkPipelineMultisampleStateCreateInfo* pMultisampleState; 3582 const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState; 3583 const VkPipelineColorBlendStateCreateInfo* pColorBlendState; 3584 const VkPipelineDynamicStateCreateInfo* pDynamicState; 3585 VkPipelineLayout layout; 3586 VkRenderPass renderPass; 3587 uint32_t subpass; 3588 VkPipeline basePipelineHandle; 3589 int32_t basePipelineIndex; 3590 } VkGraphicsPipelineCreateInfo; 3591 3592 typedef struct VkPushConstantRange { 3593 VkShaderStageFlags stageFlags; 3594 uint32_t offset; 3595 uint32_t size; 3596 } VkPushConstantRange; 3597 3598 typedef struct VkPipelineLayoutCreateInfo { 3599 VkStructureType sType; 3600 const void* pNext; 3601 VkPipelineLayoutCreateFlags flags; 3602 uint32_t setLayoutCount; 3603 const VkDescriptorSetLayout* pSetLayouts; 3604 uint32_t pushConstantRangeCount; 3605 const VkPushConstantRange* pPushConstantRanges; 3606 } VkPipelineLayoutCreateInfo; 3607 3608 typedef struct VkSamplerCreateInfo { 3609 VkStructureType sType; 3610 const void* pNext; 3611 VkSamplerCreateFlags flags; 3612 VkFilter magFilter; 3613 VkFilter minFilter; 3614 VkSamplerMipmapMode mipmapMode; 3615 VkSamplerAddressMode addressModeU; 3616 VkSamplerAddressMode addressModeV; 3617 VkSamplerAddressMode addressModeW; 3618 float mipLodBias; 3619 VkBool32 anisotropyEnable; 3620 float maxAnisotropy; 3621 VkBool32 compareEnable; 3622 VkCompareOp compareOp; 3623 float minLod; 3624 float maxLod; 3625 VkBorderColor borderColor; 3626 VkBool32 unnormalizedCoordinates; 3627 } VkSamplerCreateInfo; 3628 3629 typedef struct VkCopyDescriptorSet { 3630 VkStructureType sType; 3631 const void* pNext; 3632 VkDescriptorSet srcSet; 3633 uint32_t srcBinding; 3634 uint32_t srcArrayElement; 3635 VkDescriptorSet dstSet; 3636 uint32_t dstBinding; 3637 uint32_t dstArrayElement; 3638 uint32_t descriptorCount; 3639 } VkCopyDescriptorSet; 3640 3641 typedef struct VkDescriptorBufferInfo { 3642 VkBuffer buffer; 3643 VkDeviceSize offset; 3644 VkDeviceSize range; 3645 } VkDescriptorBufferInfo; 3646 3647 typedef struct VkDescriptorImageInfo { 3648 VkSampler sampler; 3649 VkImageView imageView; 3650 VkImageLayout imageLayout; 3651 } VkDescriptorImageInfo; 3652 3653 typedef struct VkDescriptorPoolSize { 3654 VkDescriptorType type; 3655 uint32_t descriptorCount; 3656 } VkDescriptorPoolSize; 3657 3658 typedef struct VkDescriptorPoolCreateInfo { 3659 VkStructureType sType; 3660 const void* pNext; 3661 VkDescriptorPoolCreateFlags flags; 3662 uint32_t maxSets; 3663 uint32_t poolSizeCount; 3664 const VkDescriptorPoolSize* pPoolSizes; 3665 } VkDescriptorPoolCreateInfo; 3666 3667 typedef struct VkDescriptorSetAllocateInfo { 3668 VkStructureType sType; 3669 const void* pNext; 3670 VkDescriptorPool descriptorPool; 3671 uint32_t descriptorSetCount; 3672 const VkDescriptorSetLayout* pSetLayouts; 3673 } VkDescriptorSetAllocateInfo; 3674 3675 typedef struct VkDescriptorSetLayoutBinding { 3676 uint32_t binding; 3677 VkDescriptorType descriptorType; 3678 uint32_t descriptorCount; 3679 VkShaderStageFlags stageFlags; 3680 const VkSampler* pImmutableSamplers; 3681 } VkDescriptorSetLayoutBinding; 3682 3683 typedef struct VkDescriptorSetLayoutCreateInfo { 3684 VkStructureType sType; 3685 const void* pNext; 3686 VkDescriptorSetLayoutCreateFlags flags; 3687 uint32_t bindingCount; 3688 const VkDescriptorSetLayoutBinding* pBindings; 3689 } VkDescriptorSetLayoutCreateInfo; 3690 3691 typedef struct VkWriteDescriptorSet { 3692 VkStructureType sType; 3693 const void* pNext; 3694 VkDescriptorSet dstSet; 3695 uint32_t dstBinding; 3696 uint32_t dstArrayElement; 3697 uint32_t descriptorCount; 3698 VkDescriptorType descriptorType; 3699 const VkDescriptorImageInfo* pImageInfo; 3700 const VkDescriptorBufferInfo* pBufferInfo; 3701 const VkBufferView* pTexelBufferView; 3702 } VkWriteDescriptorSet; 3703 3704 typedef struct VkAttachmentDescription { 3705 VkAttachmentDescriptionFlags flags; 3706 VkFormat format; 3707 VkSampleCountFlagBits samples; 3708 VkAttachmentLoadOp loadOp; 3709 VkAttachmentStoreOp storeOp; 3710 VkAttachmentLoadOp stencilLoadOp; 3711 VkAttachmentStoreOp stencilStoreOp; 3712 VkImageLayout initialLayout; 3713 VkImageLayout finalLayout; 3714 } VkAttachmentDescription; 3715 3716 typedef struct VkAttachmentReference { 3717 uint32_t attachment; 3718 VkImageLayout layout; 3719 } VkAttachmentReference; 3720 3721 typedef struct VkFramebufferCreateInfo { 3722 VkStructureType sType; 3723 const void* pNext; 3724 VkFramebufferCreateFlags flags; 3725 VkRenderPass renderPass; 3726 uint32_t attachmentCount; 3727 const VkImageView* pAttachments; 3728 uint32_t width; 3729 uint32_t height; 3730 uint32_t layers; 3731 } VkFramebufferCreateInfo; 3732 3733 typedef struct VkSubpassDescription { 3734 VkSubpassDescriptionFlags flags; 3735 VkPipelineBindPoint pipelineBindPoint; 3736 uint32_t inputAttachmentCount; 3737 const VkAttachmentReference* pInputAttachments; 3738 uint32_t colorAttachmentCount; 3739 const VkAttachmentReference* pColorAttachments; 3740 const VkAttachmentReference* pResolveAttachments; 3741 const VkAttachmentReference* pDepthStencilAttachment; 3742 uint32_t preserveAttachmentCount; 3743 const uint32_t* pPreserveAttachments; 3744 } VkSubpassDescription; 3745 3746 typedef struct VkSubpassDependency { 3747 uint32_t srcSubpass; 3748 uint32_t dstSubpass; 3749 VkPipelineStageFlags srcStageMask; 3750 VkPipelineStageFlags dstStageMask; 3751 VkAccessFlags srcAccessMask; 3752 VkAccessFlags dstAccessMask; 3753 VkDependencyFlags dependencyFlags; 3754 } VkSubpassDependency; 3755 3756 typedef struct VkRenderPassCreateInfo { 3757 VkStructureType sType; 3758 const void* pNext; 3759 VkRenderPassCreateFlags flags; 3760 uint32_t attachmentCount; 3761 const VkAttachmentDescription* pAttachments; 3762 uint32_t subpassCount; 3763 const VkSubpassDescription* pSubpasses; 3764 uint32_t dependencyCount; 3765 const VkSubpassDependency* pDependencies; 3766 } VkRenderPassCreateInfo; 3767 3768 typedef struct VkCommandPoolCreateInfo { 3769 VkStructureType sType; 3770 const void* pNext; 3771 VkCommandPoolCreateFlags flags; 3772 uint32_t queueFamilyIndex; 3773 } VkCommandPoolCreateInfo; 3774 3775 typedef struct VkCommandBufferAllocateInfo { 3776 VkStructureType sType; 3777 const void* pNext; 3778 VkCommandPool commandPool; 3779 VkCommandBufferLevel level; 3780 uint32_t commandBufferCount; 3781 } VkCommandBufferAllocateInfo; 3782 3783 typedef struct VkCommandBufferInheritanceInfo { 3784 VkStructureType sType; 3785 const void* pNext; 3786 VkRenderPass renderPass; 3787 uint32_t subpass; 3788 VkFramebuffer framebuffer; 3789 VkBool32 occlusionQueryEnable; 3790 VkQueryControlFlags queryFlags; 3791 VkQueryPipelineStatisticFlags pipelineStatistics; 3792 } VkCommandBufferInheritanceInfo; 3793 3794 typedef struct VkCommandBufferBeginInfo { 3795 VkStructureType sType; 3796 const void* pNext; 3797 VkCommandBufferUsageFlags flags; 3798 const VkCommandBufferInheritanceInfo* pInheritanceInfo; 3799 } VkCommandBufferBeginInfo; 3800 3801 typedef struct VkBufferCopy { 3802 VkDeviceSize srcOffset; 3803 VkDeviceSize dstOffset; 3804 VkDeviceSize size; 3805 } VkBufferCopy; 3806 3807 typedef struct VkImageSubresourceLayers { 3808 VkImageAspectFlags aspectMask; 3809 uint32_t mipLevel; 3810 uint32_t baseArrayLayer; 3811 uint32_t layerCount; 3812 } VkImageSubresourceLayers; 3813 3814 typedef struct VkBufferImageCopy { 3815 VkDeviceSize bufferOffset; 3816 uint32_t bufferRowLength; 3817 uint32_t bufferImageHeight; 3818 VkImageSubresourceLayers imageSubresource; 3819 VkOffset3D imageOffset; 3820 VkExtent3D imageExtent; 3821 } VkBufferImageCopy; 3822 3823 typedef union VkClearColorValue { 3824 float float32[4]; 3825 int32_t int32[4]; 3826 uint32_t uint32[4]; 3827 } VkClearColorValue; 3828 3829 typedef struct VkClearDepthStencilValue { 3830 float depth; 3831 uint32_t stencil; 3832 } VkClearDepthStencilValue; 3833 3834 typedef union VkClearValue { 3835 VkClearColorValue color; 3836 VkClearDepthStencilValue depthStencil; 3837 } VkClearValue; 3838 3839 typedef struct VkClearAttachment { 3840 VkImageAspectFlags aspectMask; 3841 uint32_t colorAttachment; 3842 VkClearValue clearValue; 3843 } VkClearAttachment; 3844 3845 typedef struct VkClearRect { 3846 VkRect2D rect; 3847 uint32_t baseArrayLayer; 3848 uint32_t layerCount; 3849 } VkClearRect; 3850 3851 typedef struct VkImageBlit { 3852 VkImageSubresourceLayers srcSubresource; 3853 VkOffset3D srcOffsets[2]; 3854 VkImageSubresourceLayers dstSubresource; 3855 VkOffset3D dstOffsets[2]; 3856 } VkImageBlit; 3857 3858 typedef struct VkImageCopy { 3859 VkImageSubresourceLayers srcSubresource; 3860 VkOffset3D srcOffset; 3861 VkImageSubresourceLayers dstSubresource; 3862 VkOffset3D dstOffset; 3863 VkExtent3D extent; 3864 } VkImageCopy; 3865 3866 typedef struct VkImageResolve { 3867 VkImageSubresourceLayers srcSubresource; 3868 VkOffset3D srcOffset; 3869 VkImageSubresourceLayers dstSubresource; 3870 VkOffset3D dstOffset; 3871 VkExtent3D extent; 3872 } VkImageResolve; 3873 3874 typedef struct VkRenderPassBeginInfo { 3875 VkStructureType sType; 3876 const void* pNext; 3877 VkRenderPass renderPass; 3878 VkFramebuffer framebuffer; 3879 VkRect2D renderArea; 3880 uint32_t clearValueCount; 3881 const VkClearValue* pClearValues; 3882 } VkRenderPassBeginInfo; 3883 3884 typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance); 3885 typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator); 3886 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices); 3887 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures); 3888 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties); 3889 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties); 3890 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties); 3891 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties); 3892 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties); 3893 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName); 3894 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName); 3895 typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice); 3896 typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator); 3897 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties); 3898 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties); 3899 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(uint32_t* pPropertyCount, VkLayerProperties* pProperties); 3900 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties); 3901 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue); 3902 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence); 3903 typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue); 3904 typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device); 3905 typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory); 3906 typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator); 3907 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData); 3908 typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory); 3909 typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges); 3910 typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges); 3911 typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes); 3912 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset); 3913 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset); 3914 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements); 3915 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements); 3916 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements); 3917 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties); 3918 typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence); 3919 typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); 3920 typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator); 3921 typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences); 3922 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence); 3923 typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout); 3924 typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore); 3925 typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator); 3926 typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent); 3927 typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator); 3928 typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event); 3929 typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event); 3930 typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event); 3931 typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool); 3932 typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator); 3933 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); 3934 typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer); 3935 typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator); 3936 typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView); 3937 typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator); 3938 typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage); 3939 typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator); 3940 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout); 3941 typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView); 3942 typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator); 3943 typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule); 3944 typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator); 3945 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache); 3946 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator); 3947 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData); 3948 typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches); 3949 typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 3950 typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 3951 typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator); 3952 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout); 3953 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator); 3954 typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler); 3955 typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator); 3956 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout); 3957 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator); 3958 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool); 3959 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator); 3960 typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags); 3961 typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets); 3962 typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets); 3963 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies); 3964 typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer); 3965 typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator); 3966 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); 3967 typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator); 3968 typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity); 3969 typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool); 3970 typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator); 3971 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags); 3972 typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers); 3973 typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers); 3974 typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo); 3975 typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer); 3976 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags); 3977 typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline); 3978 typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports); 3979 typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors); 3980 typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth); 3981 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor); 3982 typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]); 3983 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds); 3984 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask); 3985 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask); 3986 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference); 3987 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); 3988 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType); 3989 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets); 3990 typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance); 3991 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance); 3992 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); 3993 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); 3994 typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ); 3995 typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset); 3996 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions); 3997 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions); 3998 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter); 3999 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions); 4000 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions); 4001 typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData); 4002 typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data); 4003 typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); 4004 typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); 4005 typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects); 4006 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions); 4007 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask); 4008 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask); 4009 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); 4010 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); 4011 typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags); 4012 typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query); 4013 typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount); 4014 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query); 4015 typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags); 4016 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues); 4017 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents); 4018 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents); 4019 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer); 4020 typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers); 4021 4022 #ifndef VK_NO_PROTOTYPES 4023 VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance( 4024 const VkInstanceCreateInfo* pCreateInfo, 4025 const VkAllocationCallbacks* pAllocator, 4026 VkInstance* pInstance); 4027 4028 VKAPI_ATTR void VKAPI_CALL vkDestroyInstance( 4029 VkInstance instance, 4030 const VkAllocationCallbacks* pAllocator); 4031 4032 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices( 4033 VkInstance instance, 4034 uint32_t* pPhysicalDeviceCount, 4035 VkPhysicalDevice* pPhysicalDevices); 4036 4037 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures( 4038 VkPhysicalDevice physicalDevice, 4039 VkPhysicalDeviceFeatures* pFeatures); 4040 4041 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties( 4042 VkPhysicalDevice physicalDevice, 4043 VkFormat format, 4044 VkFormatProperties* pFormatProperties); 4045 4046 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties( 4047 VkPhysicalDevice physicalDevice, 4048 VkFormat format, 4049 VkImageType type, 4050 VkImageTiling tiling, 4051 VkImageUsageFlags usage, 4052 VkImageCreateFlags flags, 4053 VkImageFormatProperties* pImageFormatProperties); 4054 4055 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties( 4056 VkPhysicalDevice physicalDevice, 4057 VkPhysicalDeviceProperties* pProperties); 4058 4059 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties( 4060 VkPhysicalDevice physicalDevice, 4061 uint32_t* pQueueFamilyPropertyCount, 4062 VkQueueFamilyProperties* pQueueFamilyProperties); 4063 4064 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties( 4065 VkPhysicalDevice physicalDevice, 4066 VkPhysicalDeviceMemoryProperties* pMemoryProperties); 4067 4068 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr( 4069 VkInstance instance, 4070 const char* pName); 4071 4072 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr( 4073 VkDevice device, 4074 const char* pName); 4075 4076 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice( 4077 VkPhysicalDevice physicalDevice, 4078 const VkDeviceCreateInfo* pCreateInfo, 4079 const VkAllocationCallbacks* pAllocator, 4080 VkDevice* pDevice); 4081 4082 VKAPI_ATTR void VKAPI_CALL vkDestroyDevice( 4083 VkDevice device, 4084 const VkAllocationCallbacks* pAllocator); 4085 4086 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties( 4087 const char* pLayerName, 4088 uint32_t* pPropertyCount, 4089 VkExtensionProperties* pProperties); 4090 4091 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties( 4092 VkPhysicalDevice physicalDevice, 4093 const char* pLayerName, 4094 uint32_t* pPropertyCount, 4095 VkExtensionProperties* pProperties); 4096 4097 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties( 4098 uint32_t* pPropertyCount, 4099 VkLayerProperties* pProperties); 4100 4101 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties( 4102 VkPhysicalDevice physicalDevice, 4103 uint32_t* pPropertyCount, 4104 VkLayerProperties* pProperties); 4105 4106 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue( 4107 VkDevice device, 4108 uint32_t queueFamilyIndex, 4109 uint32_t queueIndex, 4110 VkQueue* pQueue); 4111 4112 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit( 4113 VkQueue queue, 4114 uint32_t submitCount, 4115 const VkSubmitInfo* pSubmits, 4116 VkFence fence); 4117 4118 VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle( 4119 VkQueue queue); 4120 4121 VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle( 4122 VkDevice device); 4123 4124 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory( 4125 VkDevice device, 4126 const VkMemoryAllocateInfo* pAllocateInfo, 4127 const VkAllocationCallbacks* pAllocator, 4128 VkDeviceMemory* pMemory); 4129 4130 VKAPI_ATTR void VKAPI_CALL vkFreeMemory( 4131 VkDevice device, 4132 VkDeviceMemory memory, 4133 const VkAllocationCallbacks* pAllocator); 4134 4135 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory( 4136 VkDevice device, 4137 VkDeviceMemory memory, 4138 VkDeviceSize offset, 4139 VkDeviceSize size, 4140 VkMemoryMapFlags flags, 4141 void** ppData); 4142 4143 VKAPI_ATTR void VKAPI_CALL vkUnmapMemory( 4144 VkDevice device, 4145 VkDeviceMemory memory); 4146 4147 VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges( 4148 VkDevice device, 4149 uint32_t memoryRangeCount, 4150 const VkMappedMemoryRange* pMemoryRanges); 4151 4152 VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges( 4153 VkDevice device, 4154 uint32_t memoryRangeCount, 4155 const VkMappedMemoryRange* pMemoryRanges); 4156 4157 VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment( 4158 VkDevice device, 4159 VkDeviceMemory memory, 4160 VkDeviceSize* pCommittedMemoryInBytes); 4161 4162 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory( 4163 VkDevice device, 4164 VkBuffer buffer, 4165 VkDeviceMemory memory, 4166 VkDeviceSize memoryOffset); 4167 4168 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory( 4169 VkDevice device, 4170 VkImage image, 4171 VkDeviceMemory memory, 4172 VkDeviceSize memoryOffset); 4173 4174 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements( 4175 VkDevice device, 4176 VkBuffer buffer, 4177 VkMemoryRequirements* pMemoryRequirements); 4178 4179 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements( 4180 VkDevice device, 4181 VkImage image, 4182 VkMemoryRequirements* pMemoryRequirements); 4183 4184 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements( 4185 VkDevice device, 4186 VkImage image, 4187 uint32_t* pSparseMemoryRequirementCount, 4188 VkSparseImageMemoryRequirements* pSparseMemoryRequirements); 4189 4190 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties( 4191 VkPhysicalDevice physicalDevice, 4192 VkFormat format, 4193 VkImageType type, 4194 VkSampleCountFlagBits samples, 4195 VkImageUsageFlags usage, 4196 VkImageTiling tiling, 4197 uint32_t* pPropertyCount, 4198 VkSparseImageFormatProperties* pProperties); 4199 4200 VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse( 4201 VkQueue queue, 4202 uint32_t bindInfoCount, 4203 const VkBindSparseInfo* pBindInfo, 4204 VkFence fence); 4205 4206 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence( 4207 VkDevice device, 4208 const VkFenceCreateInfo* pCreateInfo, 4209 const VkAllocationCallbacks* pAllocator, 4210 VkFence* pFence); 4211 4212 VKAPI_ATTR void VKAPI_CALL vkDestroyFence( 4213 VkDevice device, 4214 VkFence fence, 4215 const VkAllocationCallbacks* pAllocator); 4216 4217 VKAPI_ATTR VkResult VKAPI_CALL vkResetFences( 4218 VkDevice device, 4219 uint32_t fenceCount, 4220 const VkFence* pFences); 4221 4222 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus( 4223 VkDevice device, 4224 VkFence fence); 4225 4226 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences( 4227 VkDevice device, 4228 uint32_t fenceCount, 4229 const VkFence* pFences, 4230 VkBool32 waitAll, 4231 uint64_t timeout); 4232 4233 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore( 4234 VkDevice device, 4235 const VkSemaphoreCreateInfo* pCreateInfo, 4236 const VkAllocationCallbacks* pAllocator, 4237 VkSemaphore* pSemaphore); 4238 4239 VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore( 4240 VkDevice device, 4241 VkSemaphore semaphore, 4242 const VkAllocationCallbacks* pAllocator); 4243 4244 VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent( 4245 VkDevice device, 4246 const VkEventCreateInfo* pCreateInfo, 4247 const VkAllocationCallbacks* pAllocator, 4248 VkEvent* pEvent); 4249 4250 VKAPI_ATTR void VKAPI_CALL vkDestroyEvent( 4251 VkDevice device, 4252 VkEvent event, 4253 const VkAllocationCallbacks* pAllocator); 4254 4255 VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus( 4256 VkDevice device, 4257 VkEvent event); 4258 4259 VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent( 4260 VkDevice device, 4261 VkEvent event); 4262 4263 VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent( 4264 VkDevice device, 4265 VkEvent event); 4266 4267 VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool( 4268 VkDevice device, 4269 const VkQueryPoolCreateInfo* pCreateInfo, 4270 const VkAllocationCallbacks* pAllocator, 4271 VkQueryPool* pQueryPool); 4272 4273 VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool( 4274 VkDevice device, 4275 VkQueryPool queryPool, 4276 const VkAllocationCallbacks* pAllocator); 4277 4278 VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults( 4279 VkDevice device, 4280 VkQueryPool queryPool, 4281 uint32_t firstQuery, 4282 uint32_t queryCount, 4283 size_t dataSize, 4284 void* pData, 4285 VkDeviceSize stride, 4286 VkQueryResultFlags flags); 4287 4288 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer( 4289 VkDevice device, 4290 const VkBufferCreateInfo* pCreateInfo, 4291 const VkAllocationCallbacks* pAllocator, 4292 VkBuffer* pBuffer); 4293 4294 VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer( 4295 VkDevice device, 4296 VkBuffer buffer, 4297 const VkAllocationCallbacks* pAllocator); 4298 4299 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView( 4300 VkDevice device, 4301 const VkBufferViewCreateInfo* pCreateInfo, 4302 const VkAllocationCallbacks* pAllocator, 4303 VkBufferView* pView); 4304 4305 VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView( 4306 VkDevice device, 4307 VkBufferView bufferView, 4308 const VkAllocationCallbacks* pAllocator); 4309 4310 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage( 4311 VkDevice device, 4312 const VkImageCreateInfo* pCreateInfo, 4313 const VkAllocationCallbacks* pAllocator, 4314 VkImage* pImage); 4315 4316 VKAPI_ATTR void VKAPI_CALL vkDestroyImage( 4317 VkDevice device, 4318 VkImage image, 4319 const VkAllocationCallbacks* pAllocator); 4320 4321 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout( 4322 VkDevice device, 4323 VkImage image, 4324 const VkImageSubresource* pSubresource, 4325 VkSubresourceLayout* pLayout); 4326 4327 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView( 4328 VkDevice device, 4329 const VkImageViewCreateInfo* pCreateInfo, 4330 const VkAllocationCallbacks* pAllocator, 4331 VkImageView* pView); 4332 4333 VKAPI_ATTR void VKAPI_CALL vkDestroyImageView( 4334 VkDevice device, 4335 VkImageView imageView, 4336 const VkAllocationCallbacks* pAllocator); 4337 4338 VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule( 4339 VkDevice device, 4340 const VkShaderModuleCreateInfo* pCreateInfo, 4341 const VkAllocationCallbacks* pAllocator, 4342 VkShaderModule* pShaderModule); 4343 4344 VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule( 4345 VkDevice device, 4346 VkShaderModule shaderModule, 4347 const VkAllocationCallbacks* pAllocator); 4348 4349 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache( 4350 VkDevice device, 4351 const VkPipelineCacheCreateInfo* pCreateInfo, 4352 const VkAllocationCallbacks* pAllocator, 4353 VkPipelineCache* pPipelineCache); 4354 4355 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache( 4356 VkDevice device, 4357 VkPipelineCache pipelineCache, 4358 const VkAllocationCallbacks* pAllocator); 4359 4360 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData( 4361 VkDevice device, 4362 VkPipelineCache pipelineCache, 4363 size_t* pDataSize, 4364 void* pData); 4365 4366 VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches( 4367 VkDevice device, 4368 VkPipelineCache dstCache, 4369 uint32_t srcCacheCount, 4370 const VkPipelineCache* pSrcCaches); 4371 4372 VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines( 4373 VkDevice device, 4374 VkPipelineCache pipelineCache, 4375 uint32_t createInfoCount, 4376 const VkGraphicsPipelineCreateInfo* pCreateInfos, 4377 const VkAllocationCallbacks* pAllocator, 4378 VkPipeline* pPipelines); 4379 4380 VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines( 4381 VkDevice device, 4382 VkPipelineCache pipelineCache, 4383 uint32_t createInfoCount, 4384 const VkComputePipelineCreateInfo* pCreateInfos, 4385 const VkAllocationCallbacks* pAllocator, 4386 VkPipeline* pPipelines); 4387 4388 VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline( 4389 VkDevice device, 4390 VkPipeline pipeline, 4391 const VkAllocationCallbacks* pAllocator); 4392 4393 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout( 4394 VkDevice device, 4395 const VkPipelineLayoutCreateInfo* pCreateInfo, 4396 const VkAllocationCallbacks* pAllocator, 4397 VkPipelineLayout* pPipelineLayout); 4398 4399 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout( 4400 VkDevice device, 4401 VkPipelineLayout pipelineLayout, 4402 const VkAllocationCallbacks* pAllocator); 4403 4404 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler( 4405 VkDevice device, 4406 const VkSamplerCreateInfo* pCreateInfo, 4407 const VkAllocationCallbacks* pAllocator, 4408 VkSampler* pSampler); 4409 4410 VKAPI_ATTR void VKAPI_CALL vkDestroySampler( 4411 VkDevice device, 4412 VkSampler sampler, 4413 const VkAllocationCallbacks* pAllocator); 4414 4415 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout( 4416 VkDevice device, 4417 const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 4418 const VkAllocationCallbacks* pAllocator, 4419 VkDescriptorSetLayout* pSetLayout); 4420 4421 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout( 4422 VkDevice device, 4423 VkDescriptorSetLayout descriptorSetLayout, 4424 const VkAllocationCallbacks* pAllocator); 4425 4426 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool( 4427 VkDevice device, 4428 const VkDescriptorPoolCreateInfo* pCreateInfo, 4429 const VkAllocationCallbacks* pAllocator, 4430 VkDescriptorPool* pDescriptorPool); 4431 4432 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool( 4433 VkDevice device, 4434 VkDescriptorPool descriptorPool, 4435 const VkAllocationCallbacks* pAllocator); 4436 4437 VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool( 4438 VkDevice device, 4439 VkDescriptorPool descriptorPool, 4440 VkDescriptorPoolResetFlags flags); 4441 4442 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets( 4443 VkDevice device, 4444 const VkDescriptorSetAllocateInfo* pAllocateInfo, 4445 VkDescriptorSet* pDescriptorSets); 4446 4447 VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets( 4448 VkDevice device, 4449 VkDescriptorPool descriptorPool, 4450 uint32_t descriptorSetCount, 4451 const VkDescriptorSet* pDescriptorSets); 4452 4453 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets( 4454 VkDevice device, 4455 uint32_t descriptorWriteCount, 4456 const VkWriteDescriptorSet* pDescriptorWrites, 4457 uint32_t descriptorCopyCount, 4458 const VkCopyDescriptorSet* pDescriptorCopies); 4459 4460 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer( 4461 VkDevice device, 4462 const VkFramebufferCreateInfo* pCreateInfo, 4463 const VkAllocationCallbacks* pAllocator, 4464 VkFramebuffer* pFramebuffer); 4465 4466 VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer( 4467 VkDevice device, 4468 VkFramebuffer framebuffer, 4469 const VkAllocationCallbacks* pAllocator); 4470 4471 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass( 4472 VkDevice device, 4473 const VkRenderPassCreateInfo* pCreateInfo, 4474 const VkAllocationCallbacks* pAllocator, 4475 VkRenderPass* pRenderPass); 4476 4477 VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass( 4478 VkDevice device, 4479 VkRenderPass renderPass, 4480 const VkAllocationCallbacks* pAllocator); 4481 4482 VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity( 4483 VkDevice device, 4484 VkRenderPass renderPass, 4485 VkExtent2D* pGranularity); 4486 4487 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool( 4488 VkDevice device, 4489 const VkCommandPoolCreateInfo* pCreateInfo, 4490 const VkAllocationCallbacks* pAllocator, 4491 VkCommandPool* pCommandPool); 4492 4493 VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool( 4494 VkDevice device, 4495 VkCommandPool commandPool, 4496 const VkAllocationCallbacks* pAllocator); 4497 4498 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool( 4499 VkDevice device, 4500 VkCommandPool commandPool, 4501 VkCommandPoolResetFlags flags); 4502 4503 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers( 4504 VkDevice device, 4505 const VkCommandBufferAllocateInfo* pAllocateInfo, 4506 VkCommandBuffer* pCommandBuffers); 4507 4508 VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers( 4509 VkDevice device, 4510 VkCommandPool commandPool, 4511 uint32_t commandBufferCount, 4512 const VkCommandBuffer* pCommandBuffers); 4513 4514 VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer( 4515 VkCommandBuffer commandBuffer, 4516 const VkCommandBufferBeginInfo* pBeginInfo); 4517 4518 VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer( 4519 VkCommandBuffer commandBuffer); 4520 4521 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer( 4522 VkCommandBuffer commandBuffer, 4523 VkCommandBufferResetFlags flags); 4524 4525 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline( 4526 VkCommandBuffer commandBuffer, 4527 VkPipelineBindPoint pipelineBindPoint, 4528 VkPipeline pipeline); 4529 4530 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport( 4531 VkCommandBuffer commandBuffer, 4532 uint32_t firstViewport, 4533 uint32_t viewportCount, 4534 const VkViewport* pViewports); 4535 4536 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor( 4537 VkCommandBuffer commandBuffer, 4538 uint32_t firstScissor, 4539 uint32_t scissorCount, 4540 const VkRect2D* pScissors); 4541 4542 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth( 4543 VkCommandBuffer commandBuffer, 4544 float lineWidth); 4545 4546 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias( 4547 VkCommandBuffer commandBuffer, 4548 float depthBiasConstantFactor, 4549 float depthBiasClamp, 4550 float depthBiasSlopeFactor); 4551 4552 VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants( 4553 VkCommandBuffer commandBuffer, 4554 const float blendConstants[4]); 4555 4556 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds( 4557 VkCommandBuffer commandBuffer, 4558 float minDepthBounds, 4559 float maxDepthBounds); 4560 4561 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask( 4562 VkCommandBuffer commandBuffer, 4563 VkStencilFaceFlags faceMask, 4564 uint32_t compareMask); 4565 4566 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask( 4567 VkCommandBuffer commandBuffer, 4568 VkStencilFaceFlags faceMask, 4569 uint32_t writeMask); 4570 4571 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference( 4572 VkCommandBuffer commandBuffer, 4573 VkStencilFaceFlags faceMask, 4574 uint32_t reference); 4575 4576 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets( 4577 VkCommandBuffer commandBuffer, 4578 VkPipelineBindPoint pipelineBindPoint, 4579 VkPipelineLayout layout, 4580 uint32_t firstSet, 4581 uint32_t descriptorSetCount, 4582 const VkDescriptorSet* pDescriptorSets, 4583 uint32_t dynamicOffsetCount, 4584 const uint32_t* pDynamicOffsets); 4585 4586 VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer( 4587 VkCommandBuffer commandBuffer, 4588 VkBuffer buffer, 4589 VkDeviceSize offset, 4590 VkIndexType indexType); 4591 4592 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers( 4593 VkCommandBuffer commandBuffer, 4594 uint32_t firstBinding, 4595 uint32_t bindingCount, 4596 const VkBuffer* pBuffers, 4597 const VkDeviceSize* pOffsets); 4598 4599 VKAPI_ATTR void VKAPI_CALL vkCmdDraw( 4600 VkCommandBuffer commandBuffer, 4601 uint32_t vertexCount, 4602 uint32_t instanceCount, 4603 uint32_t firstVertex, 4604 uint32_t firstInstance); 4605 4606 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed( 4607 VkCommandBuffer commandBuffer, 4608 uint32_t indexCount, 4609 uint32_t instanceCount, 4610 uint32_t firstIndex, 4611 int32_t vertexOffset, 4612 uint32_t firstInstance); 4613 4614 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect( 4615 VkCommandBuffer commandBuffer, 4616 VkBuffer buffer, 4617 VkDeviceSize offset, 4618 uint32_t drawCount, 4619 uint32_t stride); 4620 4621 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect( 4622 VkCommandBuffer commandBuffer, 4623 VkBuffer buffer, 4624 VkDeviceSize offset, 4625 uint32_t drawCount, 4626 uint32_t stride); 4627 4628 VKAPI_ATTR void VKAPI_CALL vkCmdDispatch( 4629 VkCommandBuffer commandBuffer, 4630 uint32_t groupCountX, 4631 uint32_t groupCountY, 4632 uint32_t groupCountZ); 4633 4634 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect( 4635 VkCommandBuffer commandBuffer, 4636 VkBuffer buffer, 4637 VkDeviceSize offset); 4638 4639 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer( 4640 VkCommandBuffer commandBuffer, 4641 VkBuffer srcBuffer, 4642 VkBuffer dstBuffer, 4643 uint32_t regionCount, 4644 const VkBufferCopy* pRegions); 4645 4646 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage( 4647 VkCommandBuffer commandBuffer, 4648 VkImage srcImage, 4649 VkImageLayout srcImageLayout, 4650 VkImage dstImage, 4651 VkImageLayout dstImageLayout, 4652 uint32_t regionCount, 4653 const VkImageCopy* pRegions); 4654 4655 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage( 4656 VkCommandBuffer commandBuffer, 4657 VkImage srcImage, 4658 VkImageLayout srcImageLayout, 4659 VkImage dstImage, 4660 VkImageLayout dstImageLayout, 4661 uint32_t regionCount, 4662 const VkImageBlit* pRegions, 4663 VkFilter filter); 4664 4665 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage( 4666 VkCommandBuffer commandBuffer, 4667 VkBuffer srcBuffer, 4668 VkImage dstImage, 4669 VkImageLayout dstImageLayout, 4670 uint32_t regionCount, 4671 const VkBufferImageCopy* pRegions); 4672 4673 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer( 4674 VkCommandBuffer commandBuffer, 4675 VkImage srcImage, 4676 VkImageLayout srcImageLayout, 4677 VkBuffer dstBuffer, 4678 uint32_t regionCount, 4679 const VkBufferImageCopy* pRegions); 4680 4681 VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer( 4682 VkCommandBuffer commandBuffer, 4683 VkBuffer dstBuffer, 4684 VkDeviceSize dstOffset, 4685 VkDeviceSize dataSize, 4686 const void* pData); 4687 4688 VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer( 4689 VkCommandBuffer commandBuffer, 4690 VkBuffer dstBuffer, 4691 VkDeviceSize dstOffset, 4692 VkDeviceSize size, 4693 uint32_t data); 4694 4695 VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage( 4696 VkCommandBuffer commandBuffer, 4697 VkImage image, 4698 VkImageLayout imageLayout, 4699 const VkClearColorValue* pColor, 4700 uint32_t rangeCount, 4701 const VkImageSubresourceRange* pRanges); 4702 4703 VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage( 4704 VkCommandBuffer commandBuffer, 4705 VkImage image, 4706 VkImageLayout imageLayout, 4707 const VkClearDepthStencilValue* pDepthStencil, 4708 uint32_t rangeCount, 4709 const VkImageSubresourceRange* pRanges); 4710 4711 VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments( 4712 VkCommandBuffer commandBuffer, 4713 uint32_t attachmentCount, 4714 const VkClearAttachment* pAttachments, 4715 uint32_t rectCount, 4716 const VkClearRect* pRects); 4717 4718 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage( 4719 VkCommandBuffer commandBuffer, 4720 VkImage srcImage, 4721 VkImageLayout srcImageLayout, 4722 VkImage dstImage, 4723 VkImageLayout dstImageLayout, 4724 uint32_t regionCount, 4725 const VkImageResolve* pRegions); 4726 4727 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent( 4728 VkCommandBuffer commandBuffer, 4729 VkEvent event, 4730 VkPipelineStageFlags stageMask); 4731 4732 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent( 4733 VkCommandBuffer commandBuffer, 4734 VkEvent event, 4735 VkPipelineStageFlags stageMask); 4736 4737 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents( 4738 VkCommandBuffer commandBuffer, 4739 uint32_t eventCount, 4740 const VkEvent* pEvents, 4741 VkPipelineStageFlags srcStageMask, 4742 VkPipelineStageFlags dstStageMask, 4743 uint32_t memoryBarrierCount, 4744 const VkMemoryBarrier* pMemoryBarriers, 4745 uint32_t bufferMemoryBarrierCount, 4746 const VkBufferMemoryBarrier* pBufferMemoryBarriers, 4747 uint32_t imageMemoryBarrierCount, 4748 const VkImageMemoryBarrier* pImageMemoryBarriers); 4749 4750 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier( 4751 VkCommandBuffer commandBuffer, 4752 VkPipelineStageFlags srcStageMask, 4753 VkPipelineStageFlags dstStageMask, 4754 VkDependencyFlags dependencyFlags, 4755 uint32_t memoryBarrierCount, 4756 const VkMemoryBarrier* pMemoryBarriers, 4757 uint32_t bufferMemoryBarrierCount, 4758 const VkBufferMemoryBarrier* pBufferMemoryBarriers, 4759 uint32_t imageMemoryBarrierCount, 4760 const VkImageMemoryBarrier* pImageMemoryBarriers); 4761 4762 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery( 4763 VkCommandBuffer commandBuffer, 4764 VkQueryPool queryPool, 4765 uint32_t query, 4766 VkQueryControlFlags flags); 4767 4768 VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery( 4769 VkCommandBuffer commandBuffer, 4770 VkQueryPool queryPool, 4771 uint32_t query); 4772 4773 VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool( 4774 VkCommandBuffer commandBuffer, 4775 VkQueryPool queryPool, 4776 uint32_t firstQuery, 4777 uint32_t queryCount); 4778 4779 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp( 4780 VkCommandBuffer commandBuffer, 4781 VkPipelineStageFlagBits pipelineStage, 4782 VkQueryPool queryPool, 4783 uint32_t query); 4784 4785 VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults( 4786 VkCommandBuffer commandBuffer, 4787 VkQueryPool queryPool, 4788 uint32_t firstQuery, 4789 uint32_t queryCount, 4790 VkBuffer dstBuffer, 4791 VkDeviceSize dstOffset, 4792 VkDeviceSize stride, 4793 VkQueryResultFlags flags); 4794 4795 VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants( 4796 VkCommandBuffer commandBuffer, 4797 VkPipelineLayout layout, 4798 VkShaderStageFlags stageFlags, 4799 uint32_t offset, 4800 uint32_t size, 4801 const void* pValues); 4802 4803 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass( 4804 VkCommandBuffer commandBuffer, 4805 const VkRenderPassBeginInfo* pRenderPassBegin, 4806 VkSubpassContents contents); 4807 4808 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass( 4809 VkCommandBuffer commandBuffer, 4810 VkSubpassContents contents); 4811 4812 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass( 4813 VkCommandBuffer commandBuffer); 4814 4815 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands( 4816 VkCommandBuffer commandBuffer, 4817 uint32_t commandBufferCount, 4818 const VkCommandBuffer* pCommandBuffers); 4819 #endif 4820 4821 4822 #define VK_VERSION_1_1 1 4823 // Vulkan 1.1 version number 4824 #define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)// Patch version should always be set to 0 4825 4826 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion) 4827 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate) 4828 #define VK_MAX_DEVICE_GROUP_SIZE 32U 4829 #define VK_LUID_SIZE 8U 4830 #define VK_QUEUE_FAMILY_EXTERNAL (~1U) 4831 4832 typedef enum VkPointClippingBehavior { 4833 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0, 4834 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1, 4835 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES, 4836 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY, 4837 VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF 4838 } VkPointClippingBehavior; 4839 4840 typedef enum VkTessellationDomainOrigin { 4841 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0, 4842 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1, 4843 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT, 4844 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT, 4845 VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF 4846 } VkTessellationDomainOrigin; 4847 4848 typedef enum VkSamplerYcbcrModelConversion { 4849 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0, 4850 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1, 4851 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2, 4852 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3, 4853 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4, 4854 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY, 4855 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY, 4856 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709, 4857 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601, 4858 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020, 4859 VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF 4860 } VkSamplerYcbcrModelConversion; 4861 4862 typedef enum VkSamplerYcbcrRange { 4863 VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0, 4864 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1, 4865 VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL, 4866 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW, 4867 VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF 4868 } VkSamplerYcbcrRange; 4869 4870 typedef enum VkChromaLocation { 4871 VK_CHROMA_LOCATION_COSITED_EVEN = 0, 4872 VK_CHROMA_LOCATION_MIDPOINT = 1, 4873 VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN, 4874 VK_CHROMA_LOCATION_MIDPOINT_KHR = VK_CHROMA_LOCATION_MIDPOINT, 4875 VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF 4876 } VkChromaLocation; 4877 4878 typedef enum VkDescriptorUpdateTemplateType { 4879 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0, 4880 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1, 4881 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET, 4882 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF 4883 } VkDescriptorUpdateTemplateType; 4884 4885 typedef enum VkSubgroupFeatureFlagBits { 4886 VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001, 4887 VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002, 4888 VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004, 4889 VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008, 4890 VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010, 4891 VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020, 4892 VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040, 4893 VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080, 4894 VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100, 4895 VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 4896 } VkSubgroupFeatureFlagBits; 4897 typedef VkFlags VkSubgroupFeatureFlags; 4898 4899 typedef enum VkPeerMemoryFeatureFlagBits { 4900 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001, 4901 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0x00000002, 4902 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0x00000004, 4903 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0x00000008, 4904 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT, 4905 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT, 4906 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT, 4907 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT, 4908 VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 4909 } VkPeerMemoryFeatureFlagBits; 4910 typedef VkFlags VkPeerMemoryFeatureFlags; 4911 4912 typedef enum VkMemoryAllocateFlagBits { 4913 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001, 4914 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 0x00000002, 4915 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000004, 4916 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT, 4917 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT, 4918 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, 4919 VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 4920 } VkMemoryAllocateFlagBits; 4921 typedef VkFlags VkMemoryAllocateFlags; 4922 typedef VkFlags VkCommandPoolTrimFlags; 4923 typedef VkFlags VkDescriptorUpdateTemplateCreateFlags; 4924 4925 typedef enum VkExternalMemoryHandleTypeFlagBits { 4926 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001, 4927 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002, 4928 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004, 4929 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008, 4930 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010, 4931 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020, 4932 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040, 4933 VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200, 4934 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400, 4935 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080, 4936 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100, 4937 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 0x00000800, 4938 VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV = 0x00001000, 4939 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OHOS_NATIVE_BUFFER_BIT_OHOS = 0x00002000, 4940 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT, 4941 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT, 4942 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, 4943 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT, 4944 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT, 4945 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT, 4946 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT, 4947 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 4948 } VkExternalMemoryHandleTypeFlagBits; 4949 typedef VkFlags VkExternalMemoryHandleTypeFlags; 4950 4951 typedef enum VkExternalMemoryFeatureFlagBits { 4952 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0x00000001, 4953 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0x00000002, 4954 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0x00000004, 4955 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT, 4956 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT, 4957 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT, 4958 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 4959 } VkExternalMemoryFeatureFlagBits; 4960 typedef VkFlags VkExternalMemoryFeatureFlags; 4961 4962 typedef enum VkExternalFenceHandleTypeFlagBits { 4963 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001, 4964 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002, 4965 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004, 4966 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000008, 4967 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT, 4968 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT, 4969 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, 4970 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT, 4971 VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 4972 } VkExternalFenceHandleTypeFlagBits; 4973 typedef VkFlags VkExternalFenceHandleTypeFlags; 4974 4975 typedef enum VkExternalFenceFeatureFlagBits { 4976 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0x00000001, 4977 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0x00000002, 4978 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT, 4979 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT, 4980 VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 4981 } VkExternalFenceFeatureFlagBits; 4982 typedef VkFlags VkExternalFenceFeatureFlags; 4983 4984 typedef enum VkFenceImportFlagBits { 4985 VK_FENCE_IMPORT_TEMPORARY_BIT = 0x00000001, 4986 VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = VK_FENCE_IMPORT_TEMPORARY_BIT, 4987 VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 4988 } VkFenceImportFlagBits; 4989 typedef VkFlags VkFenceImportFlags; 4990 4991 typedef enum VkSemaphoreImportFlagBits { 4992 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001, 4993 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT, 4994 VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 4995 } VkSemaphoreImportFlagBits; 4996 typedef VkFlags VkSemaphoreImportFlags; 4997 4998 typedef enum VkExternalSemaphoreHandleTypeFlagBits { 4999 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001, 5000 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002, 5001 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004, 5002 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008, 5003 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010, 5004 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA = 0x00000080, 5005 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT, 5006 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT, 5007 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT, 5008 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, 5009 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT, 5010 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT, 5011 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5012 } VkExternalSemaphoreHandleTypeFlagBits; 5013 typedef VkFlags VkExternalSemaphoreHandleTypeFlags; 5014 5015 typedef enum VkExternalSemaphoreFeatureFlagBits { 5016 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0x00000001, 5017 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0x00000002, 5018 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT, 5019 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT, 5020 VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5021 } VkExternalSemaphoreFeatureFlagBits; 5022 typedef VkFlags VkExternalSemaphoreFeatureFlags; 5023 typedef struct VkPhysicalDeviceSubgroupProperties { 5024 VkStructureType sType; 5025 void* pNext; 5026 uint32_t subgroupSize; 5027 VkShaderStageFlags supportedStages; 5028 VkSubgroupFeatureFlags supportedOperations; 5029 VkBool32 quadOperationsInAllStages; 5030 } VkPhysicalDeviceSubgroupProperties; 5031 5032 typedef struct VkBindBufferMemoryInfo { 5033 VkStructureType sType; 5034 const void* pNext; 5035 VkBuffer buffer; 5036 VkDeviceMemory memory; 5037 VkDeviceSize memoryOffset; 5038 } VkBindBufferMemoryInfo; 5039 5040 typedef struct VkBindImageMemoryInfo { 5041 VkStructureType sType; 5042 const void* pNext; 5043 VkImage image; 5044 VkDeviceMemory memory; 5045 VkDeviceSize memoryOffset; 5046 } VkBindImageMemoryInfo; 5047 5048 typedef struct VkPhysicalDevice16BitStorageFeatures { 5049 VkStructureType sType; 5050 void* pNext; 5051 VkBool32 storageBuffer16BitAccess; 5052 VkBool32 uniformAndStorageBuffer16BitAccess; 5053 VkBool32 storagePushConstant16; 5054 VkBool32 storageInputOutput16; 5055 } VkPhysicalDevice16BitStorageFeatures; 5056 5057 typedef struct VkMemoryDedicatedRequirements { 5058 VkStructureType sType; 5059 void* pNext; 5060 VkBool32 prefersDedicatedAllocation; 5061 VkBool32 requiresDedicatedAllocation; 5062 } VkMemoryDedicatedRequirements; 5063 5064 typedef struct VkMemoryDedicatedAllocateInfo { 5065 VkStructureType sType; 5066 const void* pNext; 5067 VkImage image; 5068 VkBuffer buffer; 5069 } VkMemoryDedicatedAllocateInfo; 5070 5071 typedef struct VkMemoryAllocateFlagsInfo { 5072 VkStructureType sType; 5073 const void* pNext; 5074 VkMemoryAllocateFlags flags; 5075 uint32_t deviceMask; 5076 } VkMemoryAllocateFlagsInfo; 5077 5078 typedef struct VkDeviceGroupRenderPassBeginInfo { 5079 VkStructureType sType; 5080 const void* pNext; 5081 uint32_t deviceMask; 5082 uint32_t deviceRenderAreaCount; 5083 const VkRect2D* pDeviceRenderAreas; 5084 } VkDeviceGroupRenderPassBeginInfo; 5085 5086 typedef struct VkDeviceGroupCommandBufferBeginInfo { 5087 VkStructureType sType; 5088 const void* pNext; 5089 uint32_t deviceMask; 5090 } VkDeviceGroupCommandBufferBeginInfo; 5091 5092 typedef struct VkDeviceGroupSubmitInfo { 5093 VkStructureType sType; 5094 const void* pNext; 5095 uint32_t waitSemaphoreCount; 5096 const uint32_t* pWaitSemaphoreDeviceIndices; 5097 uint32_t commandBufferCount; 5098 const uint32_t* pCommandBufferDeviceMasks; 5099 uint32_t signalSemaphoreCount; 5100 const uint32_t* pSignalSemaphoreDeviceIndices; 5101 } VkDeviceGroupSubmitInfo; 5102 5103 typedef struct VkDeviceGroupBindSparseInfo { 5104 VkStructureType sType; 5105 const void* pNext; 5106 uint32_t resourceDeviceIndex; 5107 uint32_t memoryDeviceIndex; 5108 } VkDeviceGroupBindSparseInfo; 5109 5110 typedef struct VkBindBufferMemoryDeviceGroupInfo { 5111 VkStructureType sType; 5112 const void* pNext; 5113 uint32_t deviceIndexCount; 5114 const uint32_t* pDeviceIndices; 5115 } VkBindBufferMemoryDeviceGroupInfo; 5116 5117 typedef struct VkBindImageMemoryDeviceGroupInfo { 5118 VkStructureType sType; 5119 const void* pNext; 5120 uint32_t deviceIndexCount; 5121 const uint32_t* pDeviceIndices; 5122 uint32_t splitInstanceBindRegionCount; 5123 const VkRect2D* pSplitInstanceBindRegions; 5124 } VkBindImageMemoryDeviceGroupInfo; 5125 5126 typedef struct VkPhysicalDeviceGroupProperties { 5127 VkStructureType sType; 5128 void* pNext; 5129 uint32_t physicalDeviceCount; 5130 VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE]; 5131 VkBool32 subsetAllocation; 5132 } VkPhysicalDeviceGroupProperties; 5133 5134 typedef struct VkDeviceGroupDeviceCreateInfo { 5135 VkStructureType sType; 5136 const void* pNext; 5137 uint32_t physicalDeviceCount; 5138 const VkPhysicalDevice* pPhysicalDevices; 5139 } VkDeviceGroupDeviceCreateInfo; 5140 5141 typedef struct VkBufferMemoryRequirementsInfo2 { 5142 VkStructureType sType; 5143 const void* pNext; 5144 VkBuffer buffer; 5145 } VkBufferMemoryRequirementsInfo2; 5146 5147 typedef struct VkImageMemoryRequirementsInfo2 { 5148 VkStructureType sType; 5149 const void* pNext; 5150 VkImage image; 5151 } VkImageMemoryRequirementsInfo2; 5152 5153 typedef struct VkImageSparseMemoryRequirementsInfo2 { 5154 VkStructureType sType; 5155 const void* pNext; 5156 VkImage image; 5157 } VkImageSparseMemoryRequirementsInfo2; 5158 5159 typedef struct VkMemoryRequirements2 { 5160 VkStructureType sType; 5161 void* pNext; 5162 VkMemoryRequirements memoryRequirements; 5163 } VkMemoryRequirements2; 5164 5165 typedef struct VkSparseImageMemoryRequirements2 { 5166 VkStructureType sType; 5167 void* pNext; 5168 VkSparseImageMemoryRequirements memoryRequirements; 5169 } VkSparseImageMemoryRequirements2; 5170 5171 typedef struct VkPhysicalDeviceFeatures2 { 5172 VkStructureType sType; 5173 void* pNext; 5174 VkPhysicalDeviceFeatures features; 5175 } VkPhysicalDeviceFeatures2; 5176 5177 typedef struct VkPhysicalDeviceProperties2 { 5178 VkStructureType sType; 5179 void* pNext; 5180 VkPhysicalDeviceProperties properties; 5181 } VkPhysicalDeviceProperties2; 5182 5183 typedef struct VkFormatProperties2 { 5184 VkStructureType sType; 5185 void* pNext; 5186 VkFormatProperties formatProperties; 5187 } VkFormatProperties2; 5188 5189 typedef struct VkImageFormatProperties2 { 5190 VkStructureType sType; 5191 void* pNext; 5192 VkImageFormatProperties imageFormatProperties; 5193 } VkImageFormatProperties2; 5194 5195 typedef struct VkPhysicalDeviceImageFormatInfo2 { 5196 VkStructureType sType; 5197 const void* pNext; 5198 VkFormat format; 5199 VkImageType type; 5200 VkImageTiling tiling; 5201 VkImageUsageFlags usage; 5202 VkImageCreateFlags flags; 5203 } VkPhysicalDeviceImageFormatInfo2; 5204 5205 typedef struct VkQueueFamilyProperties2 { 5206 VkStructureType sType; 5207 void* pNext; 5208 VkQueueFamilyProperties queueFamilyProperties; 5209 } VkQueueFamilyProperties2; 5210 5211 typedef struct VkPhysicalDeviceMemoryProperties2 { 5212 VkStructureType sType; 5213 void* pNext; 5214 VkPhysicalDeviceMemoryProperties memoryProperties; 5215 } VkPhysicalDeviceMemoryProperties2; 5216 5217 typedef struct VkSparseImageFormatProperties2 { 5218 VkStructureType sType; 5219 void* pNext; 5220 VkSparseImageFormatProperties properties; 5221 } VkSparseImageFormatProperties2; 5222 5223 typedef struct VkPhysicalDeviceSparseImageFormatInfo2 { 5224 VkStructureType sType; 5225 const void* pNext; 5226 VkFormat format; 5227 VkImageType type; 5228 VkSampleCountFlagBits samples; 5229 VkImageUsageFlags usage; 5230 VkImageTiling tiling; 5231 } VkPhysicalDeviceSparseImageFormatInfo2; 5232 5233 typedef struct VkPhysicalDevicePointClippingProperties { 5234 VkStructureType sType; 5235 void* pNext; 5236 VkPointClippingBehavior pointClippingBehavior; 5237 } VkPhysicalDevicePointClippingProperties; 5238 5239 typedef struct VkInputAttachmentAspectReference { 5240 uint32_t subpass; 5241 uint32_t inputAttachmentIndex; 5242 VkImageAspectFlags aspectMask; 5243 } VkInputAttachmentAspectReference; 5244 5245 typedef struct VkRenderPassInputAttachmentAspectCreateInfo { 5246 VkStructureType sType; 5247 const void* pNext; 5248 uint32_t aspectReferenceCount; 5249 const VkInputAttachmentAspectReference* pAspectReferences; 5250 } VkRenderPassInputAttachmentAspectCreateInfo; 5251 5252 typedef struct VkImageViewUsageCreateInfo { 5253 VkStructureType sType; 5254 const void* pNext; 5255 VkImageUsageFlags usage; 5256 } VkImageViewUsageCreateInfo; 5257 5258 typedef struct VkPipelineTessellationDomainOriginStateCreateInfo { 5259 VkStructureType sType; 5260 const void* pNext; 5261 VkTessellationDomainOrigin domainOrigin; 5262 } VkPipelineTessellationDomainOriginStateCreateInfo; 5263 5264 typedef struct VkRenderPassMultiviewCreateInfo { 5265 VkStructureType sType; 5266 const void* pNext; 5267 uint32_t subpassCount; 5268 const uint32_t* pViewMasks; 5269 uint32_t dependencyCount; 5270 const int32_t* pViewOffsets; 5271 uint32_t correlationMaskCount; 5272 const uint32_t* pCorrelationMasks; 5273 } VkRenderPassMultiviewCreateInfo; 5274 5275 typedef struct VkPhysicalDeviceMultiviewFeatures { 5276 VkStructureType sType; 5277 void* pNext; 5278 VkBool32 multiview; 5279 VkBool32 multiviewGeometryShader; 5280 VkBool32 multiviewTessellationShader; 5281 } VkPhysicalDeviceMultiviewFeatures; 5282 5283 typedef struct VkPhysicalDeviceMultiviewProperties { 5284 VkStructureType sType; 5285 void* pNext; 5286 uint32_t maxMultiviewViewCount; 5287 uint32_t maxMultiviewInstanceIndex; 5288 } VkPhysicalDeviceMultiviewProperties; 5289 5290 typedef struct VkPhysicalDeviceVariablePointersFeatures { 5291 VkStructureType sType; 5292 void* pNext; 5293 VkBool32 variablePointersStorageBuffer; 5294 VkBool32 variablePointers; 5295 } VkPhysicalDeviceVariablePointersFeatures; 5296 5297 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures; 5298 5299 typedef struct VkPhysicalDeviceProtectedMemoryFeatures { 5300 VkStructureType sType; 5301 void* pNext; 5302 VkBool32 protectedMemory; 5303 } VkPhysicalDeviceProtectedMemoryFeatures; 5304 5305 typedef struct VkPhysicalDeviceProtectedMemoryProperties { 5306 VkStructureType sType; 5307 void* pNext; 5308 VkBool32 protectedNoFault; 5309 } VkPhysicalDeviceProtectedMemoryProperties; 5310 5311 typedef struct VkDeviceQueueInfo2 { 5312 VkStructureType sType; 5313 const void* pNext; 5314 VkDeviceQueueCreateFlags flags; 5315 uint32_t queueFamilyIndex; 5316 uint32_t queueIndex; 5317 } VkDeviceQueueInfo2; 5318 5319 typedef struct VkProtectedSubmitInfo { 5320 VkStructureType sType; 5321 const void* pNext; 5322 VkBool32 protectedSubmit; 5323 } VkProtectedSubmitInfo; 5324 5325 typedef struct VkSamplerYcbcrConversionCreateInfo { 5326 VkStructureType sType; 5327 const void* pNext; 5328 VkFormat format; 5329 VkSamplerYcbcrModelConversion ycbcrModel; 5330 VkSamplerYcbcrRange ycbcrRange; 5331 VkComponentMapping components; 5332 VkChromaLocation xChromaOffset; 5333 VkChromaLocation yChromaOffset; 5334 VkFilter chromaFilter; 5335 VkBool32 forceExplicitReconstruction; 5336 } VkSamplerYcbcrConversionCreateInfo; 5337 5338 typedef struct VkSamplerYcbcrConversionInfo { 5339 VkStructureType sType; 5340 const void* pNext; 5341 VkSamplerYcbcrConversion conversion; 5342 } VkSamplerYcbcrConversionInfo; 5343 5344 typedef struct VkBindImagePlaneMemoryInfo { 5345 VkStructureType sType; 5346 const void* pNext; 5347 VkImageAspectFlagBits planeAspect; 5348 } VkBindImagePlaneMemoryInfo; 5349 5350 typedef struct VkImagePlaneMemoryRequirementsInfo { 5351 VkStructureType sType; 5352 const void* pNext; 5353 VkImageAspectFlagBits planeAspect; 5354 } VkImagePlaneMemoryRequirementsInfo; 5355 5356 typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures { 5357 VkStructureType sType; 5358 void* pNext; 5359 VkBool32 samplerYcbcrConversion; 5360 } VkPhysicalDeviceSamplerYcbcrConversionFeatures; 5361 5362 typedef struct VkSamplerYcbcrConversionImageFormatProperties { 5363 VkStructureType sType; 5364 void* pNext; 5365 uint32_t combinedImageSamplerDescriptorCount; 5366 } VkSamplerYcbcrConversionImageFormatProperties; 5367 5368 typedef struct VkDescriptorUpdateTemplateEntry { 5369 uint32_t dstBinding; 5370 uint32_t dstArrayElement; 5371 uint32_t descriptorCount; 5372 VkDescriptorType descriptorType; 5373 size_t offset; 5374 size_t stride; 5375 } VkDescriptorUpdateTemplateEntry; 5376 5377 typedef struct VkDescriptorUpdateTemplateCreateInfo { 5378 VkStructureType sType; 5379 const void* pNext; 5380 VkDescriptorUpdateTemplateCreateFlags flags; 5381 uint32_t descriptorUpdateEntryCount; 5382 const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries; 5383 VkDescriptorUpdateTemplateType templateType; 5384 VkDescriptorSetLayout descriptorSetLayout; 5385 VkPipelineBindPoint pipelineBindPoint; 5386 VkPipelineLayout pipelineLayout; 5387 uint32_t set; 5388 } VkDescriptorUpdateTemplateCreateInfo; 5389 5390 typedef struct VkExternalMemoryProperties { 5391 VkExternalMemoryFeatureFlags externalMemoryFeatures; 5392 VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes; 5393 VkExternalMemoryHandleTypeFlags compatibleHandleTypes; 5394 } VkExternalMemoryProperties; 5395 5396 typedef struct VkPhysicalDeviceExternalImageFormatInfo { 5397 VkStructureType sType; 5398 const void* pNext; 5399 VkExternalMemoryHandleTypeFlagBits handleType; 5400 } VkPhysicalDeviceExternalImageFormatInfo; 5401 5402 typedef struct VkExternalImageFormatProperties { 5403 VkStructureType sType; 5404 void* pNext; 5405 VkExternalMemoryProperties externalMemoryProperties; 5406 } VkExternalImageFormatProperties; 5407 5408 typedef struct VkPhysicalDeviceExternalBufferInfo { 5409 VkStructureType sType; 5410 const void* pNext; 5411 VkBufferCreateFlags flags; 5412 VkBufferUsageFlags usage; 5413 VkExternalMemoryHandleTypeFlagBits handleType; 5414 } VkPhysicalDeviceExternalBufferInfo; 5415 5416 typedef struct VkExternalBufferProperties { 5417 VkStructureType sType; 5418 void* pNext; 5419 VkExternalMemoryProperties externalMemoryProperties; 5420 } VkExternalBufferProperties; 5421 5422 typedef struct VkPhysicalDeviceIDProperties { 5423 VkStructureType sType; 5424 void* pNext; 5425 uint8_t deviceUUID[VK_UUID_SIZE]; 5426 uint8_t driverUUID[VK_UUID_SIZE]; 5427 uint8_t deviceLUID[VK_LUID_SIZE]; 5428 uint32_t deviceNodeMask; 5429 VkBool32 deviceLUIDValid; 5430 } VkPhysicalDeviceIDProperties; 5431 5432 typedef struct VkExternalMemoryImageCreateInfo { 5433 VkStructureType sType; 5434 const void* pNext; 5435 VkExternalMemoryHandleTypeFlags handleTypes; 5436 } VkExternalMemoryImageCreateInfo; 5437 5438 typedef struct VkExternalMemoryBufferCreateInfo { 5439 VkStructureType sType; 5440 const void* pNext; 5441 VkExternalMemoryHandleTypeFlags handleTypes; 5442 } VkExternalMemoryBufferCreateInfo; 5443 5444 typedef struct VkExportMemoryAllocateInfo { 5445 VkStructureType sType; 5446 const void* pNext; 5447 VkExternalMemoryHandleTypeFlags handleTypes; 5448 } VkExportMemoryAllocateInfo; 5449 5450 typedef struct VkPhysicalDeviceExternalFenceInfo { 5451 VkStructureType sType; 5452 const void* pNext; 5453 VkExternalFenceHandleTypeFlagBits handleType; 5454 } VkPhysicalDeviceExternalFenceInfo; 5455 5456 typedef struct VkExternalFenceProperties { 5457 VkStructureType sType; 5458 void* pNext; 5459 VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes; 5460 VkExternalFenceHandleTypeFlags compatibleHandleTypes; 5461 VkExternalFenceFeatureFlags externalFenceFeatures; 5462 } VkExternalFenceProperties; 5463 5464 typedef struct VkExportFenceCreateInfo { 5465 VkStructureType sType; 5466 const void* pNext; 5467 VkExternalFenceHandleTypeFlags handleTypes; 5468 } VkExportFenceCreateInfo; 5469 5470 typedef struct VkExportSemaphoreCreateInfo { 5471 VkStructureType sType; 5472 const void* pNext; 5473 VkExternalSemaphoreHandleTypeFlags handleTypes; 5474 } VkExportSemaphoreCreateInfo; 5475 5476 typedef struct VkPhysicalDeviceExternalSemaphoreInfo { 5477 VkStructureType sType; 5478 const void* pNext; 5479 VkExternalSemaphoreHandleTypeFlagBits handleType; 5480 } VkPhysicalDeviceExternalSemaphoreInfo; 5481 5482 typedef struct VkExternalSemaphoreProperties { 5483 VkStructureType sType; 5484 void* pNext; 5485 VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes; 5486 VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes; 5487 VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures; 5488 } VkExternalSemaphoreProperties; 5489 5490 typedef struct VkPhysicalDeviceMaintenance3Properties { 5491 VkStructureType sType; 5492 void* pNext; 5493 uint32_t maxPerSetDescriptors; 5494 VkDeviceSize maxMemoryAllocationSize; 5495 } VkPhysicalDeviceMaintenance3Properties; 5496 5497 typedef struct VkDescriptorSetLayoutSupport { 5498 VkStructureType sType; 5499 void* pNext; 5500 VkBool32 supported; 5501 } VkDescriptorSetLayoutSupport; 5502 5503 typedef struct VkPhysicalDeviceShaderDrawParametersFeatures { 5504 VkStructureType sType; 5505 void* pNext; 5506 VkBool32 shaderDrawParameters; 5507 } VkPhysicalDeviceShaderDrawParametersFeatures; 5508 5509 typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures; 5510 5511 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceVersion)(uint32_t* pApiVersion); 5512 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos); 5513 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos); 5514 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 5515 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, uint32_t deviceMask); 5516 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); 5517 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 5518 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); 5519 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); 5520 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 5521 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures); 5522 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties); 5523 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties); 5524 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties); 5525 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties); 5526 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 5527 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties); 5528 typedef void (VKAPI_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags); 5529 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue); 5530 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion); 5531 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator); 5532 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 5533 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator); 5534 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData); 5535 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties); 5536 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties); 5537 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 5538 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport); 5539 5540 #ifndef VK_NO_PROTOTYPES 5541 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceVersion( 5542 uint32_t* pApiVersion); 5543 5544 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2( 5545 VkDevice device, 5546 uint32_t bindInfoCount, 5547 const VkBindBufferMemoryInfo* pBindInfos); 5548 5549 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2( 5550 VkDevice device, 5551 uint32_t bindInfoCount, 5552 const VkBindImageMemoryInfo* pBindInfos); 5553 5554 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeatures( 5555 VkDevice device, 5556 uint32_t heapIndex, 5557 uint32_t localDeviceIndex, 5558 uint32_t remoteDeviceIndex, 5559 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 5560 5561 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMask( 5562 VkCommandBuffer commandBuffer, 5563 uint32_t deviceMask); 5564 5565 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBase( 5566 VkCommandBuffer commandBuffer, 5567 uint32_t baseGroupX, 5568 uint32_t baseGroupY, 5569 uint32_t baseGroupZ, 5570 uint32_t groupCountX, 5571 uint32_t groupCountY, 5572 uint32_t groupCountZ); 5573 5574 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroups( 5575 VkInstance instance, 5576 uint32_t* pPhysicalDeviceGroupCount, 5577 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 5578 5579 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2( 5580 VkDevice device, 5581 const VkImageMemoryRequirementsInfo2* pInfo, 5582 VkMemoryRequirements2* pMemoryRequirements); 5583 5584 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2( 5585 VkDevice device, 5586 const VkBufferMemoryRequirementsInfo2* pInfo, 5587 VkMemoryRequirements2* pMemoryRequirements); 5588 5589 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2( 5590 VkDevice device, 5591 const VkImageSparseMemoryRequirementsInfo2* pInfo, 5592 uint32_t* pSparseMemoryRequirementCount, 5593 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 5594 5595 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2( 5596 VkPhysicalDevice physicalDevice, 5597 VkPhysicalDeviceFeatures2* pFeatures); 5598 5599 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2( 5600 VkPhysicalDevice physicalDevice, 5601 VkPhysicalDeviceProperties2* pProperties); 5602 5603 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2( 5604 VkPhysicalDevice physicalDevice, 5605 VkFormat format, 5606 VkFormatProperties2* pFormatProperties); 5607 5608 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2( 5609 VkPhysicalDevice physicalDevice, 5610 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, 5611 VkImageFormatProperties2* pImageFormatProperties); 5612 5613 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2( 5614 VkPhysicalDevice physicalDevice, 5615 uint32_t* pQueueFamilyPropertyCount, 5616 VkQueueFamilyProperties2* pQueueFamilyProperties); 5617 5618 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2( 5619 VkPhysicalDevice physicalDevice, 5620 VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 5621 5622 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2( 5623 VkPhysicalDevice physicalDevice, 5624 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, 5625 uint32_t* pPropertyCount, 5626 VkSparseImageFormatProperties2* pProperties); 5627 5628 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPool( 5629 VkDevice device, 5630 VkCommandPool commandPool, 5631 VkCommandPoolTrimFlags flags); 5632 5633 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue2( 5634 VkDevice device, 5635 const VkDeviceQueueInfo2* pQueueInfo, 5636 VkQueue* pQueue); 5637 5638 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversion( 5639 VkDevice device, 5640 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, 5641 const VkAllocationCallbacks* pAllocator, 5642 VkSamplerYcbcrConversion* pYcbcrConversion); 5643 5644 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversion( 5645 VkDevice device, 5646 VkSamplerYcbcrConversion ycbcrConversion, 5647 const VkAllocationCallbacks* pAllocator); 5648 5649 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplate( 5650 VkDevice device, 5651 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, 5652 const VkAllocationCallbacks* pAllocator, 5653 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 5654 5655 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplate( 5656 VkDevice device, 5657 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 5658 const VkAllocationCallbacks* pAllocator); 5659 5660 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplate( 5661 VkDevice device, 5662 VkDescriptorSet descriptorSet, 5663 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 5664 const void* pData); 5665 5666 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties( 5667 VkPhysicalDevice physicalDevice, 5668 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, 5669 VkExternalBufferProperties* pExternalBufferProperties); 5670 5671 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFenceProperties( 5672 VkPhysicalDevice physicalDevice, 5673 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, 5674 VkExternalFenceProperties* pExternalFenceProperties); 5675 5676 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphoreProperties( 5677 VkPhysicalDevice physicalDevice, 5678 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, 5679 VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 5680 5681 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport( 5682 VkDevice device, 5683 const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 5684 VkDescriptorSetLayoutSupport* pSupport); 5685 #endif 5686 5687 5688 #define VK_VERSION_1_2 1 5689 // Vulkan 1.2 version number 5690 #define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)// Patch version should always be set to 0 5691 5692 #define VK_MAX_DRIVER_NAME_SIZE 256U 5693 #define VK_MAX_DRIVER_INFO_SIZE 256U 5694 5695 typedef enum VkDriverId { 5696 VK_DRIVER_ID_AMD_PROPRIETARY = 1, 5697 VK_DRIVER_ID_AMD_OPEN_SOURCE = 2, 5698 VK_DRIVER_ID_MESA_RADV = 3, 5699 VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4, 5700 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5, 5701 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6, 5702 VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7, 5703 VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8, 5704 VK_DRIVER_ID_ARM_PROPRIETARY = 9, 5705 VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10, 5706 VK_DRIVER_ID_GGP_PROPRIETARY = 11, 5707 VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12, 5708 VK_DRIVER_ID_MESA_LLVMPIPE = 13, 5709 VK_DRIVER_ID_MOLTENVK = 14, 5710 VK_DRIVER_ID_COREAVI_PROPRIETARY = 15, 5711 VK_DRIVER_ID_JUICE_PROPRIETARY = 16, 5712 VK_DRIVER_ID_VERISILICON_PROPRIETARY = 17, 5713 VK_DRIVER_ID_MESA_TURNIP = 18, 5714 VK_DRIVER_ID_MESA_V3DV = 19, 5715 VK_DRIVER_ID_MESA_PANVK = 20, 5716 VK_DRIVER_ID_SAMSUNG_PROPRIETARY = 21, 5717 VK_DRIVER_ID_MESA_VENUS = 22, 5718 VK_DRIVER_ID_MESA_DOZEN = 23, 5719 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY, 5720 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE, 5721 VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV, 5722 VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR = VK_DRIVER_ID_NVIDIA_PROPRIETARY, 5723 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS, 5724 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA, 5725 VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR = VK_DRIVER_ID_IMAGINATION_PROPRIETARY, 5726 VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR = VK_DRIVER_ID_QUALCOMM_PROPRIETARY, 5727 VK_DRIVER_ID_ARM_PROPRIETARY_KHR = VK_DRIVER_ID_ARM_PROPRIETARY, 5728 VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR = VK_DRIVER_ID_GOOGLE_SWIFTSHADER, 5729 VK_DRIVER_ID_GGP_PROPRIETARY_KHR = VK_DRIVER_ID_GGP_PROPRIETARY, 5730 VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR = VK_DRIVER_ID_BROADCOM_PROPRIETARY, 5731 VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF 5732 } VkDriverId; 5733 5734 typedef enum VkShaderFloatControlsIndependence { 5735 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0, 5736 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1, 5737 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2, 5738 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY, 5739 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL, 5740 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE, 5741 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM = 0x7FFFFFFF 5742 } VkShaderFloatControlsIndependence; 5743 5744 typedef enum VkSamplerReductionMode { 5745 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0, 5746 VK_SAMPLER_REDUCTION_MODE_MIN = 1, 5747 VK_SAMPLER_REDUCTION_MODE_MAX = 2, 5748 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, 5749 VK_SAMPLER_REDUCTION_MODE_MIN_EXT = VK_SAMPLER_REDUCTION_MODE_MIN, 5750 VK_SAMPLER_REDUCTION_MODE_MAX_EXT = VK_SAMPLER_REDUCTION_MODE_MAX, 5751 VK_SAMPLER_REDUCTION_MODE_MAX_ENUM = 0x7FFFFFFF 5752 } VkSamplerReductionMode; 5753 5754 typedef enum VkSemaphoreType { 5755 VK_SEMAPHORE_TYPE_BINARY = 0, 5756 VK_SEMAPHORE_TYPE_TIMELINE = 1, 5757 VK_SEMAPHORE_TYPE_BINARY_KHR = VK_SEMAPHORE_TYPE_BINARY, 5758 VK_SEMAPHORE_TYPE_TIMELINE_KHR = VK_SEMAPHORE_TYPE_TIMELINE, 5759 VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF 5760 } VkSemaphoreType; 5761 5762 typedef enum VkResolveModeFlagBits { 5763 VK_RESOLVE_MODE_NONE = 0, 5764 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 0x00000001, 5765 VK_RESOLVE_MODE_AVERAGE_BIT = 0x00000002, 5766 VK_RESOLVE_MODE_MIN_BIT = 0x00000004, 5767 VK_RESOLVE_MODE_MAX_BIT = 0x00000008, 5768 VK_RESOLVE_MODE_NONE_KHR = VK_RESOLVE_MODE_NONE, 5769 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT, 5770 VK_RESOLVE_MODE_AVERAGE_BIT_KHR = VK_RESOLVE_MODE_AVERAGE_BIT, 5771 VK_RESOLVE_MODE_MIN_BIT_KHR = VK_RESOLVE_MODE_MIN_BIT, 5772 VK_RESOLVE_MODE_MAX_BIT_KHR = VK_RESOLVE_MODE_MAX_BIT, 5773 VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5774 } VkResolveModeFlagBits; 5775 typedef VkFlags VkResolveModeFlags; 5776 5777 typedef enum VkDescriptorBindingFlagBits { 5778 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 0x00000001, 5779 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 0x00000002, 5780 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 0x00000004, 5781 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 0x00000008, 5782 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT, 5783 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT, 5784 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT, 5785 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT, 5786 VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5787 } VkDescriptorBindingFlagBits; 5788 typedef VkFlags VkDescriptorBindingFlags; 5789 5790 typedef enum VkSemaphoreWaitFlagBits { 5791 VK_SEMAPHORE_WAIT_ANY_BIT = 0x00000001, 5792 VK_SEMAPHORE_WAIT_ANY_BIT_KHR = VK_SEMAPHORE_WAIT_ANY_BIT, 5793 VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5794 } VkSemaphoreWaitFlagBits; 5795 typedef VkFlags VkSemaphoreWaitFlags; 5796 typedef struct VkPhysicalDeviceVulkan11Features { 5797 VkStructureType sType; 5798 void* pNext; 5799 VkBool32 storageBuffer16BitAccess; 5800 VkBool32 uniformAndStorageBuffer16BitAccess; 5801 VkBool32 storagePushConstant16; 5802 VkBool32 storageInputOutput16; 5803 VkBool32 multiview; 5804 VkBool32 multiviewGeometryShader; 5805 VkBool32 multiviewTessellationShader; 5806 VkBool32 variablePointersStorageBuffer; 5807 VkBool32 variablePointers; 5808 VkBool32 protectedMemory; 5809 VkBool32 samplerYcbcrConversion; 5810 VkBool32 shaderDrawParameters; 5811 } VkPhysicalDeviceVulkan11Features; 5812 5813 typedef struct VkPhysicalDeviceVulkan11Properties { 5814 VkStructureType sType; 5815 void* pNext; 5816 uint8_t deviceUUID[VK_UUID_SIZE]; 5817 uint8_t driverUUID[VK_UUID_SIZE]; 5818 uint8_t deviceLUID[VK_LUID_SIZE]; 5819 uint32_t deviceNodeMask; 5820 VkBool32 deviceLUIDValid; 5821 uint32_t subgroupSize; 5822 VkShaderStageFlags subgroupSupportedStages; 5823 VkSubgroupFeatureFlags subgroupSupportedOperations; 5824 VkBool32 subgroupQuadOperationsInAllStages; 5825 VkPointClippingBehavior pointClippingBehavior; 5826 uint32_t maxMultiviewViewCount; 5827 uint32_t maxMultiviewInstanceIndex; 5828 VkBool32 protectedNoFault; 5829 uint32_t maxPerSetDescriptors; 5830 VkDeviceSize maxMemoryAllocationSize; 5831 } VkPhysicalDeviceVulkan11Properties; 5832 5833 typedef struct VkPhysicalDeviceVulkan12Features { 5834 VkStructureType sType; 5835 void* pNext; 5836 VkBool32 samplerMirrorClampToEdge; 5837 VkBool32 drawIndirectCount; 5838 VkBool32 storageBuffer8BitAccess; 5839 VkBool32 uniformAndStorageBuffer8BitAccess; 5840 VkBool32 storagePushConstant8; 5841 VkBool32 shaderBufferInt64Atomics; 5842 VkBool32 shaderSharedInt64Atomics; 5843 VkBool32 shaderFloat16; 5844 VkBool32 shaderInt8; 5845 VkBool32 descriptorIndexing; 5846 VkBool32 shaderInputAttachmentArrayDynamicIndexing; 5847 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing; 5848 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing; 5849 VkBool32 shaderUniformBufferArrayNonUniformIndexing; 5850 VkBool32 shaderSampledImageArrayNonUniformIndexing; 5851 VkBool32 shaderStorageBufferArrayNonUniformIndexing; 5852 VkBool32 shaderStorageImageArrayNonUniformIndexing; 5853 VkBool32 shaderInputAttachmentArrayNonUniformIndexing; 5854 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing; 5855 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing; 5856 VkBool32 descriptorBindingUniformBufferUpdateAfterBind; 5857 VkBool32 descriptorBindingSampledImageUpdateAfterBind; 5858 VkBool32 descriptorBindingStorageImageUpdateAfterBind; 5859 VkBool32 descriptorBindingStorageBufferUpdateAfterBind; 5860 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind; 5861 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind; 5862 VkBool32 descriptorBindingUpdateUnusedWhilePending; 5863 VkBool32 descriptorBindingPartiallyBound; 5864 VkBool32 descriptorBindingVariableDescriptorCount; 5865 VkBool32 runtimeDescriptorArray; 5866 VkBool32 samplerFilterMinmax; 5867 VkBool32 scalarBlockLayout; 5868 VkBool32 imagelessFramebuffer; 5869 VkBool32 uniformBufferStandardLayout; 5870 VkBool32 shaderSubgroupExtendedTypes; 5871 VkBool32 separateDepthStencilLayouts; 5872 VkBool32 hostQueryReset; 5873 VkBool32 timelineSemaphore; 5874 VkBool32 bufferDeviceAddress; 5875 VkBool32 bufferDeviceAddressCaptureReplay; 5876 VkBool32 bufferDeviceAddressMultiDevice; 5877 VkBool32 vulkanMemoryModel; 5878 VkBool32 vulkanMemoryModelDeviceScope; 5879 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains; 5880 VkBool32 shaderOutputViewportIndex; 5881 VkBool32 shaderOutputLayer; 5882 VkBool32 subgroupBroadcastDynamicId; 5883 } VkPhysicalDeviceVulkan12Features; 5884 5885 typedef struct VkConformanceVersion { 5886 uint8_t major; 5887 uint8_t minor; 5888 uint8_t subminor; 5889 uint8_t patch; 5890 } VkConformanceVersion; 5891 5892 typedef struct VkPhysicalDeviceVulkan12Properties { 5893 VkStructureType sType; 5894 void* pNext; 5895 VkDriverId driverID; 5896 char driverName[VK_MAX_DRIVER_NAME_SIZE]; 5897 char driverInfo[VK_MAX_DRIVER_INFO_SIZE]; 5898 VkConformanceVersion conformanceVersion; 5899 VkShaderFloatControlsIndependence denormBehaviorIndependence; 5900 VkShaderFloatControlsIndependence roundingModeIndependence; 5901 VkBool32 shaderSignedZeroInfNanPreserveFloat16; 5902 VkBool32 shaderSignedZeroInfNanPreserveFloat32; 5903 VkBool32 shaderSignedZeroInfNanPreserveFloat64; 5904 VkBool32 shaderDenormPreserveFloat16; 5905 VkBool32 shaderDenormPreserveFloat32; 5906 VkBool32 shaderDenormPreserveFloat64; 5907 VkBool32 shaderDenormFlushToZeroFloat16; 5908 VkBool32 shaderDenormFlushToZeroFloat32; 5909 VkBool32 shaderDenormFlushToZeroFloat64; 5910 VkBool32 shaderRoundingModeRTEFloat16; 5911 VkBool32 shaderRoundingModeRTEFloat32; 5912 VkBool32 shaderRoundingModeRTEFloat64; 5913 VkBool32 shaderRoundingModeRTZFloat16; 5914 VkBool32 shaderRoundingModeRTZFloat32; 5915 VkBool32 shaderRoundingModeRTZFloat64; 5916 uint32_t maxUpdateAfterBindDescriptorsInAllPools; 5917 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative; 5918 VkBool32 shaderSampledImageArrayNonUniformIndexingNative; 5919 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative; 5920 VkBool32 shaderStorageImageArrayNonUniformIndexingNative; 5921 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative; 5922 VkBool32 robustBufferAccessUpdateAfterBind; 5923 VkBool32 quadDivergentImplicitLod; 5924 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers; 5925 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers; 5926 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers; 5927 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages; 5928 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages; 5929 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments; 5930 uint32_t maxPerStageUpdateAfterBindResources; 5931 uint32_t maxDescriptorSetUpdateAfterBindSamplers; 5932 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers; 5933 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic; 5934 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers; 5935 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic; 5936 uint32_t maxDescriptorSetUpdateAfterBindSampledImages; 5937 uint32_t maxDescriptorSetUpdateAfterBindStorageImages; 5938 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments; 5939 VkResolveModeFlags supportedDepthResolveModes; 5940 VkResolveModeFlags supportedStencilResolveModes; 5941 VkBool32 independentResolveNone; 5942 VkBool32 independentResolve; 5943 VkBool32 filterMinmaxSingleComponentFormats; 5944 VkBool32 filterMinmaxImageComponentMapping; 5945 uint64_t maxTimelineSemaphoreValueDifference; 5946 VkSampleCountFlags framebufferIntegerColorSampleCounts; 5947 } VkPhysicalDeviceVulkan12Properties; 5948 5949 typedef struct VkImageFormatListCreateInfo { 5950 VkStructureType sType; 5951 const void* pNext; 5952 uint32_t viewFormatCount; 5953 const VkFormat* pViewFormats; 5954 } VkImageFormatListCreateInfo; 5955 5956 typedef struct VkAttachmentDescription2 { 5957 VkStructureType sType; 5958 const void* pNext; 5959 VkAttachmentDescriptionFlags flags; 5960 VkFormat format; 5961 VkSampleCountFlagBits samples; 5962 VkAttachmentLoadOp loadOp; 5963 VkAttachmentStoreOp storeOp; 5964 VkAttachmentLoadOp stencilLoadOp; 5965 VkAttachmentStoreOp stencilStoreOp; 5966 VkImageLayout initialLayout; 5967 VkImageLayout finalLayout; 5968 } VkAttachmentDescription2; 5969 5970 typedef struct VkAttachmentReference2 { 5971 VkStructureType sType; 5972 const void* pNext; 5973 uint32_t attachment; 5974 VkImageLayout layout; 5975 VkImageAspectFlags aspectMask; 5976 } VkAttachmentReference2; 5977 5978 typedef struct VkSubpassDescription2 { 5979 VkStructureType sType; 5980 const void* pNext; 5981 VkSubpassDescriptionFlags flags; 5982 VkPipelineBindPoint pipelineBindPoint; 5983 uint32_t viewMask; 5984 uint32_t inputAttachmentCount; 5985 const VkAttachmentReference2* pInputAttachments; 5986 uint32_t colorAttachmentCount; 5987 const VkAttachmentReference2* pColorAttachments; 5988 const VkAttachmentReference2* pResolveAttachments; 5989 const VkAttachmentReference2* pDepthStencilAttachment; 5990 uint32_t preserveAttachmentCount; 5991 const uint32_t* pPreserveAttachments; 5992 } VkSubpassDescription2; 5993 5994 typedef struct VkSubpassDependency2 { 5995 VkStructureType sType; 5996 const void* pNext; 5997 uint32_t srcSubpass; 5998 uint32_t dstSubpass; 5999 VkPipelineStageFlags srcStageMask; 6000 VkPipelineStageFlags dstStageMask; 6001 VkAccessFlags srcAccessMask; 6002 VkAccessFlags dstAccessMask; 6003 VkDependencyFlags dependencyFlags; 6004 int32_t viewOffset; 6005 } VkSubpassDependency2; 6006 6007 typedef struct VkRenderPassCreateInfo2 { 6008 VkStructureType sType; 6009 const void* pNext; 6010 VkRenderPassCreateFlags flags; 6011 uint32_t attachmentCount; 6012 const VkAttachmentDescription2* pAttachments; 6013 uint32_t subpassCount; 6014 const VkSubpassDescription2* pSubpasses; 6015 uint32_t dependencyCount; 6016 const VkSubpassDependency2* pDependencies; 6017 uint32_t correlatedViewMaskCount; 6018 const uint32_t* pCorrelatedViewMasks; 6019 } VkRenderPassCreateInfo2; 6020 6021 typedef struct VkSubpassBeginInfo { 6022 VkStructureType sType; 6023 const void* pNext; 6024 VkSubpassContents contents; 6025 } VkSubpassBeginInfo; 6026 6027 typedef struct VkSubpassEndInfo { 6028 VkStructureType sType; 6029 const void* pNext; 6030 } VkSubpassEndInfo; 6031 6032 typedef struct VkPhysicalDevice8BitStorageFeatures { 6033 VkStructureType sType; 6034 void* pNext; 6035 VkBool32 storageBuffer8BitAccess; 6036 VkBool32 uniformAndStorageBuffer8BitAccess; 6037 VkBool32 storagePushConstant8; 6038 } VkPhysicalDevice8BitStorageFeatures; 6039 6040 typedef struct VkPhysicalDeviceDriverProperties { 6041 VkStructureType sType; 6042 void* pNext; 6043 VkDriverId driverID; 6044 char driverName[VK_MAX_DRIVER_NAME_SIZE]; 6045 char driverInfo[VK_MAX_DRIVER_INFO_SIZE]; 6046 VkConformanceVersion conformanceVersion; 6047 } VkPhysicalDeviceDriverProperties; 6048 6049 typedef struct VkPhysicalDeviceShaderAtomicInt64Features { 6050 VkStructureType sType; 6051 void* pNext; 6052 VkBool32 shaderBufferInt64Atomics; 6053 VkBool32 shaderSharedInt64Atomics; 6054 } VkPhysicalDeviceShaderAtomicInt64Features; 6055 6056 typedef struct VkPhysicalDeviceShaderFloat16Int8Features { 6057 VkStructureType sType; 6058 void* pNext; 6059 VkBool32 shaderFloat16; 6060 VkBool32 shaderInt8; 6061 } VkPhysicalDeviceShaderFloat16Int8Features; 6062 6063 typedef struct VkPhysicalDeviceFloatControlsProperties { 6064 VkStructureType sType; 6065 void* pNext; 6066 VkShaderFloatControlsIndependence denormBehaviorIndependence; 6067 VkShaderFloatControlsIndependence roundingModeIndependence; 6068 VkBool32 shaderSignedZeroInfNanPreserveFloat16; 6069 VkBool32 shaderSignedZeroInfNanPreserveFloat32; 6070 VkBool32 shaderSignedZeroInfNanPreserveFloat64; 6071 VkBool32 shaderDenormPreserveFloat16; 6072 VkBool32 shaderDenormPreserveFloat32; 6073 VkBool32 shaderDenormPreserveFloat64; 6074 VkBool32 shaderDenormFlushToZeroFloat16; 6075 VkBool32 shaderDenormFlushToZeroFloat32; 6076 VkBool32 shaderDenormFlushToZeroFloat64; 6077 VkBool32 shaderRoundingModeRTEFloat16; 6078 VkBool32 shaderRoundingModeRTEFloat32; 6079 VkBool32 shaderRoundingModeRTEFloat64; 6080 VkBool32 shaderRoundingModeRTZFloat16; 6081 VkBool32 shaderRoundingModeRTZFloat32; 6082 VkBool32 shaderRoundingModeRTZFloat64; 6083 } VkPhysicalDeviceFloatControlsProperties; 6084 6085 typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo { 6086 VkStructureType sType; 6087 const void* pNext; 6088 uint32_t bindingCount; 6089 const VkDescriptorBindingFlags* pBindingFlags; 6090 } VkDescriptorSetLayoutBindingFlagsCreateInfo; 6091 6092 typedef struct VkPhysicalDeviceDescriptorIndexingFeatures { 6093 VkStructureType sType; 6094 void* pNext; 6095 VkBool32 shaderInputAttachmentArrayDynamicIndexing; 6096 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing; 6097 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing; 6098 VkBool32 shaderUniformBufferArrayNonUniformIndexing; 6099 VkBool32 shaderSampledImageArrayNonUniformIndexing; 6100 VkBool32 shaderStorageBufferArrayNonUniformIndexing; 6101 VkBool32 shaderStorageImageArrayNonUniformIndexing; 6102 VkBool32 shaderInputAttachmentArrayNonUniformIndexing; 6103 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing; 6104 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing; 6105 VkBool32 descriptorBindingUniformBufferUpdateAfterBind; 6106 VkBool32 descriptorBindingSampledImageUpdateAfterBind; 6107 VkBool32 descriptorBindingStorageImageUpdateAfterBind; 6108 VkBool32 descriptorBindingStorageBufferUpdateAfterBind; 6109 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind; 6110 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind; 6111 VkBool32 descriptorBindingUpdateUnusedWhilePending; 6112 VkBool32 descriptorBindingPartiallyBound; 6113 VkBool32 descriptorBindingVariableDescriptorCount; 6114 VkBool32 runtimeDescriptorArray; 6115 } VkPhysicalDeviceDescriptorIndexingFeatures; 6116 6117 typedef struct VkPhysicalDeviceDescriptorIndexingProperties { 6118 VkStructureType sType; 6119 void* pNext; 6120 uint32_t maxUpdateAfterBindDescriptorsInAllPools; 6121 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative; 6122 VkBool32 shaderSampledImageArrayNonUniformIndexingNative; 6123 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative; 6124 VkBool32 shaderStorageImageArrayNonUniformIndexingNative; 6125 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative; 6126 VkBool32 robustBufferAccessUpdateAfterBind; 6127 VkBool32 quadDivergentImplicitLod; 6128 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers; 6129 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers; 6130 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers; 6131 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages; 6132 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages; 6133 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments; 6134 uint32_t maxPerStageUpdateAfterBindResources; 6135 uint32_t maxDescriptorSetUpdateAfterBindSamplers; 6136 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers; 6137 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic; 6138 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers; 6139 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic; 6140 uint32_t maxDescriptorSetUpdateAfterBindSampledImages; 6141 uint32_t maxDescriptorSetUpdateAfterBindStorageImages; 6142 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments; 6143 } VkPhysicalDeviceDescriptorIndexingProperties; 6144 6145 typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo { 6146 VkStructureType sType; 6147 const void* pNext; 6148 uint32_t descriptorSetCount; 6149 const uint32_t* pDescriptorCounts; 6150 } VkDescriptorSetVariableDescriptorCountAllocateInfo; 6151 6152 typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport { 6153 VkStructureType sType; 6154 void* pNext; 6155 uint32_t maxVariableDescriptorCount; 6156 } VkDescriptorSetVariableDescriptorCountLayoutSupport; 6157 6158 typedef struct VkSubpassDescriptionDepthStencilResolve { 6159 VkStructureType sType; 6160 const void* pNext; 6161 VkResolveModeFlagBits depthResolveMode; 6162 VkResolveModeFlagBits stencilResolveMode; 6163 const VkAttachmentReference2* pDepthStencilResolveAttachment; 6164 } VkSubpassDescriptionDepthStencilResolve; 6165 6166 typedef struct VkPhysicalDeviceDepthStencilResolveProperties { 6167 VkStructureType sType; 6168 void* pNext; 6169 VkResolveModeFlags supportedDepthResolveModes; 6170 VkResolveModeFlags supportedStencilResolveModes; 6171 VkBool32 independentResolveNone; 6172 VkBool32 independentResolve; 6173 } VkPhysicalDeviceDepthStencilResolveProperties; 6174 6175 typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures { 6176 VkStructureType sType; 6177 void* pNext; 6178 VkBool32 scalarBlockLayout; 6179 } VkPhysicalDeviceScalarBlockLayoutFeatures; 6180 6181 typedef struct VkImageStencilUsageCreateInfo { 6182 VkStructureType sType; 6183 const void* pNext; 6184 VkImageUsageFlags stencilUsage; 6185 } VkImageStencilUsageCreateInfo; 6186 6187 typedef struct VkSamplerReductionModeCreateInfo { 6188 VkStructureType sType; 6189 const void* pNext; 6190 VkSamplerReductionMode reductionMode; 6191 } VkSamplerReductionModeCreateInfo; 6192 6193 typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties { 6194 VkStructureType sType; 6195 void* pNext; 6196 VkBool32 filterMinmaxSingleComponentFormats; 6197 VkBool32 filterMinmaxImageComponentMapping; 6198 } VkPhysicalDeviceSamplerFilterMinmaxProperties; 6199 6200 typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures { 6201 VkStructureType sType; 6202 void* pNext; 6203 VkBool32 vulkanMemoryModel; 6204 VkBool32 vulkanMemoryModelDeviceScope; 6205 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains; 6206 } VkPhysicalDeviceVulkanMemoryModelFeatures; 6207 6208 typedef struct VkPhysicalDeviceImagelessFramebufferFeatures { 6209 VkStructureType sType; 6210 void* pNext; 6211 VkBool32 imagelessFramebuffer; 6212 } VkPhysicalDeviceImagelessFramebufferFeatures; 6213 6214 typedef struct VkFramebufferAttachmentImageInfo { 6215 VkStructureType sType; 6216 const void* pNext; 6217 VkImageCreateFlags flags; 6218 VkImageUsageFlags usage; 6219 uint32_t width; 6220 uint32_t height; 6221 uint32_t layerCount; 6222 uint32_t viewFormatCount; 6223 const VkFormat* pViewFormats; 6224 } VkFramebufferAttachmentImageInfo; 6225 6226 typedef struct VkFramebufferAttachmentsCreateInfo { 6227 VkStructureType sType; 6228 const void* pNext; 6229 uint32_t attachmentImageInfoCount; 6230 const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos; 6231 } VkFramebufferAttachmentsCreateInfo; 6232 6233 typedef struct VkRenderPassAttachmentBeginInfo { 6234 VkStructureType sType; 6235 const void* pNext; 6236 uint32_t attachmentCount; 6237 const VkImageView* pAttachments; 6238 } VkRenderPassAttachmentBeginInfo; 6239 6240 typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures { 6241 VkStructureType sType; 6242 void* pNext; 6243 VkBool32 uniformBufferStandardLayout; 6244 } VkPhysicalDeviceUniformBufferStandardLayoutFeatures; 6245 6246 typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures { 6247 VkStructureType sType; 6248 void* pNext; 6249 VkBool32 shaderSubgroupExtendedTypes; 6250 } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures; 6251 6252 typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures { 6253 VkStructureType sType; 6254 void* pNext; 6255 VkBool32 separateDepthStencilLayouts; 6256 } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures; 6257 6258 typedef struct VkAttachmentReferenceStencilLayout { 6259 VkStructureType sType; 6260 void* pNext; 6261 VkImageLayout stencilLayout; 6262 } VkAttachmentReferenceStencilLayout; 6263 6264 typedef struct VkAttachmentDescriptionStencilLayout { 6265 VkStructureType sType; 6266 void* pNext; 6267 VkImageLayout stencilInitialLayout; 6268 VkImageLayout stencilFinalLayout; 6269 } VkAttachmentDescriptionStencilLayout; 6270 6271 typedef struct VkPhysicalDeviceHostQueryResetFeatures { 6272 VkStructureType sType; 6273 void* pNext; 6274 VkBool32 hostQueryReset; 6275 } VkPhysicalDeviceHostQueryResetFeatures; 6276 6277 typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures { 6278 VkStructureType sType; 6279 void* pNext; 6280 VkBool32 timelineSemaphore; 6281 } VkPhysicalDeviceTimelineSemaphoreFeatures; 6282 6283 typedef struct VkPhysicalDeviceTimelineSemaphoreProperties { 6284 VkStructureType sType; 6285 void* pNext; 6286 uint64_t maxTimelineSemaphoreValueDifference; 6287 } VkPhysicalDeviceTimelineSemaphoreProperties; 6288 6289 typedef struct VkSemaphoreTypeCreateInfo { 6290 VkStructureType sType; 6291 const void* pNext; 6292 VkSemaphoreType semaphoreType; 6293 uint64_t initialValue; 6294 } VkSemaphoreTypeCreateInfo; 6295 6296 typedef struct VkTimelineSemaphoreSubmitInfo { 6297 VkStructureType sType; 6298 const void* pNext; 6299 uint32_t waitSemaphoreValueCount; 6300 const uint64_t* pWaitSemaphoreValues; 6301 uint32_t signalSemaphoreValueCount; 6302 const uint64_t* pSignalSemaphoreValues; 6303 } VkTimelineSemaphoreSubmitInfo; 6304 6305 typedef struct VkSemaphoreWaitInfo { 6306 VkStructureType sType; 6307 const void* pNext; 6308 VkSemaphoreWaitFlags flags; 6309 uint32_t semaphoreCount; 6310 const VkSemaphore* pSemaphores; 6311 const uint64_t* pValues; 6312 } VkSemaphoreWaitInfo; 6313 6314 typedef struct VkSemaphoreSignalInfo { 6315 VkStructureType sType; 6316 const void* pNext; 6317 VkSemaphore semaphore; 6318 uint64_t value; 6319 } VkSemaphoreSignalInfo; 6320 6321 typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures { 6322 VkStructureType sType; 6323 void* pNext; 6324 VkBool32 bufferDeviceAddress; 6325 VkBool32 bufferDeviceAddressCaptureReplay; 6326 VkBool32 bufferDeviceAddressMultiDevice; 6327 } VkPhysicalDeviceBufferDeviceAddressFeatures; 6328 6329 typedef struct VkBufferDeviceAddressInfo { 6330 VkStructureType sType; 6331 const void* pNext; 6332 VkBuffer buffer; 6333 } VkBufferDeviceAddressInfo; 6334 6335 typedef struct VkBufferOpaqueCaptureAddressCreateInfo { 6336 VkStructureType sType; 6337 const void* pNext; 6338 uint64_t opaqueCaptureAddress; 6339 } VkBufferOpaqueCaptureAddressCreateInfo; 6340 6341 typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo { 6342 VkStructureType sType; 6343 const void* pNext; 6344 uint64_t opaqueCaptureAddress; 6345 } VkMemoryOpaqueCaptureAddressAllocateInfo; 6346 6347 typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo { 6348 VkStructureType sType; 6349 const void* pNext; 6350 VkDeviceMemory memory; 6351 } VkDeviceMemoryOpaqueCaptureAddressInfo; 6352 6353 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 6354 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 6355 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); 6356 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo); 6357 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo); 6358 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo); 6359 typedef void (VKAPI_PTR *PFN_vkResetQueryPool)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount); 6360 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValue)(VkDevice device, VkSemaphore semaphore, uint64_t* pValue); 6361 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphores)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout); 6362 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphore)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo); 6363 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 6364 typedef uint64_t (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 6365 typedef uint64_t (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); 6366 6367 #ifndef VK_NO_PROTOTYPES 6368 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCount( 6369 VkCommandBuffer commandBuffer, 6370 VkBuffer buffer, 6371 VkDeviceSize offset, 6372 VkBuffer countBuffer, 6373 VkDeviceSize countBufferOffset, 6374 uint32_t maxDrawCount, 6375 uint32_t stride); 6376 6377 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCount( 6378 VkCommandBuffer commandBuffer, 6379 VkBuffer buffer, 6380 VkDeviceSize offset, 6381 VkBuffer countBuffer, 6382 VkDeviceSize countBufferOffset, 6383 uint32_t maxDrawCount, 6384 uint32_t stride); 6385 6386 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2( 6387 VkDevice device, 6388 const VkRenderPassCreateInfo2* pCreateInfo, 6389 const VkAllocationCallbacks* pAllocator, 6390 VkRenderPass* pRenderPass); 6391 6392 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2( 6393 VkCommandBuffer commandBuffer, 6394 const VkRenderPassBeginInfo* pRenderPassBegin, 6395 const VkSubpassBeginInfo* pSubpassBeginInfo); 6396 6397 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2( 6398 VkCommandBuffer commandBuffer, 6399 const VkSubpassBeginInfo* pSubpassBeginInfo, 6400 const VkSubpassEndInfo* pSubpassEndInfo); 6401 6402 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2( 6403 VkCommandBuffer commandBuffer, 6404 const VkSubpassEndInfo* pSubpassEndInfo); 6405 6406 VKAPI_ATTR void VKAPI_CALL vkResetQueryPool( 6407 VkDevice device, 6408 VkQueryPool queryPool, 6409 uint32_t firstQuery, 6410 uint32_t queryCount); 6411 6412 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValue( 6413 VkDevice device, 6414 VkSemaphore semaphore, 6415 uint64_t* pValue); 6416 6417 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphores( 6418 VkDevice device, 6419 const VkSemaphoreWaitInfo* pWaitInfo, 6420 uint64_t timeout); 6421 6422 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphore( 6423 VkDevice device, 6424 const VkSemaphoreSignalInfo* pSignalInfo); 6425 6426 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddress( 6427 VkDevice device, 6428 const VkBufferDeviceAddressInfo* pInfo); 6429 6430 VKAPI_ATTR uint64_t VKAPI_CALL vkGetBufferOpaqueCaptureAddress( 6431 VkDevice device, 6432 const VkBufferDeviceAddressInfo* pInfo); 6433 6434 VKAPI_ATTR uint64_t VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddress( 6435 VkDevice device, 6436 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); 6437 #endif 6438 6439 6440 #define VK_VERSION_1_3 1 6441 // Vulkan 1.3 version number 6442 #define VK_API_VERSION_1_3 VK_MAKE_API_VERSION(0, 1, 3, 0)// Patch version should always be set to 0 6443 6444 typedef uint64_t VkFlags64; 6445 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlot) 6446 6447 typedef enum VkPipelineCreationFeedbackFlagBits { 6448 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT = 0x00000001, 6449 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT = 0x00000002, 6450 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT = 0x00000004, 6451 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT, 6452 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT, 6453 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT, 6454 VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 6455 } VkPipelineCreationFeedbackFlagBits; 6456 typedef VkFlags VkPipelineCreationFeedbackFlags; 6457 6458 typedef enum VkToolPurposeFlagBits { 6459 VK_TOOL_PURPOSE_VALIDATION_BIT = 0x00000001, 6460 VK_TOOL_PURPOSE_PROFILING_BIT = 0x00000002, 6461 VK_TOOL_PURPOSE_TRACING_BIT = 0x00000004, 6462 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT = 0x00000008, 6463 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT = 0x00000010, 6464 VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 0x00000020, 6465 VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 0x00000040, 6466 VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = VK_TOOL_PURPOSE_VALIDATION_BIT, 6467 VK_TOOL_PURPOSE_PROFILING_BIT_EXT = VK_TOOL_PURPOSE_PROFILING_BIT, 6468 VK_TOOL_PURPOSE_TRACING_BIT_EXT = VK_TOOL_PURPOSE_TRACING_BIT, 6469 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT, 6470 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT, 6471 VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 6472 } VkToolPurposeFlagBits; 6473 typedef VkFlags VkToolPurposeFlags; 6474 typedef VkFlags VkPrivateDataSlotCreateFlags; 6475 typedef VkFlags64 VkPipelineStageFlags2; 6476 6477 // Flag bits for VkPipelineStageFlagBits2 6478 typedef VkFlags64 VkPipelineStageFlagBits2; 6479 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_NONE = 0ULL; 6480 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_NONE_KHR = 0ULL; 6481 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT = 0x00000001ULL; 6482 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR = 0x00000001ULL; 6483 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT = 0x00000002ULL; 6484 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR = 0x00000002ULL; 6485 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT = 0x00000004ULL; 6486 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR = 0x00000004ULL; 6487 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT = 0x00000008ULL; 6488 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR = 0x00000008ULL; 6489 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010ULL; 6490 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR = 0x00000010ULL; 6491 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020ULL; 6492 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR = 0x00000020ULL; 6493 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT = 0x00000040ULL; 6494 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR = 0x00000040ULL; 6495 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT = 0x00000080ULL; 6496 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR = 0x00000080ULL; 6497 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT = 0x00000100ULL; 6498 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR = 0x00000100ULL; 6499 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT = 0x00000200ULL; 6500 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR = 0x00000200ULL; 6501 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400ULL; 6502 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR = 0x00000400ULL; 6503 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT = 0x00000800ULL; 6504 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR = 0x00000800ULL; 6505 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT = 0x00001000ULL; 6506 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR = 0x00001000ULL; 6507 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFER_BIT = 0x00001000ULL; 6508 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR = 0x00001000ULL; 6509 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT = 0x00002000ULL; 6510 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR = 0x00002000ULL; 6511 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_HOST_BIT = 0x00004000ULL; 6512 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_HOST_BIT_KHR = 0x00004000ULL; 6513 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT = 0x00008000ULL; 6514 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR = 0x00008000ULL; 6515 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT = 0x00010000ULL; 6516 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR = 0x00010000ULL; 6517 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT = 0x100000000ULL; 6518 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT_KHR = 0x100000000ULL; 6519 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RESOLVE_BIT = 0x200000000ULL; 6520 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR = 0x200000000ULL; 6521 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BLIT_BIT = 0x400000000ULL; 6522 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BLIT_BIT_KHR = 0x400000000ULL; 6523 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLEAR_BIT = 0x800000000ULL; 6524 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR = 0x800000000ULL; 6525 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT = 0x1000000000ULL; 6526 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = 0x1000000000ULL; 6527 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT = 0x2000000000ULL; 6528 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = 0x2000000000ULL; 6529 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT = 0x4000000000ULL; 6530 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = 0x4000000000ULL; 6531 #ifdef VK_ENABLE_BETA_EXTENSIONS 6532 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR = 0x04000000ULL; 6533 #endif 6534 #ifdef VK_ENABLE_BETA_EXTENSIONS 6535 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR = 0x08000000ULL; 6536 #endif 6537 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000ULL; 6538 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000ULL; 6539 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = 0x00020000ULL; 6540 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000ULL; 6541 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV = 0x00400000ULL; 6542 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000ULL; 6543 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR = 0x00200000ULL; 6544 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV = 0x00200000ULL; 6545 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000ULL; 6546 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000ULL; 6547 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV = 0x00080000ULL; 6548 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = 0x00100000ULL; 6549 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT = 0x00080000ULL; 6550 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT = 0x00100000ULL; 6551 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI = 0x8000000000ULL; 6552 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI = 0x10000000000ULL; 6553 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR = 0x10000000ULL; 6554 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT = 0x40000000ULL; 6555 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV = 0x20000000ULL; 6556 6557 typedef VkFlags64 VkAccessFlags2; 6558 6559 // Flag bits for VkAccessFlagBits2 6560 typedef VkFlags64 VkAccessFlagBits2; 6561 static const VkAccessFlagBits2 VK_ACCESS_2_NONE = 0ULL; 6562 static const VkAccessFlagBits2 VK_ACCESS_2_NONE_KHR = 0ULL; 6563 static const VkAccessFlagBits2 VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT = 0x00000001ULL; 6564 static const VkAccessFlagBits2 VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR = 0x00000001ULL; 6565 static const VkAccessFlagBits2 VK_ACCESS_2_INDEX_READ_BIT = 0x00000002ULL; 6566 static const VkAccessFlagBits2 VK_ACCESS_2_INDEX_READ_BIT_KHR = 0x00000002ULL; 6567 static const VkAccessFlagBits2 VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004ULL; 6568 static const VkAccessFlagBits2 VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR = 0x00000004ULL; 6569 static const VkAccessFlagBits2 VK_ACCESS_2_UNIFORM_READ_BIT = 0x00000008ULL; 6570 static const VkAccessFlagBits2 VK_ACCESS_2_UNIFORM_READ_BIT_KHR = 0x00000008ULL; 6571 static const VkAccessFlagBits2 VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT = 0x00000010ULL; 6572 static const VkAccessFlagBits2 VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR = 0x00000010ULL; 6573 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_READ_BIT = 0x00000020ULL; 6574 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_READ_BIT_KHR = 0x00000020ULL; 6575 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_WRITE_BIT = 0x00000040ULL; 6576 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_WRITE_BIT_KHR = 0x00000040ULL; 6577 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT = 0x00000080ULL; 6578 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR = 0x00000080ULL; 6579 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100ULL; 6580 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR = 0x00000100ULL; 6581 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200ULL; 6582 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR = 0x00000200ULL; 6583 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400ULL; 6584 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR = 0x00000400ULL; 6585 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_READ_BIT = 0x00000800ULL; 6586 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_READ_BIT_KHR = 0x00000800ULL; 6587 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_WRITE_BIT = 0x00001000ULL; 6588 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR = 0x00001000ULL; 6589 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_READ_BIT = 0x00002000ULL; 6590 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_READ_BIT_KHR = 0x00002000ULL; 6591 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_WRITE_BIT = 0x00004000ULL; 6592 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_WRITE_BIT_KHR = 0x00004000ULL; 6593 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_READ_BIT = 0x00008000ULL; 6594 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_READ_BIT_KHR = 0x00008000ULL; 6595 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_WRITE_BIT = 0x00010000ULL; 6596 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_WRITE_BIT_KHR = 0x00010000ULL; 6597 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_SAMPLED_READ_BIT = 0x100000000ULL; 6598 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR = 0x100000000ULL; 6599 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT = 0x200000000ULL; 6600 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 0x200000000ULL; 6601 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT = 0x400000000ULL; 6602 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 0x400000000ULL; 6603 #ifdef VK_ENABLE_BETA_EXTENSIONS 6604 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR = 0x800000000ULL; 6605 #endif 6606 #ifdef VK_ENABLE_BETA_EXTENSIONS 6607 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR = 0x1000000000ULL; 6608 #endif 6609 #ifdef VK_ENABLE_BETA_EXTENSIONS 6610 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR = 0x2000000000ULL; 6611 #endif 6612 #ifdef VK_ENABLE_BETA_EXTENSIONS 6613 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR = 0x4000000000ULL; 6614 #endif 6615 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000ULL; 6616 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000ULL; 6617 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000ULL; 6618 static const VkAccessFlagBits2 VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000ULL; 6619 static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000ULL; 6620 static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000ULL; 6621 static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000ULL; 6622 static const VkAccessFlagBits2 VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000ULL; 6623 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000ULL; 6624 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000ULL; 6625 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000ULL; 6626 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000ULL; 6627 static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000ULL; 6628 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000ULL; 6629 static const VkAccessFlagBits2 VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI = 0x8000000000ULL; 6630 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR = 0x10000000000ULL; 6631 static const VkAccessFlagBits2 VK_ACCESS_2_MICROMAP_READ_BIT_EXT = 0x100000000000ULL; 6632 static const VkAccessFlagBits2 VK_ACCESS_2_MICROMAP_WRITE_BIT_EXT = 0x200000000000ULL; 6633 static const VkAccessFlagBits2 VK_ACCESS_2_OPTICAL_FLOW_READ_BIT_NV = 0x40000000000ULL; 6634 static const VkAccessFlagBits2 VK_ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV = 0x80000000000ULL; 6635 6636 6637 typedef enum VkSubmitFlagBits { 6638 VK_SUBMIT_PROTECTED_BIT = 0x00000001, 6639 VK_SUBMIT_PROTECTED_BIT_KHR = VK_SUBMIT_PROTECTED_BIT, 6640 VK_SUBMIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 6641 } VkSubmitFlagBits; 6642 typedef VkFlags VkSubmitFlags; 6643 6644 typedef enum VkRenderingFlagBits { 6645 VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT = 0x00000001, 6646 VK_RENDERING_SUSPENDING_BIT = 0x00000002, 6647 VK_RENDERING_RESUMING_BIT = 0x00000004, 6648 VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT = 0x00000008, 6649 VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT, 6650 VK_RENDERING_SUSPENDING_BIT_KHR = VK_RENDERING_SUSPENDING_BIT, 6651 VK_RENDERING_RESUMING_BIT_KHR = VK_RENDERING_RESUMING_BIT, 6652 VK_RENDERING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 6653 } VkRenderingFlagBits; 6654 typedef VkFlags VkRenderingFlags; 6655 typedef VkFlags64 VkFormatFeatureFlags2; 6656 6657 // Flag bits for VkFormatFeatureFlagBits2 6658 typedef VkFlags64 VkFormatFeatureFlagBits2; 6659 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT = 0x00000001ULL; 6660 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR = 0x00000001ULL; 6661 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT = 0x00000002ULL; 6662 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR = 0x00000002ULL; 6663 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004ULL; 6664 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR = 0x00000004ULL; 6665 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008ULL; 6666 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR = 0x00000008ULL; 6667 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT = 0x00000010ULL; 6668 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT_KHR = 0x00000010ULL; 6669 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020ULL; 6670 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR = 0x00000020ULL; 6671 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT = 0x00000040ULL; 6672 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR = 0x00000040ULL; 6673 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT = 0x00000080ULL; 6674 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR = 0x00000080ULL; 6675 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100ULL; 6676 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR = 0x00000100ULL; 6677 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200ULL; 6678 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR = 0x00000200ULL; 6679 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_SRC_BIT = 0x00000400ULL; 6680 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR = 0x00000400ULL; 6681 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_DST_BIT = 0x00000800ULL; 6682 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_DST_BIT_KHR = 0x00000800ULL; 6683 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000ULL; 6684 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR = 0x00001000ULL; 6685 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT = 0x00002000ULL; 6686 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = 0x00002000ULL; 6687 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT = 0x00004000ULL; 6688 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR = 0x00004000ULL; 6689 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT = 0x00008000ULL; 6690 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR = 0x00008000ULL; 6691 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000ULL; 6692 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR = 0x00010000ULL; 6693 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000ULL; 6694 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = 0x00020000ULL; 6695 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000ULL; 6696 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = 0x00040000ULL; 6697 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000ULL; 6698 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = 0x00080000ULL; 6699 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000ULL; 6700 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = 0x00100000ULL; 6701 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000ULL; 6702 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR = 0x00200000ULL; 6703 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DISJOINT_BIT = 0x00400000ULL; 6704 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DISJOINT_BIT_KHR = 0x00400000ULL; 6705 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT = 0x00800000ULL; 6706 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR = 0x00800000ULL; 6707 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT = 0x80000000ULL; 6708 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR = 0x80000000ULL; 6709 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT = 0x100000000ULL; 6710 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR = 0x100000000ULL; 6711 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT = 0x200000000ULL; 6712 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR = 0x200000000ULL; 6713 #ifdef VK_ENABLE_BETA_EXTENSIONS 6714 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000ULL; 6715 #endif 6716 #ifdef VK_ENABLE_BETA_EXTENSIONS 6717 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000ULL; 6718 #endif 6719 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000ULL; 6720 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000ULL; 6721 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000ULL; 6722 #ifdef VK_ENABLE_BETA_EXTENSIONS 6723 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000ULL; 6724 #endif 6725 #ifdef VK_ENABLE_BETA_EXTENSIONS 6726 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000ULL; 6727 #endif 6728 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV = 0x4000000000ULL; 6729 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM = 0x400000000ULL; 6730 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM = 0x800000000ULL; 6731 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM = 0x1000000000ULL; 6732 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM = 0x2000000000ULL; 6733 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_IMAGE_BIT_NV = 0x10000000000ULL; 6734 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_VECTOR_BIT_NV = 0x20000000000ULL; 6735 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_COST_BIT_NV = 0x40000000000ULL; 6736 6737 typedef struct VkPhysicalDeviceVulkan13Features { 6738 VkStructureType sType; 6739 void* pNext; 6740 VkBool32 robustImageAccess; 6741 VkBool32 inlineUniformBlock; 6742 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind; 6743 VkBool32 pipelineCreationCacheControl; 6744 VkBool32 privateData; 6745 VkBool32 shaderDemoteToHelperInvocation; 6746 VkBool32 shaderTerminateInvocation; 6747 VkBool32 subgroupSizeControl; 6748 VkBool32 computeFullSubgroups; 6749 VkBool32 synchronization2; 6750 VkBool32 textureCompressionASTC_HDR; 6751 VkBool32 shaderZeroInitializeWorkgroupMemory; 6752 VkBool32 dynamicRendering; 6753 VkBool32 shaderIntegerDotProduct; 6754 VkBool32 maintenance4; 6755 } VkPhysicalDeviceVulkan13Features; 6756 6757 typedef struct VkPhysicalDeviceVulkan13Properties { 6758 VkStructureType sType; 6759 void* pNext; 6760 uint32_t minSubgroupSize; 6761 uint32_t maxSubgroupSize; 6762 uint32_t maxComputeWorkgroupSubgroups; 6763 VkShaderStageFlags requiredSubgroupSizeStages; 6764 uint32_t maxInlineUniformBlockSize; 6765 uint32_t maxPerStageDescriptorInlineUniformBlocks; 6766 uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks; 6767 uint32_t maxDescriptorSetInlineUniformBlocks; 6768 uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks; 6769 uint32_t maxInlineUniformTotalSize; 6770 VkBool32 integerDotProduct8BitUnsignedAccelerated; 6771 VkBool32 integerDotProduct8BitSignedAccelerated; 6772 VkBool32 integerDotProduct8BitMixedSignednessAccelerated; 6773 VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated; 6774 VkBool32 integerDotProduct4x8BitPackedSignedAccelerated; 6775 VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated; 6776 VkBool32 integerDotProduct16BitUnsignedAccelerated; 6777 VkBool32 integerDotProduct16BitSignedAccelerated; 6778 VkBool32 integerDotProduct16BitMixedSignednessAccelerated; 6779 VkBool32 integerDotProduct32BitUnsignedAccelerated; 6780 VkBool32 integerDotProduct32BitSignedAccelerated; 6781 VkBool32 integerDotProduct32BitMixedSignednessAccelerated; 6782 VkBool32 integerDotProduct64BitUnsignedAccelerated; 6783 VkBool32 integerDotProduct64BitSignedAccelerated; 6784 VkBool32 integerDotProduct64BitMixedSignednessAccelerated; 6785 VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated; 6786 VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated; 6787 VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated; 6788 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated; 6789 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated; 6790 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated; 6791 VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated; 6792 VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated; 6793 VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated; 6794 VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated; 6795 VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated; 6796 VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated; 6797 VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated; 6798 VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated; 6799 VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated; 6800 VkDeviceSize storageTexelBufferOffsetAlignmentBytes; 6801 VkBool32 storageTexelBufferOffsetSingleTexelAlignment; 6802 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes; 6803 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment; 6804 VkDeviceSize maxBufferSize; 6805 } VkPhysicalDeviceVulkan13Properties; 6806 6807 typedef struct VkPipelineCreationFeedback { 6808 VkPipelineCreationFeedbackFlags flags; 6809 uint64_t duration; 6810 } VkPipelineCreationFeedback; 6811 6812 typedef struct VkPipelineCreationFeedbackCreateInfo { 6813 VkStructureType sType; 6814 const void* pNext; 6815 VkPipelineCreationFeedback* pPipelineCreationFeedback; 6816 uint32_t pipelineStageCreationFeedbackCount; 6817 VkPipelineCreationFeedback* pPipelineStageCreationFeedbacks; 6818 } VkPipelineCreationFeedbackCreateInfo; 6819 6820 typedef struct VkPhysicalDeviceShaderTerminateInvocationFeatures { 6821 VkStructureType sType; 6822 void* pNext; 6823 VkBool32 shaderTerminateInvocation; 6824 } VkPhysicalDeviceShaderTerminateInvocationFeatures; 6825 6826 typedef struct VkPhysicalDeviceToolProperties { 6827 VkStructureType sType; 6828 void* pNext; 6829 char name[VK_MAX_EXTENSION_NAME_SIZE]; 6830 char version[VK_MAX_EXTENSION_NAME_SIZE]; 6831 VkToolPurposeFlags purposes; 6832 char description[VK_MAX_DESCRIPTION_SIZE]; 6833 char layer[VK_MAX_EXTENSION_NAME_SIZE]; 6834 } VkPhysicalDeviceToolProperties; 6835 6836 typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures { 6837 VkStructureType sType; 6838 void* pNext; 6839 VkBool32 shaderDemoteToHelperInvocation; 6840 } VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures; 6841 6842 typedef struct VkPhysicalDevicePrivateDataFeatures { 6843 VkStructureType sType; 6844 void* pNext; 6845 VkBool32 privateData; 6846 } VkPhysicalDevicePrivateDataFeatures; 6847 6848 typedef struct VkDevicePrivateDataCreateInfo { 6849 VkStructureType sType; 6850 const void* pNext; 6851 uint32_t privateDataSlotRequestCount; 6852 } VkDevicePrivateDataCreateInfo; 6853 6854 typedef struct VkPrivateDataSlotCreateInfo { 6855 VkStructureType sType; 6856 const void* pNext; 6857 VkPrivateDataSlotCreateFlags flags; 6858 } VkPrivateDataSlotCreateInfo; 6859 6860 typedef struct VkPhysicalDevicePipelineCreationCacheControlFeatures { 6861 VkStructureType sType; 6862 void* pNext; 6863 VkBool32 pipelineCreationCacheControl; 6864 } VkPhysicalDevicePipelineCreationCacheControlFeatures; 6865 6866 typedef struct VkMemoryBarrier2 { 6867 VkStructureType sType; 6868 const void* pNext; 6869 VkPipelineStageFlags2 srcStageMask; 6870 VkAccessFlags2 srcAccessMask; 6871 VkPipelineStageFlags2 dstStageMask; 6872 VkAccessFlags2 dstAccessMask; 6873 } VkMemoryBarrier2; 6874 6875 typedef struct VkBufferMemoryBarrier2 { 6876 VkStructureType sType; 6877 const void* pNext; 6878 VkPipelineStageFlags2 srcStageMask; 6879 VkAccessFlags2 srcAccessMask; 6880 VkPipelineStageFlags2 dstStageMask; 6881 VkAccessFlags2 dstAccessMask; 6882 uint32_t srcQueueFamilyIndex; 6883 uint32_t dstQueueFamilyIndex; 6884 VkBuffer buffer; 6885 VkDeviceSize offset; 6886 VkDeviceSize size; 6887 } VkBufferMemoryBarrier2; 6888 6889 typedef struct VkImageMemoryBarrier2 { 6890 VkStructureType sType; 6891 const void* pNext; 6892 VkPipelineStageFlags2 srcStageMask; 6893 VkAccessFlags2 srcAccessMask; 6894 VkPipelineStageFlags2 dstStageMask; 6895 VkAccessFlags2 dstAccessMask; 6896 VkImageLayout oldLayout; 6897 VkImageLayout newLayout; 6898 uint32_t srcQueueFamilyIndex; 6899 uint32_t dstQueueFamilyIndex; 6900 VkImage image; 6901 VkImageSubresourceRange subresourceRange; 6902 } VkImageMemoryBarrier2; 6903 6904 typedef struct VkDependencyInfo { 6905 VkStructureType sType; 6906 const void* pNext; 6907 VkDependencyFlags dependencyFlags; 6908 uint32_t memoryBarrierCount; 6909 const VkMemoryBarrier2* pMemoryBarriers; 6910 uint32_t bufferMemoryBarrierCount; 6911 const VkBufferMemoryBarrier2* pBufferMemoryBarriers; 6912 uint32_t imageMemoryBarrierCount; 6913 const VkImageMemoryBarrier2* pImageMemoryBarriers; 6914 } VkDependencyInfo; 6915 6916 typedef struct VkSemaphoreSubmitInfo { 6917 VkStructureType sType; 6918 const void* pNext; 6919 VkSemaphore semaphore; 6920 uint64_t value; 6921 VkPipelineStageFlags2 stageMask; 6922 uint32_t deviceIndex; 6923 } VkSemaphoreSubmitInfo; 6924 6925 typedef struct VkCommandBufferSubmitInfo { 6926 VkStructureType sType; 6927 const void* pNext; 6928 VkCommandBuffer commandBuffer; 6929 uint32_t deviceMask; 6930 } VkCommandBufferSubmitInfo; 6931 6932 typedef struct VkSubmitInfo2 { 6933 VkStructureType sType; 6934 const void* pNext; 6935 VkSubmitFlags flags; 6936 uint32_t waitSemaphoreInfoCount; 6937 const VkSemaphoreSubmitInfo* pWaitSemaphoreInfos; 6938 uint32_t commandBufferInfoCount; 6939 const VkCommandBufferSubmitInfo* pCommandBufferInfos; 6940 uint32_t signalSemaphoreInfoCount; 6941 const VkSemaphoreSubmitInfo* pSignalSemaphoreInfos; 6942 } VkSubmitInfo2; 6943 6944 typedef struct VkPhysicalDeviceSynchronization2Features { 6945 VkStructureType sType; 6946 void* pNext; 6947 VkBool32 synchronization2; 6948 } VkPhysicalDeviceSynchronization2Features; 6949 6950 typedef struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures { 6951 VkStructureType sType; 6952 void* pNext; 6953 VkBool32 shaderZeroInitializeWorkgroupMemory; 6954 } VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures; 6955 6956 typedef struct VkPhysicalDeviceImageRobustnessFeatures { 6957 VkStructureType sType; 6958 void* pNext; 6959 VkBool32 robustImageAccess; 6960 } VkPhysicalDeviceImageRobustnessFeatures; 6961 6962 typedef struct VkBufferCopy2 { 6963 VkStructureType sType; 6964 const void* pNext; 6965 VkDeviceSize srcOffset; 6966 VkDeviceSize dstOffset; 6967 VkDeviceSize size; 6968 } VkBufferCopy2; 6969 6970 typedef struct VkCopyBufferInfo2 { 6971 VkStructureType sType; 6972 const void* pNext; 6973 VkBuffer srcBuffer; 6974 VkBuffer dstBuffer; 6975 uint32_t regionCount; 6976 const VkBufferCopy2* pRegions; 6977 } VkCopyBufferInfo2; 6978 6979 typedef struct VkImageCopy2 { 6980 VkStructureType sType; 6981 const void* pNext; 6982 VkImageSubresourceLayers srcSubresource; 6983 VkOffset3D srcOffset; 6984 VkImageSubresourceLayers dstSubresource; 6985 VkOffset3D dstOffset; 6986 VkExtent3D extent; 6987 } VkImageCopy2; 6988 6989 typedef struct VkCopyImageInfo2 { 6990 VkStructureType sType; 6991 const void* pNext; 6992 VkImage srcImage; 6993 VkImageLayout srcImageLayout; 6994 VkImage dstImage; 6995 VkImageLayout dstImageLayout; 6996 uint32_t regionCount; 6997 const VkImageCopy2* pRegions; 6998 } VkCopyImageInfo2; 6999 7000 typedef struct VkBufferImageCopy2 { 7001 VkStructureType sType; 7002 const void* pNext; 7003 VkDeviceSize bufferOffset; 7004 uint32_t bufferRowLength; 7005 uint32_t bufferImageHeight; 7006 VkImageSubresourceLayers imageSubresource; 7007 VkOffset3D imageOffset; 7008 VkExtent3D imageExtent; 7009 } VkBufferImageCopy2; 7010 7011 typedef struct VkCopyBufferToImageInfo2 { 7012 VkStructureType sType; 7013 const void* pNext; 7014 VkBuffer srcBuffer; 7015 VkImage dstImage; 7016 VkImageLayout dstImageLayout; 7017 uint32_t regionCount; 7018 const VkBufferImageCopy2* pRegions; 7019 } VkCopyBufferToImageInfo2; 7020 7021 typedef struct VkCopyImageToBufferInfo2 { 7022 VkStructureType sType; 7023 const void* pNext; 7024 VkImage srcImage; 7025 VkImageLayout srcImageLayout; 7026 VkBuffer dstBuffer; 7027 uint32_t regionCount; 7028 const VkBufferImageCopy2* pRegions; 7029 } VkCopyImageToBufferInfo2; 7030 7031 typedef struct VkImageBlit2 { 7032 VkStructureType sType; 7033 const void* pNext; 7034 VkImageSubresourceLayers srcSubresource; 7035 VkOffset3D srcOffsets[2]; 7036 VkImageSubresourceLayers dstSubresource; 7037 VkOffset3D dstOffsets[2]; 7038 } VkImageBlit2; 7039 7040 typedef struct VkBlitImageInfo2 { 7041 VkStructureType sType; 7042 const void* pNext; 7043 VkImage srcImage; 7044 VkImageLayout srcImageLayout; 7045 VkImage dstImage; 7046 VkImageLayout dstImageLayout; 7047 uint32_t regionCount; 7048 const VkImageBlit2* pRegions; 7049 VkFilter filter; 7050 } VkBlitImageInfo2; 7051 7052 typedef struct VkImageResolve2 { 7053 VkStructureType sType; 7054 const void* pNext; 7055 VkImageSubresourceLayers srcSubresource; 7056 VkOffset3D srcOffset; 7057 VkImageSubresourceLayers dstSubresource; 7058 VkOffset3D dstOffset; 7059 VkExtent3D extent; 7060 } VkImageResolve2; 7061 7062 typedef struct VkResolveImageInfo2 { 7063 VkStructureType sType; 7064 const void* pNext; 7065 VkImage srcImage; 7066 VkImageLayout srcImageLayout; 7067 VkImage dstImage; 7068 VkImageLayout dstImageLayout; 7069 uint32_t regionCount; 7070 const VkImageResolve2* pRegions; 7071 } VkResolveImageInfo2; 7072 7073 typedef struct VkPhysicalDeviceSubgroupSizeControlFeatures { 7074 VkStructureType sType; 7075 void* pNext; 7076 VkBool32 subgroupSizeControl; 7077 VkBool32 computeFullSubgroups; 7078 } VkPhysicalDeviceSubgroupSizeControlFeatures; 7079 7080 typedef struct VkPhysicalDeviceSubgroupSizeControlProperties { 7081 VkStructureType sType; 7082 void* pNext; 7083 uint32_t minSubgroupSize; 7084 uint32_t maxSubgroupSize; 7085 uint32_t maxComputeWorkgroupSubgroups; 7086 VkShaderStageFlags requiredSubgroupSizeStages; 7087 } VkPhysicalDeviceSubgroupSizeControlProperties; 7088 7089 typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfo { 7090 VkStructureType sType; 7091 void* pNext; 7092 uint32_t requiredSubgroupSize; 7093 } VkPipelineShaderStageRequiredSubgroupSizeCreateInfo; 7094 7095 typedef struct VkPhysicalDeviceInlineUniformBlockFeatures { 7096 VkStructureType sType; 7097 void* pNext; 7098 VkBool32 inlineUniformBlock; 7099 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind; 7100 } VkPhysicalDeviceInlineUniformBlockFeatures; 7101 7102 typedef struct VkPhysicalDeviceInlineUniformBlockProperties { 7103 VkStructureType sType; 7104 void* pNext; 7105 uint32_t maxInlineUniformBlockSize; 7106 uint32_t maxPerStageDescriptorInlineUniformBlocks; 7107 uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks; 7108 uint32_t maxDescriptorSetInlineUniformBlocks; 7109 uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks; 7110 } VkPhysicalDeviceInlineUniformBlockProperties; 7111 7112 typedef struct VkWriteDescriptorSetInlineUniformBlock { 7113 VkStructureType sType; 7114 const void* pNext; 7115 uint32_t dataSize; 7116 const void* pData; 7117 } VkWriteDescriptorSetInlineUniformBlock; 7118 7119 typedef struct VkDescriptorPoolInlineUniformBlockCreateInfo { 7120 VkStructureType sType; 7121 const void* pNext; 7122 uint32_t maxInlineUniformBlockBindings; 7123 } VkDescriptorPoolInlineUniformBlockCreateInfo; 7124 7125 typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeatures { 7126 VkStructureType sType; 7127 void* pNext; 7128 VkBool32 textureCompressionASTC_HDR; 7129 } VkPhysicalDeviceTextureCompressionASTCHDRFeatures; 7130 7131 typedef struct VkRenderingAttachmentInfo { 7132 VkStructureType sType; 7133 const void* pNext; 7134 VkImageView imageView; 7135 VkImageLayout imageLayout; 7136 VkResolveModeFlagBits resolveMode; 7137 VkImageView resolveImageView; 7138 VkImageLayout resolveImageLayout; 7139 VkAttachmentLoadOp loadOp; 7140 VkAttachmentStoreOp storeOp; 7141 VkClearValue clearValue; 7142 } VkRenderingAttachmentInfo; 7143 7144 typedef struct VkRenderingInfo { 7145 VkStructureType sType; 7146 const void* pNext; 7147 VkRenderingFlags flags; 7148 VkRect2D renderArea; 7149 uint32_t layerCount; 7150 uint32_t viewMask; 7151 uint32_t colorAttachmentCount; 7152 const VkRenderingAttachmentInfo* pColorAttachments; 7153 const VkRenderingAttachmentInfo* pDepthAttachment; 7154 const VkRenderingAttachmentInfo* pStencilAttachment; 7155 } VkRenderingInfo; 7156 7157 typedef struct VkPipelineRenderingCreateInfo { 7158 VkStructureType sType; 7159 const void* pNext; 7160 uint32_t viewMask; 7161 uint32_t colorAttachmentCount; 7162 const VkFormat* pColorAttachmentFormats; 7163 VkFormat depthAttachmentFormat; 7164 VkFormat stencilAttachmentFormat; 7165 } VkPipelineRenderingCreateInfo; 7166 7167 typedef struct VkPhysicalDeviceDynamicRenderingFeatures { 7168 VkStructureType sType; 7169 void* pNext; 7170 VkBool32 dynamicRendering; 7171 } VkPhysicalDeviceDynamicRenderingFeatures; 7172 7173 typedef struct VkCommandBufferInheritanceRenderingInfo { 7174 VkStructureType sType; 7175 const void* pNext; 7176 VkRenderingFlags flags; 7177 uint32_t viewMask; 7178 uint32_t colorAttachmentCount; 7179 const VkFormat* pColorAttachmentFormats; 7180 VkFormat depthAttachmentFormat; 7181 VkFormat stencilAttachmentFormat; 7182 VkSampleCountFlagBits rasterizationSamples; 7183 } VkCommandBufferInheritanceRenderingInfo; 7184 7185 typedef struct VkPhysicalDeviceShaderIntegerDotProductFeatures { 7186 VkStructureType sType; 7187 void* pNext; 7188 VkBool32 shaderIntegerDotProduct; 7189 } VkPhysicalDeviceShaderIntegerDotProductFeatures; 7190 7191 typedef struct VkPhysicalDeviceShaderIntegerDotProductProperties { 7192 VkStructureType sType; 7193 void* pNext; 7194 VkBool32 integerDotProduct8BitUnsignedAccelerated; 7195 VkBool32 integerDotProduct8BitSignedAccelerated; 7196 VkBool32 integerDotProduct8BitMixedSignednessAccelerated; 7197 VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated; 7198 VkBool32 integerDotProduct4x8BitPackedSignedAccelerated; 7199 VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated; 7200 VkBool32 integerDotProduct16BitUnsignedAccelerated; 7201 VkBool32 integerDotProduct16BitSignedAccelerated; 7202 VkBool32 integerDotProduct16BitMixedSignednessAccelerated; 7203 VkBool32 integerDotProduct32BitUnsignedAccelerated; 7204 VkBool32 integerDotProduct32BitSignedAccelerated; 7205 VkBool32 integerDotProduct32BitMixedSignednessAccelerated; 7206 VkBool32 integerDotProduct64BitUnsignedAccelerated; 7207 VkBool32 integerDotProduct64BitSignedAccelerated; 7208 VkBool32 integerDotProduct64BitMixedSignednessAccelerated; 7209 VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated; 7210 VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated; 7211 VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated; 7212 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated; 7213 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated; 7214 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated; 7215 VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated; 7216 VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated; 7217 VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated; 7218 VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated; 7219 VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated; 7220 VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated; 7221 VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated; 7222 VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated; 7223 VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated; 7224 } VkPhysicalDeviceShaderIntegerDotProductProperties; 7225 7226 typedef struct VkPhysicalDeviceTexelBufferAlignmentProperties { 7227 VkStructureType sType; 7228 void* pNext; 7229 VkDeviceSize storageTexelBufferOffsetAlignmentBytes; 7230 VkBool32 storageTexelBufferOffsetSingleTexelAlignment; 7231 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes; 7232 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment; 7233 } VkPhysicalDeviceTexelBufferAlignmentProperties; 7234 7235 typedef struct VkFormatProperties3 { 7236 VkStructureType sType; 7237 void* pNext; 7238 VkFormatFeatureFlags2 linearTilingFeatures; 7239 VkFormatFeatureFlags2 optimalTilingFeatures; 7240 VkFormatFeatureFlags2 bufferFeatures; 7241 } VkFormatProperties3; 7242 7243 typedef struct VkPhysicalDeviceMaintenance4Features { 7244 VkStructureType sType; 7245 void* pNext; 7246 VkBool32 maintenance4; 7247 } VkPhysicalDeviceMaintenance4Features; 7248 7249 typedef struct VkPhysicalDeviceMaintenance4Properties { 7250 VkStructureType sType; 7251 void* pNext; 7252 VkDeviceSize maxBufferSize; 7253 } VkPhysicalDeviceMaintenance4Properties; 7254 7255 typedef struct VkDeviceBufferMemoryRequirements { 7256 VkStructureType sType; 7257 const void* pNext; 7258 const VkBufferCreateInfo* pCreateInfo; 7259 } VkDeviceBufferMemoryRequirements; 7260 7261 typedef struct VkDeviceImageMemoryRequirements { 7262 VkStructureType sType; 7263 const void* pNext; 7264 const VkImageCreateInfo* pCreateInfo; 7265 VkImageAspectFlagBits planeAspect; 7266 } VkDeviceImageMemoryRequirements; 7267 7268 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolProperties)(VkPhysicalDevice physicalDevice, uint32_t* pToolCount, VkPhysicalDeviceToolProperties* pToolProperties); 7269 typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlot)(VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot); 7270 typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlot)(VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator); 7271 typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateData)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data); 7272 typedef void (VKAPI_PTR *PFN_vkGetPrivateData)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t* pData); 7273 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo); 7274 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask); 7275 typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos); 7276 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2)(VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo); 7277 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query); 7278 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence); 7279 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo); 7280 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo); 7281 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo); 7282 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo); 7283 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo); 7284 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo); 7285 typedef void (VKAPI_PTR *PFN_vkCmdBeginRendering)(VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo); 7286 typedef void (VKAPI_PTR *PFN_vkCmdEndRendering)(VkCommandBuffer commandBuffer); 7287 typedef void (VKAPI_PTR *PFN_vkCmdSetCullMode)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode); 7288 typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFace)(VkCommandBuffer commandBuffer, VkFrontFace frontFace); 7289 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopology)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology); 7290 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCount)(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports); 7291 typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCount)(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors); 7292 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); 7293 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnable)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable); 7294 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnable)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable); 7295 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOp)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp); 7296 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnable)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable); 7297 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnable)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable); 7298 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOp)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp); 7299 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnable)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable); 7300 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnable)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable); 7301 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnable)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable); 7302 typedef void (VKAPI_PTR *PFN_vkGetDeviceBufferMemoryRequirements)(VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements); 7303 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageMemoryRequirements)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements); 7304 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSparseMemoryRequirements)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 7305 7306 #ifndef VK_NO_PROTOTYPES 7307 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolProperties( 7308 VkPhysicalDevice physicalDevice, 7309 uint32_t* pToolCount, 7310 VkPhysicalDeviceToolProperties* pToolProperties); 7311 7312 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlot( 7313 VkDevice device, 7314 const VkPrivateDataSlotCreateInfo* pCreateInfo, 7315 const VkAllocationCallbacks* pAllocator, 7316 VkPrivateDataSlot* pPrivateDataSlot); 7317 7318 VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlot( 7319 VkDevice device, 7320 VkPrivateDataSlot privateDataSlot, 7321 const VkAllocationCallbacks* pAllocator); 7322 7323 VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateData( 7324 VkDevice device, 7325 VkObjectType objectType, 7326 uint64_t objectHandle, 7327 VkPrivateDataSlot privateDataSlot, 7328 uint64_t data); 7329 7330 VKAPI_ATTR void VKAPI_CALL vkGetPrivateData( 7331 VkDevice device, 7332 VkObjectType objectType, 7333 uint64_t objectHandle, 7334 VkPrivateDataSlot privateDataSlot, 7335 uint64_t* pData); 7336 7337 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2( 7338 VkCommandBuffer commandBuffer, 7339 VkEvent event, 7340 const VkDependencyInfo* pDependencyInfo); 7341 7342 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2( 7343 VkCommandBuffer commandBuffer, 7344 VkEvent event, 7345 VkPipelineStageFlags2 stageMask); 7346 7347 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2( 7348 VkCommandBuffer commandBuffer, 7349 uint32_t eventCount, 7350 const VkEvent* pEvents, 7351 const VkDependencyInfo* pDependencyInfos); 7352 7353 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2( 7354 VkCommandBuffer commandBuffer, 7355 const VkDependencyInfo* pDependencyInfo); 7356 7357 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2( 7358 VkCommandBuffer commandBuffer, 7359 VkPipelineStageFlags2 stage, 7360 VkQueryPool queryPool, 7361 uint32_t query); 7362 7363 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2( 7364 VkQueue queue, 7365 uint32_t submitCount, 7366 const VkSubmitInfo2* pSubmits, 7367 VkFence fence); 7368 7369 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2( 7370 VkCommandBuffer commandBuffer, 7371 const VkCopyBufferInfo2* pCopyBufferInfo); 7372 7373 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2( 7374 VkCommandBuffer commandBuffer, 7375 const VkCopyImageInfo2* pCopyImageInfo); 7376 7377 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2( 7378 VkCommandBuffer commandBuffer, 7379 const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo); 7380 7381 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2( 7382 VkCommandBuffer commandBuffer, 7383 const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo); 7384 7385 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2( 7386 VkCommandBuffer commandBuffer, 7387 const VkBlitImageInfo2* pBlitImageInfo); 7388 7389 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2( 7390 VkCommandBuffer commandBuffer, 7391 const VkResolveImageInfo2* pResolveImageInfo); 7392 7393 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRendering( 7394 VkCommandBuffer commandBuffer, 7395 const VkRenderingInfo* pRenderingInfo); 7396 7397 VKAPI_ATTR void VKAPI_CALL vkCmdEndRendering( 7398 VkCommandBuffer commandBuffer); 7399 7400 VKAPI_ATTR void VKAPI_CALL vkCmdSetCullMode( 7401 VkCommandBuffer commandBuffer, 7402 VkCullModeFlags cullMode); 7403 7404 VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFace( 7405 VkCommandBuffer commandBuffer, 7406 VkFrontFace frontFace); 7407 7408 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopology( 7409 VkCommandBuffer commandBuffer, 7410 VkPrimitiveTopology primitiveTopology); 7411 7412 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCount( 7413 VkCommandBuffer commandBuffer, 7414 uint32_t viewportCount, 7415 const VkViewport* pViewports); 7416 7417 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCount( 7418 VkCommandBuffer commandBuffer, 7419 uint32_t scissorCount, 7420 const VkRect2D* pScissors); 7421 7422 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2( 7423 VkCommandBuffer commandBuffer, 7424 uint32_t firstBinding, 7425 uint32_t bindingCount, 7426 const VkBuffer* pBuffers, 7427 const VkDeviceSize* pOffsets, 7428 const VkDeviceSize* pSizes, 7429 const VkDeviceSize* pStrides); 7430 7431 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnable( 7432 VkCommandBuffer commandBuffer, 7433 VkBool32 depthTestEnable); 7434 7435 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnable( 7436 VkCommandBuffer commandBuffer, 7437 VkBool32 depthWriteEnable); 7438 7439 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOp( 7440 VkCommandBuffer commandBuffer, 7441 VkCompareOp depthCompareOp); 7442 7443 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnable( 7444 VkCommandBuffer commandBuffer, 7445 VkBool32 depthBoundsTestEnable); 7446 7447 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnable( 7448 VkCommandBuffer commandBuffer, 7449 VkBool32 stencilTestEnable); 7450 7451 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOp( 7452 VkCommandBuffer commandBuffer, 7453 VkStencilFaceFlags faceMask, 7454 VkStencilOp failOp, 7455 VkStencilOp passOp, 7456 VkStencilOp depthFailOp, 7457 VkCompareOp compareOp); 7458 7459 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnable( 7460 VkCommandBuffer commandBuffer, 7461 VkBool32 rasterizerDiscardEnable); 7462 7463 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnable( 7464 VkCommandBuffer commandBuffer, 7465 VkBool32 depthBiasEnable); 7466 7467 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnable( 7468 VkCommandBuffer commandBuffer, 7469 VkBool32 primitiveRestartEnable); 7470 7471 VKAPI_ATTR void VKAPI_CALL vkGetDeviceBufferMemoryRequirements( 7472 VkDevice device, 7473 const VkDeviceBufferMemoryRequirements* pInfo, 7474 VkMemoryRequirements2* pMemoryRequirements); 7475 7476 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageMemoryRequirements( 7477 VkDevice device, 7478 const VkDeviceImageMemoryRequirements* pInfo, 7479 VkMemoryRequirements2* pMemoryRequirements); 7480 7481 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSparseMemoryRequirements( 7482 VkDevice device, 7483 const VkDeviceImageMemoryRequirements* pInfo, 7484 uint32_t* pSparseMemoryRequirementCount, 7485 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 7486 #endif 7487 7488 7489 #define VK_KHR_surface 1 7490 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR) 7491 #define VK_KHR_SURFACE_SPEC_VERSION 25 7492 #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface" 7493 7494 typedef enum VkPresentModeKHR { 7495 VK_PRESENT_MODE_IMMEDIATE_KHR = 0, 7496 VK_PRESENT_MODE_MAILBOX_KHR = 1, 7497 VK_PRESENT_MODE_FIFO_KHR = 2, 7498 VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3, 7499 VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000, 7500 VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001, 7501 VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 7502 } VkPresentModeKHR; 7503 7504 typedef enum VkColorSpaceKHR { 7505 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0, 7506 VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001, 7507 VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002, 7508 VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003, 7509 VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004, 7510 VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005, 7511 VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006, 7512 VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007, 7513 VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008, 7514 VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009, 7515 VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010, 7516 VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011, 7517 VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012, 7518 VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013, 7519 VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014, 7520 VK_COLOR_SPACE_DISPLAY_NATIVE_AMD = 1000213000, 7521 VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR, 7522 VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT, 7523 VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF 7524 } VkColorSpaceKHR; 7525 7526 typedef enum VkSurfaceTransformFlagBitsKHR { 7527 VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001, 7528 VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002, 7529 VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004, 7530 VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008, 7531 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010, 7532 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020, 7533 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040, 7534 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080, 7535 VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100, 7536 VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 7537 } VkSurfaceTransformFlagBitsKHR; 7538 7539 typedef enum VkCompositeAlphaFlagBitsKHR { 7540 VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001, 7541 VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002, 7542 VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004, 7543 VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008, 7544 VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 7545 } VkCompositeAlphaFlagBitsKHR; 7546 typedef VkFlags VkCompositeAlphaFlagsKHR; 7547 typedef VkFlags VkSurfaceTransformFlagsKHR; 7548 typedef struct VkSurfaceCapabilitiesKHR { 7549 uint32_t minImageCount; 7550 uint32_t maxImageCount; 7551 VkExtent2D currentExtent; 7552 VkExtent2D minImageExtent; 7553 VkExtent2D maxImageExtent; 7554 uint32_t maxImageArrayLayers; 7555 VkSurfaceTransformFlagsKHR supportedTransforms; 7556 VkSurfaceTransformFlagBitsKHR currentTransform; 7557 VkCompositeAlphaFlagsKHR supportedCompositeAlpha; 7558 VkImageUsageFlags supportedUsageFlags; 7559 } VkSurfaceCapabilitiesKHR; 7560 7561 typedef struct VkSurfaceFormatKHR { 7562 VkFormat format; 7563 VkColorSpaceKHR colorSpace; 7564 } VkSurfaceFormatKHR; 7565 7566 typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator); 7567 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported); 7568 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities); 7569 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats); 7570 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes); 7571 7572 #ifndef VK_NO_PROTOTYPES 7573 VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR( 7574 VkInstance instance, 7575 VkSurfaceKHR surface, 7576 const VkAllocationCallbacks* pAllocator); 7577 7578 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR( 7579 VkPhysicalDevice physicalDevice, 7580 uint32_t queueFamilyIndex, 7581 VkSurfaceKHR surface, 7582 VkBool32* pSupported); 7583 7584 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR( 7585 VkPhysicalDevice physicalDevice, 7586 VkSurfaceKHR surface, 7587 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities); 7588 7589 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR( 7590 VkPhysicalDevice physicalDevice, 7591 VkSurfaceKHR surface, 7592 uint32_t* pSurfaceFormatCount, 7593 VkSurfaceFormatKHR* pSurfaceFormats); 7594 7595 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR( 7596 VkPhysicalDevice physicalDevice, 7597 VkSurfaceKHR surface, 7598 uint32_t* pPresentModeCount, 7599 VkPresentModeKHR* pPresentModes); 7600 #endif 7601 7602 7603 #define VK_KHR_swapchain 1 7604 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR) 7605 #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70 7606 #define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain" 7607 7608 typedef enum VkSwapchainCreateFlagBitsKHR { 7609 VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001, 7610 VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002, 7611 VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004, 7612 VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 7613 } VkSwapchainCreateFlagBitsKHR; 7614 typedef VkFlags VkSwapchainCreateFlagsKHR; 7615 7616 typedef enum VkDeviceGroupPresentModeFlagBitsKHR { 7617 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0x00000001, 7618 VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0x00000002, 7619 VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0x00000004, 7620 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008, 7621 VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 7622 } VkDeviceGroupPresentModeFlagBitsKHR; 7623 typedef VkFlags VkDeviceGroupPresentModeFlagsKHR; 7624 typedef struct VkSwapchainCreateInfoKHR { 7625 VkStructureType sType; 7626 const void* pNext; 7627 VkSwapchainCreateFlagsKHR flags; 7628 VkSurfaceKHR surface; 7629 uint32_t minImageCount; 7630 VkFormat imageFormat; 7631 VkColorSpaceKHR imageColorSpace; 7632 VkExtent2D imageExtent; 7633 uint32_t imageArrayLayers; 7634 VkImageUsageFlags imageUsage; 7635 VkSharingMode imageSharingMode; 7636 uint32_t queueFamilyIndexCount; 7637 const uint32_t* pQueueFamilyIndices; 7638 VkSurfaceTransformFlagBitsKHR preTransform; 7639 VkCompositeAlphaFlagBitsKHR compositeAlpha; 7640 VkPresentModeKHR presentMode; 7641 VkBool32 clipped; 7642 VkSwapchainKHR oldSwapchain; 7643 } VkSwapchainCreateInfoKHR; 7644 7645 typedef struct VkPresentInfoKHR { 7646 VkStructureType sType; 7647 const void* pNext; 7648 uint32_t waitSemaphoreCount; 7649 const VkSemaphore* pWaitSemaphores; 7650 uint32_t swapchainCount; 7651 const VkSwapchainKHR* pSwapchains; 7652 const uint32_t* pImageIndices; 7653 VkResult* pResults; 7654 } VkPresentInfoKHR; 7655 7656 typedef struct VkImageSwapchainCreateInfoKHR { 7657 VkStructureType sType; 7658 const void* pNext; 7659 VkSwapchainKHR swapchain; 7660 } VkImageSwapchainCreateInfoKHR; 7661 7662 typedef struct VkBindImageMemorySwapchainInfoKHR { 7663 VkStructureType sType; 7664 const void* pNext; 7665 VkSwapchainKHR swapchain; 7666 uint32_t imageIndex; 7667 } VkBindImageMemorySwapchainInfoKHR; 7668 7669 typedef struct VkAcquireNextImageInfoKHR { 7670 VkStructureType sType; 7671 const void* pNext; 7672 VkSwapchainKHR swapchain; 7673 uint64_t timeout; 7674 VkSemaphore semaphore; 7675 VkFence fence; 7676 uint32_t deviceMask; 7677 } VkAcquireNextImageInfoKHR; 7678 7679 typedef struct VkDeviceGroupPresentCapabilitiesKHR { 7680 VkStructureType sType; 7681 void* pNext; 7682 uint32_t presentMask[VK_MAX_DEVICE_GROUP_SIZE]; 7683 VkDeviceGroupPresentModeFlagsKHR modes; 7684 } VkDeviceGroupPresentCapabilitiesKHR; 7685 7686 typedef struct VkDeviceGroupPresentInfoKHR { 7687 VkStructureType sType; 7688 const void* pNext; 7689 uint32_t swapchainCount; 7690 const uint32_t* pDeviceMasks; 7691 VkDeviceGroupPresentModeFlagBitsKHR mode; 7692 } VkDeviceGroupPresentInfoKHR; 7693 7694 typedef struct VkDeviceGroupSwapchainCreateInfoKHR { 7695 VkStructureType sType; 7696 const void* pNext; 7697 VkDeviceGroupPresentModeFlagsKHR modes; 7698 } VkDeviceGroupSwapchainCreateInfoKHR; 7699 7700 typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain); 7701 typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator); 7702 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages); 7703 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex); 7704 typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo); 7705 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities); 7706 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes); 7707 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pRectCount, VkRect2D* pRects); 7708 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex); 7709 7710 #ifndef VK_NO_PROTOTYPES 7711 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR( 7712 VkDevice device, 7713 const VkSwapchainCreateInfoKHR* pCreateInfo, 7714 const VkAllocationCallbacks* pAllocator, 7715 VkSwapchainKHR* pSwapchain); 7716 7717 VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR( 7718 VkDevice device, 7719 VkSwapchainKHR swapchain, 7720 const VkAllocationCallbacks* pAllocator); 7721 7722 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR( 7723 VkDevice device, 7724 VkSwapchainKHR swapchain, 7725 uint32_t* pSwapchainImageCount, 7726 VkImage* pSwapchainImages); 7727 7728 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR( 7729 VkDevice device, 7730 VkSwapchainKHR swapchain, 7731 uint64_t timeout, 7732 VkSemaphore semaphore, 7733 VkFence fence, 7734 uint32_t* pImageIndex); 7735 7736 VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR( 7737 VkQueue queue, 7738 const VkPresentInfoKHR* pPresentInfo); 7739 7740 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHR( 7741 VkDevice device, 7742 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities); 7743 7744 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR( 7745 VkDevice device, 7746 VkSurfaceKHR surface, 7747 VkDeviceGroupPresentModeFlagsKHR* pModes); 7748 7749 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR( 7750 VkPhysicalDevice physicalDevice, 7751 VkSurfaceKHR surface, 7752 uint32_t* pRectCount, 7753 VkRect2D* pRects); 7754 7755 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHR( 7756 VkDevice device, 7757 const VkAcquireNextImageInfoKHR* pAcquireInfo, 7758 uint32_t* pImageIndex); 7759 #endif 7760 7761 7762 #define VK_KHR_display 1 7763 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR) 7764 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR) 7765 #define VK_KHR_DISPLAY_SPEC_VERSION 23 7766 #define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display" 7767 typedef VkFlags VkDisplayModeCreateFlagsKHR; 7768 7769 typedef enum VkDisplayPlaneAlphaFlagBitsKHR { 7770 VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001, 7771 VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002, 7772 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004, 7773 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008, 7774 VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 7775 } VkDisplayPlaneAlphaFlagBitsKHR; 7776 typedef VkFlags VkDisplayPlaneAlphaFlagsKHR; 7777 typedef VkFlags VkDisplaySurfaceCreateFlagsKHR; 7778 typedef struct VkDisplayModeParametersKHR { 7779 VkExtent2D visibleRegion; 7780 uint32_t refreshRate; 7781 } VkDisplayModeParametersKHR; 7782 7783 typedef struct VkDisplayModeCreateInfoKHR { 7784 VkStructureType sType; 7785 const void* pNext; 7786 VkDisplayModeCreateFlagsKHR flags; 7787 VkDisplayModeParametersKHR parameters; 7788 } VkDisplayModeCreateInfoKHR; 7789 7790 typedef struct VkDisplayModePropertiesKHR { 7791 VkDisplayModeKHR displayMode; 7792 VkDisplayModeParametersKHR parameters; 7793 } VkDisplayModePropertiesKHR; 7794 7795 typedef struct VkDisplayPlaneCapabilitiesKHR { 7796 VkDisplayPlaneAlphaFlagsKHR supportedAlpha; 7797 VkOffset2D minSrcPosition; 7798 VkOffset2D maxSrcPosition; 7799 VkExtent2D minSrcExtent; 7800 VkExtent2D maxSrcExtent; 7801 VkOffset2D minDstPosition; 7802 VkOffset2D maxDstPosition; 7803 VkExtent2D minDstExtent; 7804 VkExtent2D maxDstExtent; 7805 } VkDisplayPlaneCapabilitiesKHR; 7806 7807 typedef struct VkDisplayPlanePropertiesKHR { 7808 VkDisplayKHR currentDisplay; 7809 uint32_t currentStackIndex; 7810 } VkDisplayPlanePropertiesKHR; 7811 7812 typedef struct VkDisplayPropertiesKHR { 7813 VkDisplayKHR display; 7814 const char* displayName; 7815 VkExtent2D physicalDimensions; 7816 VkExtent2D physicalResolution; 7817 VkSurfaceTransformFlagsKHR supportedTransforms; 7818 VkBool32 planeReorderPossible; 7819 VkBool32 persistentContent; 7820 } VkDisplayPropertiesKHR; 7821 7822 typedef struct VkDisplaySurfaceCreateInfoKHR { 7823 VkStructureType sType; 7824 const void* pNext; 7825 VkDisplaySurfaceCreateFlagsKHR flags; 7826 VkDisplayModeKHR displayMode; 7827 uint32_t planeIndex; 7828 uint32_t planeStackIndex; 7829 VkSurfaceTransformFlagBitsKHR transform; 7830 float globalAlpha; 7831 VkDisplayPlaneAlphaFlagBitsKHR alphaMode; 7832 VkExtent2D imageExtent; 7833 } VkDisplaySurfaceCreateInfoKHR; 7834 7835 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPropertiesKHR* pProperties); 7836 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties); 7837 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t* pDisplayCount, VkDisplayKHR* pDisplays); 7838 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModePropertiesKHR* pProperties); 7839 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode); 7840 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities); 7841 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); 7842 7843 #ifndef VK_NO_PROTOTYPES 7844 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR( 7845 VkPhysicalDevice physicalDevice, 7846 uint32_t* pPropertyCount, 7847 VkDisplayPropertiesKHR* pProperties); 7848 7849 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR( 7850 VkPhysicalDevice physicalDevice, 7851 uint32_t* pPropertyCount, 7852 VkDisplayPlanePropertiesKHR* pProperties); 7853 7854 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR( 7855 VkPhysicalDevice physicalDevice, 7856 uint32_t planeIndex, 7857 uint32_t* pDisplayCount, 7858 VkDisplayKHR* pDisplays); 7859 7860 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR( 7861 VkPhysicalDevice physicalDevice, 7862 VkDisplayKHR display, 7863 uint32_t* pPropertyCount, 7864 VkDisplayModePropertiesKHR* pProperties); 7865 7866 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR( 7867 VkPhysicalDevice physicalDevice, 7868 VkDisplayKHR display, 7869 const VkDisplayModeCreateInfoKHR* pCreateInfo, 7870 const VkAllocationCallbacks* pAllocator, 7871 VkDisplayModeKHR* pMode); 7872 7873 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR( 7874 VkPhysicalDevice physicalDevice, 7875 VkDisplayModeKHR mode, 7876 uint32_t planeIndex, 7877 VkDisplayPlaneCapabilitiesKHR* pCapabilities); 7878 7879 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR( 7880 VkInstance instance, 7881 const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, 7882 const VkAllocationCallbacks* pAllocator, 7883 VkSurfaceKHR* pSurface); 7884 #endif 7885 7886 7887 #define VK_KHR_display_swapchain 1 7888 #define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 10 7889 #define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain" 7890 typedef struct VkDisplayPresentInfoKHR { 7891 VkStructureType sType; 7892 const void* pNext; 7893 VkRect2D srcRect; 7894 VkRect2D dstRect; 7895 VkBool32 persistent; 7896 } VkDisplayPresentInfoKHR; 7897 7898 typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains); 7899 7900 #ifndef VK_NO_PROTOTYPES 7901 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR( 7902 VkDevice device, 7903 uint32_t swapchainCount, 7904 const VkSwapchainCreateInfoKHR* pCreateInfos, 7905 const VkAllocationCallbacks* pAllocator, 7906 VkSwapchainKHR* pSwapchains); 7907 #endif 7908 7909 7910 #define VK_KHR_sampler_mirror_clamp_to_edge 1 7911 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 3 7912 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge" 7913 7914 7915 #define VK_KHR_dynamic_rendering 1 7916 #define VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION 1 7917 #define VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME "VK_KHR_dynamic_rendering" 7918 typedef VkRenderingFlags VkRenderingFlagsKHR; 7919 7920 typedef VkRenderingFlagBits VkRenderingFlagBitsKHR; 7921 7922 typedef VkRenderingInfo VkRenderingInfoKHR; 7923 7924 typedef VkRenderingAttachmentInfo VkRenderingAttachmentInfoKHR; 7925 7926 typedef VkPipelineRenderingCreateInfo VkPipelineRenderingCreateInfoKHR; 7927 7928 typedef VkPhysicalDeviceDynamicRenderingFeatures VkPhysicalDeviceDynamicRenderingFeaturesKHR; 7929 7930 typedef VkCommandBufferInheritanceRenderingInfo VkCommandBufferInheritanceRenderingInfoKHR; 7931 7932 typedef struct VkRenderingFragmentShadingRateAttachmentInfoKHR { 7933 VkStructureType sType; 7934 const void* pNext; 7935 VkImageView imageView; 7936 VkImageLayout imageLayout; 7937 VkExtent2D shadingRateAttachmentTexelSize; 7938 } VkRenderingFragmentShadingRateAttachmentInfoKHR; 7939 7940 typedef struct VkRenderingFragmentDensityMapAttachmentInfoEXT { 7941 VkStructureType sType; 7942 const void* pNext; 7943 VkImageView imageView; 7944 VkImageLayout imageLayout; 7945 } VkRenderingFragmentDensityMapAttachmentInfoEXT; 7946 7947 typedef struct VkAttachmentSampleCountInfoAMD { 7948 VkStructureType sType; 7949 const void* pNext; 7950 uint32_t colorAttachmentCount; 7951 const VkSampleCountFlagBits* pColorAttachmentSamples; 7952 VkSampleCountFlagBits depthStencilAttachmentSamples; 7953 } VkAttachmentSampleCountInfoAMD; 7954 7955 typedef VkAttachmentSampleCountInfoAMD VkAttachmentSampleCountInfoNV; 7956 7957 typedef struct VkMultiviewPerViewAttributesInfoNVX { 7958 VkStructureType sType; 7959 const void* pNext; 7960 VkBool32 perViewAttributes; 7961 VkBool32 perViewAttributesPositionXOnly; 7962 } VkMultiviewPerViewAttributesInfoNVX; 7963 7964 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderingKHR)(VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo); 7965 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderingKHR)(VkCommandBuffer commandBuffer); 7966 7967 #ifndef VK_NO_PROTOTYPES 7968 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderingKHR( 7969 VkCommandBuffer commandBuffer, 7970 const VkRenderingInfo* pRenderingInfo); 7971 7972 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderingKHR( 7973 VkCommandBuffer commandBuffer); 7974 #endif 7975 7976 7977 #define VK_KHR_multiview 1 7978 #define VK_KHR_MULTIVIEW_SPEC_VERSION 1 7979 #define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview" 7980 typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR; 7981 7982 typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR; 7983 7984 typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR; 7985 7986 7987 7988 #define VK_KHR_get_physical_device_properties2 1 7989 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 2 7990 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2" 7991 typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR; 7992 7993 typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR; 7994 7995 typedef VkFormatProperties2 VkFormatProperties2KHR; 7996 7997 typedef VkImageFormatProperties2 VkImageFormatProperties2KHR; 7998 7999 typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR; 8000 8001 typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR; 8002 8003 typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR; 8004 8005 typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR; 8006 8007 typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR; 8008 8009 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures); 8010 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties); 8011 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties); 8012 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties); 8013 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties); 8014 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 8015 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties); 8016 8017 #ifndef VK_NO_PROTOTYPES 8018 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR( 8019 VkPhysicalDevice physicalDevice, 8020 VkPhysicalDeviceFeatures2* pFeatures); 8021 8022 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR( 8023 VkPhysicalDevice physicalDevice, 8024 VkPhysicalDeviceProperties2* pProperties); 8025 8026 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR( 8027 VkPhysicalDevice physicalDevice, 8028 VkFormat format, 8029 VkFormatProperties2* pFormatProperties); 8030 8031 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR( 8032 VkPhysicalDevice physicalDevice, 8033 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, 8034 VkImageFormatProperties2* pImageFormatProperties); 8035 8036 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR( 8037 VkPhysicalDevice physicalDevice, 8038 uint32_t* pQueueFamilyPropertyCount, 8039 VkQueueFamilyProperties2* pQueueFamilyProperties); 8040 8041 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR( 8042 VkPhysicalDevice physicalDevice, 8043 VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 8044 8045 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR( 8046 VkPhysicalDevice physicalDevice, 8047 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, 8048 uint32_t* pPropertyCount, 8049 VkSparseImageFormatProperties2* pProperties); 8050 #endif 8051 8052 8053 #define VK_KHR_device_group 1 8054 #define VK_KHR_DEVICE_GROUP_SPEC_VERSION 4 8055 #define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group" 8056 typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR; 8057 8058 typedef VkPeerMemoryFeatureFlagBits VkPeerMemoryFeatureFlagBitsKHR; 8059 8060 typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR; 8061 8062 typedef VkMemoryAllocateFlagBits VkMemoryAllocateFlagBitsKHR; 8063 8064 typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR; 8065 8066 typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR; 8067 8068 typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR; 8069 8070 typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR; 8071 8072 typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR; 8073 8074 typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR; 8075 8076 typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR; 8077 8078 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 8079 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer commandBuffer, uint32_t deviceMask); 8080 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); 8081 8082 #ifndef VK_NO_PROTOTYPES 8083 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHR( 8084 VkDevice device, 8085 uint32_t heapIndex, 8086 uint32_t localDeviceIndex, 8087 uint32_t remoteDeviceIndex, 8088 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 8089 8090 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMaskKHR( 8091 VkCommandBuffer commandBuffer, 8092 uint32_t deviceMask); 8093 8094 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHR( 8095 VkCommandBuffer commandBuffer, 8096 uint32_t baseGroupX, 8097 uint32_t baseGroupY, 8098 uint32_t baseGroupZ, 8099 uint32_t groupCountX, 8100 uint32_t groupCountY, 8101 uint32_t groupCountZ); 8102 #endif 8103 8104 8105 #define VK_KHR_shader_draw_parameters 1 8106 #define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1 8107 #define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters" 8108 8109 8110 #define VK_KHR_maintenance1 1 8111 #define VK_KHR_MAINTENANCE_1_SPEC_VERSION 2 8112 #define VK_KHR_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_maintenance1" 8113 #define VK_KHR_MAINTENANCE1_SPEC_VERSION VK_KHR_MAINTENANCE_1_SPEC_VERSION 8114 #define VK_KHR_MAINTENANCE1_EXTENSION_NAME VK_KHR_MAINTENANCE_1_EXTENSION_NAME 8115 typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR; 8116 8117 typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags); 8118 8119 #ifndef VK_NO_PROTOTYPES 8120 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR( 8121 VkDevice device, 8122 VkCommandPool commandPool, 8123 VkCommandPoolTrimFlags flags); 8124 #endif 8125 8126 8127 #define VK_KHR_device_group_creation 1 8128 #define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1 8129 #define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation" 8130 #define VK_MAX_DEVICE_GROUP_SIZE_KHR VK_MAX_DEVICE_GROUP_SIZE 8131 typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR; 8132 8133 typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR; 8134 8135 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 8136 8137 #ifndef VK_NO_PROTOTYPES 8138 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHR( 8139 VkInstance instance, 8140 uint32_t* pPhysicalDeviceGroupCount, 8141 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 8142 #endif 8143 8144 8145 #define VK_KHR_external_memory_capabilities 1 8146 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1 8147 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities" 8148 #define VK_LUID_SIZE_KHR VK_LUID_SIZE 8149 typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR; 8150 8151 typedef VkExternalMemoryHandleTypeFlagBits VkExternalMemoryHandleTypeFlagBitsKHR; 8152 8153 typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR; 8154 8155 typedef VkExternalMemoryFeatureFlagBits VkExternalMemoryFeatureFlagBitsKHR; 8156 8157 typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR; 8158 8159 typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR; 8160 8161 typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR; 8162 8163 typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR; 8164 8165 typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR; 8166 8167 typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR; 8168 8169 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties); 8170 8171 #ifndef VK_NO_PROTOTYPES 8172 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR( 8173 VkPhysicalDevice physicalDevice, 8174 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, 8175 VkExternalBufferProperties* pExternalBufferProperties); 8176 #endif 8177 8178 8179 #define VK_KHR_external_memory 1 8180 #define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1 8181 #define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory" 8182 #define VK_QUEUE_FAMILY_EXTERNAL_KHR VK_QUEUE_FAMILY_EXTERNAL 8183 typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR; 8184 8185 typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR; 8186 8187 typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR; 8188 8189 8190 8191 #define VK_KHR_external_memory_fd 1 8192 #define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1 8193 #define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd" 8194 typedef struct VkImportMemoryFdInfoKHR { 8195 VkStructureType sType; 8196 const void* pNext; 8197 VkExternalMemoryHandleTypeFlagBits handleType; 8198 int fd; 8199 } VkImportMemoryFdInfoKHR; 8200 8201 typedef struct VkMemoryFdPropertiesKHR { 8202 VkStructureType sType; 8203 void* pNext; 8204 uint32_t memoryTypeBits; 8205 } VkMemoryFdPropertiesKHR; 8206 8207 typedef struct VkMemoryGetFdInfoKHR { 8208 VkStructureType sType; 8209 const void* pNext; 8210 VkDeviceMemory memory; 8211 VkExternalMemoryHandleTypeFlagBits handleType; 8212 } VkMemoryGetFdInfoKHR; 8213 8214 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd); 8215 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdPropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties); 8216 8217 #ifndef VK_NO_PROTOTYPES 8218 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR( 8219 VkDevice device, 8220 const VkMemoryGetFdInfoKHR* pGetFdInfo, 8221 int* pFd); 8222 8223 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR( 8224 VkDevice device, 8225 VkExternalMemoryHandleTypeFlagBits handleType, 8226 int fd, 8227 VkMemoryFdPropertiesKHR* pMemoryFdProperties); 8228 #endif 8229 8230 8231 #define VK_KHR_external_semaphore_capabilities 1 8232 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1 8233 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities" 8234 typedef VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreHandleTypeFlagsKHR; 8235 8236 typedef VkExternalSemaphoreHandleTypeFlagBits VkExternalSemaphoreHandleTypeFlagBitsKHR; 8237 8238 typedef VkExternalSemaphoreFeatureFlags VkExternalSemaphoreFeatureFlagsKHR; 8239 8240 typedef VkExternalSemaphoreFeatureFlagBits VkExternalSemaphoreFeatureFlagBitsKHR; 8241 8242 typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR; 8243 8244 typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR; 8245 8246 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 8247 8248 #ifndef VK_NO_PROTOTYPES 8249 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( 8250 VkPhysicalDevice physicalDevice, 8251 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, 8252 VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 8253 #endif 8254 8255 8256 #define VK_KHR_external_semaphore 1 8257 #define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1 8258 #define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore" 8259 typedef VkSemaphoreImportFlags VkSemaphoreImportFlagsKHR; 8260 8261 typedef VkSemaphoreImportFlagBits VkSemaphoreImportFlagBitsKHR; 8262 8263 typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR; 8264 8265 8266 8267 #define VK_KHR_external_semaphore_fd 1 8268 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1 8269 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd" 8270 typedef struct VkImportSemaphoreFdInfoKHR { 8271 VkStructureType sType; 8272 const void* pNext; 8273 VkSemaphore semaphore; 8274 VkSemaphoreImportFlags flags; 8275 VkExternalSemaphoreHandleTypeFlagBits handleType; 8276 int fd; 8277 } VkImportSemaphoreFdInfoKHR; 8278 8279 typedef struct VkSemaphoreGetFdInfoKHR { 8280 VkStructureType sType; 8281 const void* pNext; 8282 VkSemaphore semaphore; 8283 VkExternalSemaphoreHandleTypeFlagBits handleType; 8284 } VkSemaphoreGetFdInfoKHR; 8285 8286 typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo); 8287 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd); 8288 8289 #ifndef VK_NO_PROTOTYPES 8290 VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR( 8291 VkDevice device, 8292 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo); 8293 8294 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR( 8295 VkDevice device, 8296 const VkSemaphoreGetFdInfoKHR* pGetFdInfo, 8297 int* pFd); 8298 #endif 8299 8300 8301 #define VK_KHR_push_descriptor 1 8302 #define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2 8303 #define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor" 8304 typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR { 8305 VkStructureType sType; 8306 void* pNext; 8307 uint32_t maxPushDescriptors; 8308 } VkPhysicalDevicePushDescriptorPropertiesKHR; 8309 8310 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites); 8311 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData); 8312 8313 #ifndef VK_NO_PROTOTYPES 8314 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR( 8315 VkCommandBuffer commandBuffer, 8316 VkPipelineBindPoint pipelineBindPoint, 8317 VkPipelineLayout layout, 8318 uint32_t set, 8319 uint32_t descriptorWriteCount, 8320 const VkWriteDescriptorSet* pDescriptorWrites); 8321 8322 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR( 8323 VkCommandBuffer commandBuffer, 8324 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 8325 VkPipelineLayout layout, 8326 uint32_t set, 8327 const void* pData); 8328 #endif 8329 8330 8331 #define VK_KHR_shader_float16_int8 1 8332 #define VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION 1 8333 #define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8" 8334 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceShaderFloat16Int8FeaturesKHR; 8335 8336 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceFloat16Int8FeaturesKHR; 8337 8338 8339 8340 #define VK_KHR_16bit_storage 1 8341 #define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1 8342 #define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage" 8343 typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR; 8344 8345 8346 8347 #define VK_KHR_incremental_present 1 8348 #define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 2 8349 #define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present" 8350 typedef struct VkRectLayerKHR { 8351 VkOffset2D offset; 8352 VkExtent2D extent; 8353 uint32_t layer; 8354 } VkRectLayerKHR; 8355 8356 typedef struct VkPresentRegionKHR { 8357 uint32_t rectangleCount; 8358 const VkRectLayerKHR* pRectangles; 8359 } VkPresentRegionKHR; 8360 8361 typedef struct VkPresentRegionsKHR { 8362 VkStructureType sType; 8363 const void* pNext; 8364 uint32_t swapchainCount; 8365 const VkPresentRegionKHR* pRegions; 8366 } VkPresentRegionsKHR; 8367 8368 8369 8370 #define VK_KHR_descriptor_update_template 1 8371 typedef VkDescriptorUpdateTemplate VkDescriptorUpdateTemplateKHR; 8372 8373 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1 8374 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template" 8375 typedef VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateTypeKHR; 8376 8377 typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR; 8378 8379 typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR; 8380 8381 typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR; 8382 8383 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 8384 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator); 8385 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData); 8386 8387 #ifndef VK_NO_PROTOTYPES 8388 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR( 8389 VkDevice device, 8390 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, 8391 const VkAllocationCallbacks* pAllocator, 8392 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 8393 8394 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR( 8395 VkDevice device, 8396 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 8397 const VkAllocationCallbacks* pAllocator); 8398 8399 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR( 8400 VkDevice device, 8401 VkDescriptorSet descriptorSet, 8402 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 8403 const void* pData); 8404 #endif 8405 8406 8407 #define VK_KHR_imageless_framebuffer 1 8408 #define VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION 1 8409 #define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer" 8410 typedef VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeaturesKHR; 8411 8412 typedef VkFramebufferAttachmentsCreateInfo VkFramebufferAttachmentsCreateInfoKHR; 8413 8414 typedef VkFramebufferAttachmentImageInfo VkFramebufferAttachmentImageInfoKHR; 8415 8416 typedef VkRenderPassAttachmentBeginInfo VkRenderPassAttachmentBeginInfoKHR; 8417 8418 8419 8420 #define VK_KHR_create_renderpass2 1 8421 #define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1 8422 #define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2" 8423 typedef VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR; 8424 8425 typedef VkAttachmentDescription2 VkAttachmentDescription2KHR; 8426 8427 typedef VkAttachmentReference2 VkAttachmentReference2KHR; 8428 8429 typedef VkSubpassDescription2 VkSubpassDescription2KHR; 8430 8431 typedef VkSubpassDependency2 VkSubpassDependency2KHR; 8432 8433 typedef VkSubpassBeginInfo VkSubpassBeginInfoKHR; 8434 8435 typedef VkSubpassEndInfo VkSubpassEndInfoKHR; 8436 8437 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2KHR)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); 8438 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo); 8439 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo); 8440 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo); 8441 8442 #ifndef VK_NO_PROTOTYPES 8443 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2KHR( 8444 VkDevice device, 8445 const VkRenderPassCreateInfo2* pCreateInfo, 8446 const VkAllocationCallbacks* pAllocator, 8447 VkRenderPass* pRenderPass); 8448 8449 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2KHR( 8450 VkCommandBuffer commandBuffer, 8451 const VkRenderPassBeginInfo* pRenderPassBegin, 8452 const VkSubpassBeginInfo* pSubpassBeginInfo); 8453 8454 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2KHR( 8455 VkCommandBuffer commandBuffer, 8456 const VkSubpassBeginInfo* pSubpassBeginInfo, 8457 const VkSubpassEndInfo* pSubpassEndInfo); 8458 8459 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2KHR( 8460 VkCommandBuffer commandBuffer, 8461 const VkSubpassEndInfo* pSubpassEndInfo); 8462 #endif 8463 8464 8465 #define VK_KHR_shared_presentable_image 1 8466 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1 8467 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image" 8468 typedef struct VkSharedPresentSurfaceCapabilitiesKHR { 8469 VkStructureType sType; 8470 void* pNext; 8471 VkImageUsageFlags sharedPresentSupportedUsageFlags; 8472 } VkSharedPresentSurfaceCapabilitiesKHR; 8473 8474 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain); 8475 8476 #ifndef VK_NO_PROTOTYPES 8477 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR( 8478 VkDevice device, 8479 VkSwapchainKHR swapchain); 8480 #endif 8481 8482 8483 #define VK_KHR_external_fence_capabilities 1 8484 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1 8485 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities" 8486 typedef VkExternalFenceHandleTypeFlags VkExternalFenceHandleTypeFlagsKHR; 8487 8488 typedef VkExternalFenceHandleTypeFlagBits VkExternalFenceHandleTypeFlagBitsKHR; 8489 8490 typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR; 8491 8492 typedef VkExternalFenceFeatureFlagBits VkExternalFenceFeatureFlagBitsKHR; 8493 8494 typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR; 8495 8496 typedef VkExternalFenceProperties VkExternalFencePropertiesKHR; 8497 8498 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties); 8499 8500 #ifndef VK_NO_PROTOTYPES 8501 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFencePropertiesKHR( 8502 VkPhysicalDevice physicalDevice, 8503 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, 8504 VkExternalFenceProperties* pExternalFenceProperties); 8505 #endif 8506 8507 8508 #define VK_KHR_external_fence 1 8509 #define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1 8510 #define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence" 8511 typedef VkFenceImportFlags VkFenceImportFlagsKHR; 8512 8513 typedef VkFenceImportFlagBits VkFenceImportFlagBitsKHR; 8514 8515 typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR; 8516 8517 8518 8519 #define VK_KHR_external_fence_fd 1 8520 #define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1 8521 #define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd" 8522 typedef struct VkImportFenceFdInfoKHR { 8523 VkStructureType sType; 8524 const void* pNext; 8525 VkFence fence; 8526 VkFenceImportFlags flags; 8527 VkExternalFenceHandleTypeFlagBits handleType; 8528 int fd; 8529 } VkImportFenceFdInfoKHR; 8530 8531 typedef struct VkFenceGetFdInfoKHR { 8532 VkStructureType sType; 8533 const void* pNext; 8534 VkFence fence; 8535 VkExternalFenceHandleTypeFlagBits handleType; 8536 } VkFenceGetFdInfoKHR; 8537 8538 typedef VkResult (VKAPI_PTR *PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo); 8539 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd); 8540 8541 #ifndef VK_NO_PROTOTYPES 8542 VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceFdKHR( 8543 VkDevice device, 8544 const VkImportFenceFdInfoKHR* pImportFenceFdInfo); 8545 8546 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceFdKHR( 8547 VkDevice device, 8548 const VkFenceGetFdInfoKHR* pGetFdInfo, 8549 int* pFd); 8550 #endif 8551 8552 8553 #define VK_KHR_performance_query 1 8554 #define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1 8555 #define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query" 8556 8557 typedef enum VkPerformanceCounterUnitKHR { 8558 VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0, 8559 VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1, 8560 VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR = 2, 8561 VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR = 3, 8562 VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR = 4, 8563 VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR = 5, 8564 VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR = 6, 8565 VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR = 7, 8566 VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8, 8567 VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9, 8568 VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10, 8569 VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR = 0x7FFFFFFF 8570 } VkPerformanceCounterUnitKHR; 8571 8572 typedef enum VkPerformanceCounterScopeKHR { 8573 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR = 0, 8574 VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR = 1, 8575 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR = 2, 8576 VK_QUERY_SCOPE_COMMAND_BUFFER_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR, 8577 VK_QUERY_SCOPE_RENDER_PASS_KHR = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR, 8578 VK_QUERY_SCOPE_COMMAND_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR, 8579 VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF 8580 } VkPerformanceCounterScopeKHR; 8581 8582 typedef enum VkPerformanceCounterStorageKHR { 8583 VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR = 0, 8584 VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR = 1, 8585 VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR = 2, 8586 VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3, 8587 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4, 8588 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5, 8589 VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = 0x7FFFFFFF 8590 } VkPerformanceCounterStorageKHR; 8591 8592 typedef enum VkPerformanceCounterDescriptionFlagBitsKHR { 8593 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR = 0x00000001, 8594 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR = 0x00000002, 8595 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR, 8596 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR, 8597 VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8598 } VkPerformanceCounterDescriptionFlagBitsKHR; 8599 typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR; 8600 8601 typedef enum VkAcquireProfilingLockFlagBitsKHR { 8602 VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8603 } VkAcquireProfilingLockFlagBitsKHR; 8604 typedef VkFlags VkAcquireProfilingLockFlagsKHR; 8605 typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR { 8606 VkStructureType sType; 8607 void* pNext; 8608 VkBool32 performanceCounterQueryPools; 8609 VkBool32 performanceCounterMultipleQueryPools; 8610 } VkPhysicalDevicePerformanceQueryFeaturesKHR; 8611 8612 typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR { 8613 VkStructureType sType; 8614 void* pNext; 8615 VkBool32 allowCommandBufferQueryCopies; 8616 } VkPhysicalDevicePerformanceQueryPropertiesKHR; 8617 8618 typedef struct VkPerformanceCounterKHR { 8619 VkStructureType sType; 8620 void* pNext; 8621 VkPerformanceCounterUnitKHR unit; 8622 VkPerformanceCounterScopeKHR scope; 8623 VkPerformanceCounterStorageKHR storage; 8624 uint8_t uuid[VK_UUID_SIZE]; 8625 } VkPerformanceCounterKHR; 8626 8627 typedef struct VkPerformanceCounterDescriptionKHR { 8628 VkStructureType sType; 8629 void* pNext; 8630 VkPerformanceCounterDescriptionFlagsKHR flags; 8631 char name[VK_MAX_DESCRIPTION_SIZE]; 8632 char category[VK_MAX_DESCRIPTION_SIZE]; 8633 char description[VK_MAX_DESCRIPTION_SIZE]; 8634 } VkPerformanceCounterDescriptionKHR; 8635 8636 typedef struct VkQueryPoolPerformanceCreateInfoKHR { 8637 VkStructureType sType; 8638 const void* pNext; 8639 uint32_t queueFamilyIndex; 8640 uint32_t counterIndexCount; 8641 const uint32_t* pCounterIndices; 8642 } VkQueryPoolPerformanceCreateInfoKHR; 8643 8644 typedef union VkPerformanceCounterResultKHR { 8645 int32_t int32; 8646 int64_t int64; 8647 uint32_t uint32; 8648 uint64_t uint64; 8649 float float32; 8650 double float64; 8651 } VkPerformanceCounterResultKHR; 8652 8653 typedef struct VkAcquireProfilingLockInfoKHR { 8654 VkStructureType sType; 8655 const void* pNext; 8656 VkAcquireProfilingLockFlagsKHR flags; 8657 uint64_t timeout; 8658 } VkAcquireProfilingLockInfoKHR; 8659 8660 typedef struct VkPerformanceQuerySubmitInfoKHR { 8661 VkStructureType sType; 8662 const void* pNext; 8663 uint32_t counterPassIndex; 8664 } VkPerformanceQuerySubmitInfoKHR; 8665 8666 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, uint32_t* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions); 8667 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)(VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, uint32_t* pNumPasses); 8668 typedef VkResult (VKAPI_PTR *PFN_vkAcquireProfilingLockKHR)(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo); 8669 typedef void (VKAPI_PTR *PFN_vkReleaseProfilingLockKHR)(VkDevice device); 8670 8671 #ifndef VK_NO_PROTOTYPES 8672 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( 8673 VkPhysicalDevice physicalDevice, 8674 uint32_t queueFamilyIndex, 8675 uint32_t* pCounterCount, 8676 VkPerformanceCounterKHR* pCounters, 8677 VkPerformanceCounterDescriptionKHR* pCounterDescriptions); 8678 8679 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR( 8680 VkPhysicalDevice physicalDevice, 8681 const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, 8682 uint32_t* pNumPasses); 8683 8684 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireProfilingLockKHR( 8685 VkDevice device, 8686 const VkAcquireProfilingLockInfoKHR* pInfo); 8687 8688 VKAPI_ATTR void VKAPI_CALL vkReleaseProfilingLockKHR( 8689 VkDevice device); 8690 #endif 8691 8692 8693 #define VK_KHR_maintenance2 1 8694 #define VK_KHR_MAINTENANCE_2_SPEC_VERSION 1 8695 #define VK_KHR_MAINTENANCE_2_EXTENSION_NAME "VK_KHR_maintenance2" 8696 #define VK_KHR_MAINTENANCE2_SPEC_VERSION VK_KHR_MAINTENANCE_2_SPEC_VERSION 8697 #define VK_KHR_MAINTENANCE2_EXTENSION_NAME VK_KHR_MAINTENANCE_2_EXTENSION_NAME 8698 typedef VkPointClippingBehavior VkPointClippingBehaviorKHR; 8699 8700 typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR; 8701 8702 typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR; 8703 8704 typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR; 8705 8706 typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR; 8707 8708 typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR; 8709 8710 typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR; 8711 8712 8713 8714 #define VK_KHR_get_surface_capabilities2 1 8715 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1 8716 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2" 8717 typedef struct VkPhysicalDeviceSurfaceInfo2KHR { 8718 VkStructureType sType; 8719 const void* pNext; 8720 VkSurfaceKHR surface; 8721 } VkPhysicalDeviceSurfaceInfo2KHR; 8722 8723 typedef struct VkSurfaceCapabilities2KHR { 8724 VkStructureType sType; 8725 void* pNext; 8726 VkSurfaceCapabilitiesKHR surfaceCapabilities; 8727 } VkSurfaceCapabilities2KHR; 8728 8729 typedef struct VkSurfaceFormat2KHR { 8730 VkStructureType sType; 8731 void* pNext; 8732 VkSurfaceFormatKHR surfaceFormat; 8733 } VkSurfaceFormat2KHR; 8734 8735 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities); 8736 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats); 8737 8738 #ifndef VK_NO_PROTOTYPES 8739 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR( 8740 VkPhysicalDevice physicalDevice, 8741 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, 8742 VkSurfaceCapabilities2KHR* pSurfaceCapabilities); 8743 8744 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR( 8745 VkPhysicalDevice physicalDevice, 8746 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, 8747 uint32_t* pSurfaceFormatCount, 8748 VkSurfaceFormat2KHR* pSurfaceFormats); 8749 #endif 8750 8751 8752 #define VK_KHR_variable_pointers 1 8753 #define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1 8754 #define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers" 8755 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeaturesKHR; 8756 8757 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointersFeaturesKHR; 8758 8759 8760 8761 #define VK_KHR_get_display_properties2 1 8762 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1 8763 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2" 8764 typedef struct VkDisplayProperties2KHR { 8765 VkStructureType sType; 8766 void* pNext; 8767 VkDisplayPropertiesKHR displayProperties; 8768 } VkDisplayProperties2KHR; 8769 8770 typedef struct VkDisplayPlaneProperties2KHR { 8771 VkStructureType sType; 8772 void* pNext; 8773 VkDisplayPlanePropertiesKHR displayPlaneProperties; 8774 } VkDisplayPlaneProperties2KHR; 8775 8776 typedef struct VkDisplayModeProperties2KHR { 8777 VkStructureType sType; 8778 void* pNext; 8779 VkDisplayModePropertiesKHR displayModeProperties; 8780 } VkDisplayModeProperties2KHR; 8781 8782 typedef struct VkDisplayPlaneInfo2KHR { 8783 VkStructureType sType; 8784 const void* pNext; 8785 VkDisplayModeKHR mode; 8786 uint32_t planeIndex; 8787 } VkDisplayPlaneInfo2KHR; 8788 8789 typedef struct VkDisplayPlaneCapabilities2KHR { 8790 VkStructureType sType; 8791 void* pNext; 8792 VkDisplayPlaneCapabilitiesKHR capabilities; 8793 } VkDisplayPlaneCapabilities2KHR; 8794 8795 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayProperties2KHR* pProperties); 8796 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties); 8797 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModeProperties2KHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModeProperties2KHR* pProperties); 8798 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities); 8799 8800 #ifndef VK_NO_PROTOTYPES 8801 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayProperties2KHR( 8802 VkPhysicalDevice physicalDevice, 8803 uint32_t* pPropertyCount, 8804 VkDisplayProperties2KHR* pProperties); 8805 8806 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlaneProperties2KHR( 8807 VkPhysicalDevice physicalDevice, 8808 uint32_t* pPropertyCount, 8809 VkDisplayPlaneProperties2KHR* pProperties); 8810 8811 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModeProperties2KHR( 8812 VkPhysicalDevice physicalDevice, 8813 VkDisplayKHR display, 8814 uint32_t* pPropertyCount, 8815 VkDisplayModeProperties2KHR* pProperties); 8816 8817 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilities2KHR( 8818 VkPhysicalDevice physicalDevice, 8819 const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, 8820 VkDisplayPlaneCapabilities2KHR* pCapabilities); 8821 #endif 8822 8823 8824 #define VK_KHR_dedicated_allocation 1 8825 #define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3 8826 #define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation" 8827 typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR; 8828 8829 typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR; 8830 8831 8832 8833 #define VK_KHR_storage_buffer_storage_class 1 8834 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1 8835 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class" 8836 8837 8838 #define VK_KHR_relaxed_block_layout 1 8839 #define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1 8840 #define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout" 8841 8842 8843 #define VK_KHR_get_memory_requirements2 1 8844 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1 8845 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2" 8846 typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR; 8847 8848 typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR; 8849 8850 typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR; 8851 8852 typedef VkMemoryRequirements2 VkMemoryRequirements2KHR; 8853 8854 typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR; 8855 8856 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); 8857 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); 8858 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 8859 8860 #ifndef VK_NO_PROTOTYPES 8861 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2KHR( 8862 VkDevice device, 8863 const VkImageMemoryRequirementsInfo2* pInfo, 8864 VkMemoryRequirements2* pMemoryRequirements); 8865 8866 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2KHR( 8867 VkDevice device, 8868 const VkBufferMemoryRequirementsInfo2* pInfo, 8869 VkMemoryRequirements2* pMemoryRequirements); 8870 8871 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR( 8872 VkDevice device, 8873 const VkImageSparseMemoryRequirementsInfo2* pInfo, 8874 uint32_t* pSparseMemoryRequirementCount, 8875 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 8876 #endif 8877 8878 8879 #define VK_KHR_image_format_list 1 8880 #define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1 8881 #define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list" 8882 typedef VkImageFormatListCreateInfo VkImageFormatListCreateInfoKHR; 8883 8884 8885 8886 #define VK_KHR_sampler_ycbcr_conversion 1 8887 typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR; 8888 8889 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 14 8890 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion" 8891 typedef VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR; 8892 8893 typedef VkSamplerYcbcrRange VkSamplerYcbcrRangeKHR; 8894 8895 typedef VkChromaLocation VkChromaLocationKHR; 8896 8897 typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR; 8898 8899 typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR; 8900 8901 typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR; 8902 8903 typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR; 8904 8905 typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR; 8906 8907 typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR; 8908 8909 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion); 8910 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator); 8911 8912 #ifndef VK_NO_PROTOTYPES 8913 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversionKHR( 8914 VkDevice device, 8915 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, 8916 const VkAllocationCallbacks* pAllocator, 8917 VkSamplerYcbcrConversion* pYcbcrConversion); 8918 8919 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversionKHR( 8920 VkDevice device, 8921 VkSamplerYcbcrConversion ycbcrConversion, 8922 const VkAllocationCallbacks* pAllocator); 8923 #endif 8924 8925 8926 #define VK_KHR_bind_memory2 1 8927 #define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1 8928 #define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2" 8929 typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR; 8930 8931 typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR; 8932 8933 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos); 8934 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos); 8935 8936 #ifndef VK_NO_PROTOTYPES 8937 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2KHR( 8938 VkDevice device, 8939 uint32_t bindInfoCount, 8940 const VkBindBufferMemoryInfo* pBindInfos); 8941 8942 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR( 8943 VkDevice device, 8944 uint32_t bindInfoCount, 8945 const VkBindImageMemoryInfo* pBindInfos); 8946 #endif 8947 8948 8949 #define VK_KHR_maintenance3 1 8950 #define VK_KHR_MAINTENANCE_3_SPEC_VERSION 1 8951 #define VK_KHR_MAINTENANCE_3_EXTENSION_NAME "VK_KHR_maintenance3" 8952 #define VK_KHR_MAINTENANCE3_SPEC_VERSION VK_KHR_MAINTENANCE_3_SPEC_VERSION 8953 #define VK_KHR_MAINTENANCE3_EXTENSION_NAME VK_KHR_MAINTENANCE_3_EXTENSION_NAME 8954 typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR; 8955 8956 typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR; 8957 8958 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport); 8959 8960 #ifndef VK_NO_PROTOTYPES 8961 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR( 8962 VkDevice device, 8963 const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 8964 VkDescriptorSetLayoutSupport* pSupport); 8965 #endif 8966 8967 8968 #define VK_KHR_draw_indirect_count 1 8969 #define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1 8970 #define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count" 8971 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 8972 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 8973 8974 #ifndef VK_NO_PROTOTYPES 8975 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountKHR( 8976 VkCommandBuffer commandBuffer, 8977 VkBuffer buffer, 8978 VkDeviceSize offset, 8979 VkBuffer countBuffer, 8980 VkDeviceSize countBufferOffset, 8981 uint32_t maxDrawCount, 8982 uint32_t stride); 8983 8984 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountKHR( 8985 VkCommandBuffer commandBuffer, 8986 VkBuffer buffer, 8987 VkDeviceSize offset, 8988 VkBuffer countBuffer, 8989 VkDeviceSize countBufferOffset, 8990 uint32_t maxDrawCount, 8991 uint32_t stride); 8992 #endif 8993 8994 8995 #define VK_KHR_shader_subgroup_extended_types 1 8996 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION 1 8997 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME "VK_KHR_shader_subgroup_extended_types" 8998 typedef VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR; 8999 9000 9001 9002 #define VK_KHR_8bit_storage 1 9003 #define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1 9004 #define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage" 9005 typedef VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeaturesKHR; 9006 9007 9008 9009 #define VK_KHR_shader_atomic_int64 1 9010 #define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1 9011 #define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64" 9012 typedef VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64FeaturesKHR; 9013 9014 9015 9016 #define VK_KHR_shader_clock 1 9017 #define VK_KHR_SHADER_CLOCK_SPEC_VERSION 1 9018 #define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock" 9019 typedef struct VkPhysicalDeviceShaderClockFeaturesKHR { 9020 VkStructureType sType; 9021 void* pNext; 9022 VkBool32 shaderSubgroupClock; 9023 VkBool32 shaderDeviceClock; 9024 } VkPhysicalDeviceShaderClockFeaturesKHR; 9025 9026 9027 9028 #define VK_KHR_global_priority 1 9029 #define VK_MAX_GLOBAL_PRIORITY_SIZE_KHR 16U 9030 #define VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION 1 9031 #define VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME "VK_KHR_global_priority" 9032 9033 typedef enum VkQueueGlobalPriorityKHR { 9034 VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR = 128, 9035 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR = 256, 9036 VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR = 512, 9037 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR = 1024, 9038 VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR, 9039 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR, 9040 VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR, 9041 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR, 9042 VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_KHR = 0x7FFFFFFF 9043 } VkQueueGlobalPriorityKHR; 9044 typedef struct VkDeviceQueueGlobalPriorityCreateInfoKHR { 9045 VkStructureType sType; 9046 const void* pNext; 9047 VkQueueGlobalPriorityKHR globalPriority; 9048 } VkDeviceQueueGlobalPriorityCreateInfoKHR; 9049 9050 typedef struct VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR { 9051 VkStructureType sType; 9052 void* pNext; 9053 VkBool32 globalPriorityQuery; 9054 } VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR; 9055 9056 typedef struct VkQueueFamilyGlobalPriorityPropertiesKHR { 9057 VkStructureType sType; 9058 void* pNext; 9059 uint32_t priorityCount; 9060 VkQueueGlobalPriorityKHR priorities[VK_MAX_GLOBAL_PRIORITY_SIZE_KHR]; 9061 } VkQueueFamilyGlobalPriorityPropertiesKHR; 9062 9063 9064 9065 #define VK_KHR_driver_properties 1 9066 #define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1 9067 #define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties" 9068 #define VK_MAX_DRIVER_NAME_SIZE_KHR VK_MAX_DRIVER_NAME_SIZE 9069 #define VK_MAX_DRIVER_INFO_SIZE_KHR VK_MAX_DRIVER_INFO_SIZE 9070 typedef VkDriverId VkDriverIdKHR; 9071 9072 typedef VkConformanceVersion VkConformanceVersionKHR; 9073 9074 typedef VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverPropertiesKHR; 9075 9076 9077 9078 #define VK_KHR_shader_float_controls 1 9079 #define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 4 9080 #define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls" 9081 typedef VkShaderFloatControlsIndependence VkShaderFloatControlsIndependenceKHR; 9082 9083 typedef VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsPropertiesKHR; 9084 9085 9086 9087 #define VK_KHR_depth_stencil_resolve 1 9088 #define VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION 1 9089 #define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME "VK_KHR_depth_stencil_resolve" 9090 typedef VkResolveModeFlagBits VkResolveModeFlagBitsKHR; 9091 9092 typedef VkResolveModeFlags VkResolveModeFlagsKHR; 9093 9094 typedef VkSubpassDescriptionDepthStencilResolve VkSubpassDescriptionDepthStencilResolveKHR; 9095 9096 typedef VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolvePropertiesKHR; 9097 9098 9099 9100 #define VK_KHR_swapchain_mutable_format 1 9101 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1 9102 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME "VK_KHR_swapchain_mutable_format" 9103 9104 9105 #define VK_KHR_timeline_semaphore 1 9106 #define VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION 2 9107 #define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore" 9108 typedef VkSemaphoreType VkSemaphoreTypeKHR; 9109 9110 typedef VkSemaphoreWaitFlagBits VkSemaphoreWaitFlagBitsKHR; 9111 9112 typedef VkSemaphoreWaitFlags VkSemaphoreWaitFlagsKHR; 9113 9114 typedef VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeaturesKHR; 9115 9116 typedef VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphorePropertiesKHR; 9117 9118 typedef VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR; 9119 9120 typedef VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR; 9121 9122 typedef VkSemaphoreWaitInfo VkSemaphoreWaitInfoKHR; 9123 9124 typedef VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR; 9125 9126 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValueKHR)(VkDevice device, VkSemaphore semaphore, uint64_t* pValue); 9127 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphoresKHR)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout); 9128 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphoreKHR)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo); 9129 9130 #ifndef VK_NO_PROTOTYPES 9131 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValueKHR( 9132 VkDevice device, 9133 VkSemaphore semaphore, 9134 uint64_t* pValue); 9135 9136 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphoresKHR( 9137 VkDevice device, 9138 const VkSemaphoreWaitInfo* pWaitInfo, 9139 uint64_t timeout); 9140 9141 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphoreKHR( 9142 VkDevice device, 9143 const VkSemaphoreSignalInfo* pSignalInfo); 9144 #endif 9145 9146 9147 #define VK_KHR_vulkan_memory_model 1 9148 #define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3 9149 #define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model" 9150 typedef VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeaturesKHR; 9151 9152 9153 9154 #define VK_KHR_shader_terminate_invocation 1 9155 #define VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION 1 9156 #define VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME "VK_KHR_shader_terminate_invocation" 9157 typedef VkPhysicalDeviceShaderTerminateInvocationFeatures VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR; 9158 9159 9160 9161 #define VK_KHR_fragment_shading_rate 1 9162 #define VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION 2 9163 #define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate" 9164 9165 typedef enum VkFragmentShadingRateCombinerOpKHR { 9166 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0, 9167 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR = 1, 9168 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR = 2, 9169 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR = 3, 9170 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR = 4, 9171 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_ENUM_KHR = 0x7FFFFFFF 9172 } VkFragmentShadingRateCombinerOpKHR; 9173 typedef struct VkFragmentShadingRateAttachmentInfoKHR { 9174 VkStructureType sType; 9175 const void* pNext; 9176 const VkAttachmentReference2* pFragmentShadingRateAttachment; 9177 VkExtent2D shadingRateAttachmentTexelSize; 9178 } VkFragmentShadingRateAttachmentInfoKHR; 9179 9180 typedef struct VkPipelineFragmentShadingRateStateCreateInfoKHR { 9181 VkStructureType sType; 9182 const void* pNext; 9183 VkExtent2D fragmentSize; 9184 VkFragmentShadingRateCombinerOpKHR combinerOps[2]; 9185 } VkPipelineFragmentShadingRateStateCreateInfoKHR; 9186 9187 typedef struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR { 9188 VkStructureType sType; 9189 void* pNext; 9190 VkBool32 pipelineFragmentShadingRate; 9191 VkBool32 primitiveFragmentShadingRate; 9192 VkBool32 attachmentFragmentShadingRate; 9193 } VkPhysicalDeviceFragmentShadingRateFeaturesKHR; 9194 9195 typedef struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR { 9196 VkStructureType sType; 9197 void* pNext; 9198 VkExtent2D minFragmentShadingRateAttachmentTexelSize; 9199 VkExtent2D maxFragmentShadingRateAttachmentTexelSize; 9200 uint32_t maxFragmentShadingRateAttachmentTexelSizeAspectRatio; 9201 VkBool32 primitiveFragmentShadingRateWithMultipleViewports; 9202 VkBool32 layeredShadingRateAttachments; 9203 VkBool32 fragmentShadingRateNonTrivialCombinerOps; 9204 VkExtent2D maxFragmentSize; 9205 uint32_t maxFragmentSizeAspectRatio; 9206 uint32_t maxFragmentShadingRateCoverageSamples; 9207 VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples; 9208 VkBool32 fragmentShadingRateWithShaderDepthStencilWrites; 9209 VkBool32 fragmentShadingRateWithSampleMask; 9210 VkBool32 fragmentShadingRateWithShaderSampleMask; 9211 VkBool32 fragmentShadingRateWithConservativeRasterization; 9212 VkBool32 fragmentShadingRateWithFragmentShaderInterlock; 9213 VkBool32 fragmentShadingRateWithCustomSampleLocations; 9214 VkBool32 fragmentShadingRateStrictMultiplyCombiner; 9215 } VkPhysicalDeviceFragmentShadingRatePropertiesKHR; 9216 9217 typedef struct VkPhysicalDeviceFragmentShadingRateKHR { 9218 VkStructureType sType; 9219 void* pNext; 9220 VkSampleCountFlags sampleCounts; 9221 VkExtent2D fragmentSize; 9222 } VkPhysicalDeviceFragmentShadingRateKHR; 9223 9224 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates); 9225 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateKHR)(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); 9226 9227 #ifndef VK_NO_PROTOTYPES 9228 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceFragmentShadingRatesKHR( 9229 VkPhysicalDevice physicalDevice, 9230 uint32_t* pFragmentShadingRateCount, 9231 VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates); 9232 9233 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateKHR( 9234 VkCommandBuffer commandBuffer, 9235 const VkExtent2D* pFragmentSize, 9236 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); 9237 #endif 9238 9239 9240 #define VK_KHR_spirv_1_4 1 9241 #define VK_KHR_SPIRV_1_4_SPEC_VERSION 1 9242 #define VK_KHR_SPIRV_1_4_EXTENSION_NAME "VK_KHR_spirv_1_4" 9243 9244 9245 #define VK_KHR_surface_protected_capabilities 1 9246 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION 1 9247 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME "VK_KHR_surface_protected_capabilities" 9248 typedef struct VkSurfaceProtectedCapabilitiesKHR { 9249 VkStructureType sType; 9250 const void* pNext; 9251 VkBool32 supportsProtected; 9252 } VkSurfaceProtectedCapabilitiesKHR; 9253 9254 9255 9256 #define VK_KHR_separate_depth_stencil_layouts 1 9257 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION 1 9258 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME "VK_KHR_separate_depth_stencil_layouts" 9259 typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR; 9260 9261 typedef VkAttachmentReferenceStencilLayout VkAttachmentReferenceStencilLayoutKHR; 9262 9263 typedef VkAttachmentDescriptionStencilLayout VkAttachmentDescriptionStencilLayoutKHR; 9264 9265 9266 9267 #define VK_KHR_present_wait 1 9268 #define VK_KHR_PRESENT_WAIT_SPEC_VERSION 1 9269 #define VK_KHR_PRESENT_WAIT_EXTENSION_NAME "VK_KHR_present_wait" 9270 typedef struct VkPhysicalDevicePresentWaitFeaturesKHR { 9271 VkStructureType sType; 9272 void* pNext; 9273 VkBool32 presentWait; 9274 } VkPhysicalDevicePresentWaitFeaturesKHR; 9275 9276 typedef VkResult (VKAPI_PTR *PFN_vkWaitForPresentKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout); 9277 9278 #ifndef VK_NO_PROTOTYPES 9279 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForPresentKHR( 9280 VkDevice device, 9281 VkSwapchainKHR swapchain, 9282 uint64_t presentId, 9283 uint64_t timeout); 9284 #endif 9285 9286 9287 #define VK_KHR_uniform_buffer_standard_layout 1 9288 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION 1 9289 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout" 9290 typedef VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR; 9291 9292 9293 9294 #define VK_KHR_buffer_device_address 1 9295 #define VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 1 9296 #define VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_KHR_buffer_device_address" 9297 typedef VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR; 9298 9299 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoKHR; 9300 9301 typedef VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfoKHR; 9302 9303 typedef VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR; 9304 9305 typedef VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR; 9306 9307 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 9308 typedef uint64_t (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 9309 typedef uint64_t (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); 9310 9311 #ifndef VK_NO_PROTOTYPES 9312 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressKHR( 9313 VkDevice device, 9314 const VkBufferDeviceAddressInfo* pInfo); 9315 9316 VKAPI_ATTR uint64_t VKAPI_CALL vkGetBufferOpaqueCaptureAddressKHR( 9317 VkDevice device, 9318 const VkBufferDeviceAddressInfo* pInfo); 9319 9320 VKAPI_ATTR uint64_t VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddressKHR( 9321 VkDevice device, 9322 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); 9323 #endif 9324 9325 9326 #define VK_KHR_deferred_host_operations 1 9327 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR) 9328 #define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 4 9329 #define VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME "VK_KHR_deferred_host_operations" 9330 typedef VkResult (VKAPI_PTR *PFN_vkCreateDeferredOperationKHR)(VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation); 9331 typedef void (VKAPI_PTR *PFN_vkDestroyDeferredOperationKHR)(VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator); 9332 typedef uint32_t (VKAPI_PTR *PFN_vkGetDeferredOperationMaxConcurrencyKHR)(VkDevice device, VkDeferredOperationKHR operation); 9333 typedef VkResult (VKAPI_PTR *PFN_vkGetDeferredOperationResultKHR)(VkDevice device, VkDeferredOperationKHR operation); 9334 typedef VkResult (VKAPI_PTR *PFN_vkDeferredOperationJoinKHR)(VkDevice device, VkDeferredOperationKHR operation); 9335 9336 #ifndef VK_NO_PROTOTYPES 9337 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDeferredOperationKHR( 9338 VkDevice device, 9339 const VkAllocationCallbacks* pAllocator, 9340 VkDeferredOperationKHR* pDeferredOperation); 9341 9342 VKAPI_ATTR void VKAPI_CALL vkDestroyDeferredOperationKHR( 9343 VkDevice device, 9344 VkDeferredOperationKHR operation, 9345 const VkAllocationCallbacks* pAllocator); 9346 9347 VKAPI_ATTR uint32_t VKAPI_CALL vkGetDeferredOperationMaxConcurrencyKHR( 9348 VkDevice device, 9349 VkDeferredOperationKHR operation); 9350 9351 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeferredOperationResultKHR( 9352 VkDevice device, 9353 VkDeferredOperationKHR operation); 9354 9355 VKAPI_ATTR VkResult VKAPI_CALL vkDeferredOperationJoinKHR( 9356 VkDevice device, 9357 VkDeferredOperationKHR operation); 9358 #endif 9359 9360 9361 #define VK_KHR_pipeline_executable_properties 1 9362 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION 1 9363 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties" 9364 9365 typedef enum VkPipelineExecutableStatisticFormatKHR { 9366 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR = 0, 9367 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR = 1, 9368 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR = 2, 9369 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR = 3, 9370 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR = 0x7FFFFFFF 9371 } VkPipelineExecutableStatisticFormatKHR; 9372 typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR { 9373 VkStructureType sType; 9374 void* pNext; 9375 VkBool32 pipelineExecutableInfo; 9376 } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR; 9377 9378 typedef struct VkPipelineInfoKHR { 9379 VkStructureType sType; 9380 const void* pNext; 9381 VkPipeline pipeline; 9382 } VkPipelineInfoKHR; 9383 9384 typedef struct VkPipelineExecutablePropertiesKHR { 9385 VkStructureType sType; 9386 void* pNext; 9387 VkShaderStageFlags stages; 9388 char name[VK_MAX_DESCRIPTION_SIZE]; 9389 char description[VK_MAX_DESCRIPTION_SIZE]; 9390 uint32_t subgroupSize; 9391 } VkPipelineExecutablePropertiesKHR; 9392 9393 typedef struct VkPipelineExecutableInfoKHR { 9394 VkStructureType sType; 9395 const void* pNext; 9396 VkPipeline pipeline; 9397 uint32_t executableIndex; 9398 } VkPipelineExecutableInfoKHR; 9399 9400 typedef union VkPipelineExecutableStatisticValueKHR { 9401 VkBool32 b32; 9402 int64_t i64; 9403 uint64_t u64; 9404 double f64; 9405 } VkPipelineExecutableStatisticValueKHR; 9406 9407 typedef struct VkPipelineExecutableStatisticKHR { 9408 VkStructureType sType; 9409 void* pNext; 9410 char name[VK_MAX_DESCRIPTION_SIZE]; 9411 char description[VK_MAX_DESCRIPTION_SIZE]; 9412 VkPipelineExecutableStatisticFormatKHR format; 9413 VkPipelineExecutableStatisticValueKHR value; 9414 } VkPipelineExecutableStatisticKHR; 9415 9416 typedef struct VkPipelineExecutableInternalRepresentationKHR { 9417 VkStructureType sType; 9418 void* pNext; 9419 char name[VK_MAX_DESCRIPTION_SIZE]; 9420 char description[VK_MAX_DESCRIPTION_SIZE]; 9421 VkBool32 isText; 9422 size_t dataSize; 9423 void* pData; 9424 } VkPipelineExecutableInternalRepresentationKHR; 9425 9426 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutablePropertiesKHR)(VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties); 9427 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableStatisticsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics); 9428 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableInternalRepresentationsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations); 9429 9430 #ifndef VK_NO_PROTOTYPES 9431 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutablePropertiesKHR( 9432 VkDevice device, 9433 const VkPipelineInfoKHR* pPipelineInfo, 9434 uint32_t* pExecutableCount, 9435 VkPipelineExecutablePropertiesKHR* pProperties); 9436 9437 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableStatisticsKHR( 9438 VkDevice device, 9439 const VkPipelineExecutableInfoKHR* pExecutableInfo, 9440 uint32_t* pStatisticCount, 9441 VkPipelineExecutableStatisticKHR* pStatistics); 9442 9443 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableInternalRepresentationsKHR( 9444 VkDevice device, 9445 const VkPipelineExecutableInfoKHR* pExecutableInfo, 9446 uint32_t* pInternalRepresentationCount, 9447 VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations); 9448 #endif 9449 9450 9451 #define VK_KHR_shader_integer_dot_product 1 9452 #define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION 1 9453 #define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME "VK_KHR_shader_integer_dot_product" 9454 typedef VkPhysicalDeviceShaderIntegerDotProductFeatures VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR; 9455 9456 typedef VkPhysicalDeviceShaderIntegerDotProductProperties VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR; 9457 9458 9459 9460 #define VK_KHR_pipeline_library 1 9461 #define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1 9462 #define VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME "VK_KHR_pipeline_library" 9463 typedef struct VkPipelineLibraryCreateInfoKHR { 9464 VkStructureType sType; 9465 const void* pNext; 9466 uint32_t libraryCount; 9467 const VkPipeline* pLibraries; 9468 } VkPipelineLibraryCreateInfoKHR; 9469 9470 9471 9472 #define VK_KHR_shader_non_semantic_info 1 9473 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION 1 9474 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME "VK_KHR_shader_non_semantic_info" 9475 9476 9477 #define VK_KHR_present_id 1 9478 #define VK_KHR_PRESENT_ID_SPEC_VERSION 1 9479 #define VK_KHR_PRESENT_ID_EXTENSION_NAME "VK_KHR_present_id" 9480 typedef struct VkPresentIdKHR { 9481 VkStructureType sType; 9482 const void* pNext; 9483 uint32_t swapchainCount; 9484 const uint64_t* pPresentIds; 9485 } VkPresentIdKHR; 9486 9487 typedef struct VkPhysicalDevicePresentIdFeaturesKHR { 9488 VkStructureType sType; 9489 void* pNext; 9490 VkBool32 presentId; 9491 } VkPhysicalDevicePresentIdFeaturesKHR; 9492 9493 9494 9495 #define VK_KHR_synchronization2 1 9496 #define VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION 1 9497 #define VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME "VK_KHR_synchronization2" 9498 typedef VkPipelineStageFlags2 VkPipelineStageFlags2KHR; 9499 9500 typedef VkPipelineStageFlagBits2 VkPipelineStageFlagBits2KHR; 9501 9502 typedef VkAccessFlags2 VkAccessFlags2KHR; 9503 9504 typedef VkAccessFlagBits2 VkAccessFlagBits2KHR; 9505 9506 typedef VkSubmitFlagBits VkSubmitFlagBitsKHR; 9507 9508 typedef VkSubmitFlags VkSubmitFlagsKHR; 9509 9510 typedef VkMemoryBarrier2 VkMemoryBarrier2KHR; 9511 9512 typedef VkBufferMemoryBarrier2 VkBufferMemoryBarrier2KHR; 9513 9514 typedef VkImageMemoryBarrier2 VkImageMemoryBarrier2KHR; 9515 9516 typedef VkDependencyInfo VkDependencyInfoKHR; 9517 9518 typedef VkSubmitInfo2 VkSubmitInfo2KHR; 9519 9520 typedef VkSemaphoreSubmitInfo VkSemaphoreSubmitInfoKHR; 9521 9522 typedef VkCommandBufferSubmitInfo VkCommandBufferSubmitInfoKHR; 9523 9524 typedef VkPhysicalDeviceSynchronization2Features VkPhysicalDeviceSynchronization2FeaturesKHR; 9525 9526 typedef struct VkQueueFamilyCheckpointProperties2NV { 9527 VkStructureType sType; 9528 void* pNext; 9529 VkPipelineStageFlags2 checkpointExecutionStageMask; 9530 } VkQueueFamilyCheckpointProperties2NV; 9531 9532 typedef struct VkCheckpointData2NV { 9533 VkStructureType sType; 9534 void* pNext; 9535 VkPipelineStageFlags2 stage; 9536 void* pCheckpointMarker; 9537 } VkCheckpointData2NV; 9538 9539 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo); 9540 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask); 9541 typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2KHR)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos); 9542 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2KHR)(VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo); 9543 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2KHR)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query); 9544 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2KHR)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence); 9545 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarker2AMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker); 9546 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointData2NV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData); 9547 9548 #ifndef VK_NO_PROTOTYPES 9549 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2KHR( 9550 VkCommandBuffer commandBuffer, 9551 VkEvent event, 9552 const VkDependencyInfo* pDependencyInfo); 9553 9554 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2KHR( 9555 VkCommandBuffer commandBuffer, 9556 VkEvent event, 9557 VkPipelineStageFlags2 stageMask); 9558 9559 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2KHR( 9560 VkCommandBuffer commandBuffer, 9561 uint32_t eventCount, 9562 const VkEvent* pEvents, 9563 const VkDependencyInfo* pDependencyInfos); 9564 9565 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2KHR( 9566 VkCommandBuffer commandBuffer, 9567 const VkDependencyInfo* pDependencyInfo); 9568 9569 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2KHR( 9570 VkCommandBuffer commandBuffer, 9571 VkPipelineStageFlags2 stage, 9572 VkQueryPool queryPool, 9573 uint32_t query); 9574 9575 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2KHR( 9576 VkQueue queue, 9577 uint32_t submitCount, 9578 const VkSubmitInfo2* pSubmits, 9579 VkFence fence); 9580 9581 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarker2AMD( 9582 VkCommandBuffer commandBuffer, 9583 VkPipelineStageFlags2 stage, 9584 VkBuffer dstBuffer, 9585 VkDeviceSize dstOffset, 9586 uint32_t marker); 9587 9588 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointData2NV( 9589 VkQueue queue, 9590 uint32_t* pCheckpointDataCount, 9591 VkCheckpointData2NV* pCheckpointData); 9592 #endif 9593 9594 9595 #define VK_KHR_fragment_shader_barycentric 1 9596 #define VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1 9597 #define VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_KHR_fragment_shader_barycentric" 9598 typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR { 9599 VkStructureType sType; 9600 void* pNext; 9601 VkBool32 fragmentShaderBarycentric; 9602 } VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR; 9603 9604 typedef struct VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR { 9605 VkStructureType sType; 9606 void* pNext; 9607 VkBool32 triStripVertexOrderIndependentOfProvokingVertex; 9608 } VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR; 9609 9610 9611 9612 #define VK_KHR_shader_subgroup_uniform_control_flow 1 9613 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION 1 9614 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME "VK_KHR_shader_subgroup_uniform_control_flow" 9615 typedef struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR { 9616 VkStructureType sType; 9617 void* pNext; 9618 VkBool32 shaderSubgroupUniformControlFlow; 9619 } VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR; 9620 9621 9622 9623 #define VK_KHR_zero_initialize_workgroup_memory 1 9624 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION 1 9625 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME "VK_KHR_zero_initialize_workgroup_memory" 9626 typedef VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR; 9627 9628 9629 9630 #define VK_KHR_workgroup_memory_explicit_layout 1 9631 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION 1 9632 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME "VK_KHR_workgroup_memory_explicit_layout" 9633 typedef struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR { 9634 VkStructureType sType; 9635 void* pNext; 9636 VkBool32 workgroupMemoryExplicitLayout; 9637 VkBool32 workgroupMemoryExplicitLayoutScalarBlockLayout; 9638 VkBool32 workgroupMemoryExplicitLayout8BitAccess; 9639 VkBool32 workgroupMemoryExplicitLayout16BitAccess; 9640 } VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR; 9641 9642 9643 9644 #define VK_KHR_copy_commands2 1 9645 #define VK_KHR_COPY_COMMANDS_2_SPEC_VERSION 1 9646 #define VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME "VK_KHR_copy_commands2" 9647 typedef VkCopyBufferInfo2 VkCopyBufferInfo2KHR; 9648 9649 typedef VkCopyImageInfo2 VkCopyImageInfo2KHR; 9650 9651 typedef VkCopyBufferToImageInfo2 VkCopyBufferToImageInfo2KHR; 9652 9653 typedef VkCopyImageToBufferInfo2 VkCopyImageToBufferInfo2KHR; 9654 9655 typedef VkBlitImageInfo2 VkBlitImageInfo2KHR; 9656 9657 typedef VkResolveImageInfo2 VkResolveImageInfo2KHR; 9658 9659 typedef VkBufferCopy2 VkBufferCopy2KHR; 9660 9661 typedef VkImageCopy2 VkImageCopy2KHR; 9662 9663 typedef VkImageBlit2 VkImageBlit2KHR; 9664 9665 typedef VkBufferImageCopy2 VkBufferImageCopy2KHR; 9666 9667 typedef VkImageResolve2 VkImageResolve2KHR; 9668 9669 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo); 9670 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo); 9671 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo); 9672 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo); 9673 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2KHR)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo); 9674 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2KHR)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo); 9675 9676 #ifndef VK_NO_PROTOTYPES 9677 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2KHR( 9678 VkCommandBuffer commandBuffer, 9679 const VkCopyBufferInfo2* pCopyBufferInfo); 9680 9681 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2KHR( 9682 VkCommandBuffer commandBuffer, 9683 const VkCopyImageInfo2* pCopyImageInfo); 9684 9685 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2KHR( 9686 VkCommandBuffer commandBuffer, 9687 const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo); 9688 9689 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2KHR( 9690 VkCommandBuffer commandBuffer, 9691 const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo); 9692 9693 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2KHR( 9694 VkCommandBuffer commandBuffer, 9695 const VkBlitImageInfo2* pBlitImageInfo); 9696 9697 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2KHR( 9698 VkCommandBuffer commandBuffer, 9699 const VkResolveImageInfo2* pResolveImageInfo); 9700 #endif 9701 9702 9703 #define VK_KHR_format_feature_flags2 1 9704 #define VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION 2 9705 #define VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME "VK_KHR_format_feature_flags2" 9706 typedef VkFormatFeatureFlags2 VkFormatFeatureFlags2KHR; 9707 9708 typedef VkFormatFeatureFlagBits2 VkFormatFeatureFlagBits2KHR; 9709 9710 typedef VkFormatProperties3 VkFormatProperties3KHR; 9711 9712 9713 9714 #define VK_KHR_ray_tracing_maintenance1 1 9715 #define VK_KHR_RAY_TRACING_MAINTENANCE_1_SPEC_VERSION 1 9716 #define VK_KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_ray_tracing_maintenance1" 9717 typedef struct VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR { 9718 VkStructureType sType; 9719 void* pNext; 9720 VkBool32 rayTracingMaintenance1; 9721 VkBool32 rayTracingPipelineTraceRaysIndirect2; 9722 } VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR; 9723 9724 typedef struct VkTraceRaysIndirectCommand2KHR { 9725 VkDeviceAddress raygenShaderRecordAddress; 9726 VkDeviceSize raygenShaderRecordSize; 9727 VkDeviceAddress missShaderBindingTableAddress; 9728 VkDeviceSize missShaderBindingTableSize; 9729 VkDeviceSize missShaderBindingTableStride; 9730 VkDeviceAddress hitShaderBindingTableAddress; 9731 VkDeviceSize hitShaderBindingTableSize; 9732 VkDeviceSize hitShaderBindingTableStride; 9733 VkDeviceAddress callableShaderBindingTableAddress; 9734 VkDeviceSize callableShaderBindingTableSize; 9735 VkDeviceSize callableShaderBindingTableStride; 9736 uint32_t width; 9737 uint32_t height; 9738 uint32_t depth; 9739 } VkTraceRaysIndirectCommand2KHR; 9740 9741 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirect2KHR)(VkCommandBuffer commandBuffer, VkDeviceAddress indirectDeviceAddress); 9742 9743 #ifndef VK_NO_PROTOTYPES 9744 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirect2KHR( 9745 VkCommandBuffer commandBuffer, 9746 VkDeviceAddress indirectDeviceAddress); 9747 #endif 9748 9749 9750 #define VK_KHR_portability_enumeration 1 9751 #define VK_KHR_PORTABILITY_ENUMERATION_SPEC_VERSION 1 9752 #define VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME "VK_KHR_portability_enumeration" 9753 9754 9755 #define VK_KHR_maintenance4 1 9756 #define VK_KHR_MAINTENANCE_4_SPEC_VERSION 2 9757 #define VK_KHR_MAINTENANCE_4_EXTENSION_NAME "VK_KHR_maintenance4" 9758 typedef VkPhysicalDeviceMaintenance4Features VkPhysicalDeviceMaintenance4FeaturesKHR; 9759 9760 typedef VkPhysicalDeviceMaintenance4Properties VkPhysicalDeviceMaintenance4PropertiesKHR; 9761 9762 typedef VkDeviceBufferMemoryRequirements VkDeviceBufferMemoryRequirementsKHR; 9763 9764 typedef VkDeviceImageMemoryRequirements VkDeviceImageMemoryRequirementsKHR; 9765 9766 typedef void (VKAPI_PTR *PFN_vkGetDeviceBufferMemoryRequirementsKHR)(VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements); 9767 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageMemoryRequirementsKHR)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements); 9768 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSparseMemoryRequirementsKHR)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 9769 9770 #ifndef VK_NO_PROTOTYPES 9771 VKAPI_ATTR void VKAPI_CALL vkGetDeviceBufferMemoryRequirementsKHR( 9772 VkDevice device, 9773 const VkDeviceBufferMemoryRequirements* pInfo, 9774 VkMemoryRequirements2* pMemoryRequirements); 9775 9776 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageMemoryRequirementsKHR( 9777 VkDevice device, 9778 const VkDeviceImageMemoryRequirements* pInfo, 9779 VkMemoryRequirements2* pMemoryRequirements); 9780 9781 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSparseMemoryRequirementsKHR( 9782 VkDevice device, 9783 const VkDeviceImageMemoryRequirements* pInfo, 9784 uint32_t* pSparseMemoryRequirementCount, 9785 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 9786 #endif 9787 9788 9789 #define VK_EXT_debug_report 1 9790 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT) 9791 #define VK_EXT_DEBUG_REPORT_SPEC_VERSION 10 9792 #define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report" 9793 9794 typedef enum VkDebugReportObjectTypeEXT { 9795 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0, 9796 VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1, 9797 VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2, 9798 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3, 9799 VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4, 9800 VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5, 9801 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6, 9802 VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7, 9803 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8, 9804 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9, 9805 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10, 9806 VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11, 9807 VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12, 9808 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13, 9809 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14, 9810 VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15, 9811 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16, 9812 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17, 9813 VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18, 9814 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19, 9815 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20, 9816 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21, 9817 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22, 9818 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23, 9819 VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24, 9820 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25, 9821 VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26, 9822 VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27, 9823 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28, 9824 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29, 9825 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30, 9826 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33, 9827 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000, 9828 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000, 9829 VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT = 1000029000, 9830 VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT = 1000029001, 9831 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT = 1000150000, 9832 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = 1000165000, 9833 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT = 1000366000, 9834 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT, 9835 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT, 9836 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT, 9837 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT, 9838 VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 9839 } VkDebugReportObjectTypeEXT; 9840 9841 typedef enum VkDebugReportFlagBitsEXT { 9842 VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001, 9843 VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002, 9844 VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004, 9845 VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008, 9846 VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010, 9847 VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 9848 } VkDebugReportFlagBitsEXT; 9849 typedef VkFlags VkDebugReportFlagsEXT; 9850 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)( 9851 VkDebugReportFlagsEXT flags, 9852 VkDebugReportObjectTypeEXT objectType, 9853 uint64_t object, 9854 size_t location, 9855 int32_t messageCode, 9856 const char* pLayerPrefix, 9857 const char* pMessage, 9858 void* pUserData); 9859 9860 typedef struct VkDebugReportCallbackCreateInfoEXT { 9861 VkStructureType sType; 9862 const void* pNext; 9863 VkDebugReportFlagsEXT flags; 9864 PFN_vkDebugReportCallbackEXT pfnCallback; 9865 void* pUserData; 9866 } VkDebugReportCallbackCreateInfoEXT; 9867 9868 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback); 9869 typedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator); 9870 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); 9871 9872 #ifndef VK_NO_PROTOTYPES 9873 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT( 9874 VkInstance instance, 9875 const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, 9876 const VkAllocationCallbacks* pAllocator, 9877 VkDebugReportCallbackEXT* pCallback); 9878 9879 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT( 9880 VkInstance instance, 9881 VkDebugReportCallbackEXT callback, 9882 const VkAllocationCallbacks* pAllocator); 9883 9884 VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT( 9885 VkInstance instance, 9886 VkDebugReportFlagsEXT flags, 9887 VkDebugReportObjectTypeEXT objectType, 9888 uint64_t object, 9889 size_t location, 9890 int32_t messageCode, 9891 const char* pLayerPrefix, 9892 const char* pMessage); 9893 #endif 9894 9895 9896 #define VK_NV_glsl_shader 1 9897 #define VK_NV_GLSL_SHADER_SPEC_VERSION 1 9898 #define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader" 9899 9900 9901 #define VK_EXT_depth_range_unrestricted 1 9902 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1 9903 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted" 9904 9905 9906 #define VK_IMG_filter_cubic 1 9907 #define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1 9908 #define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic" 9909 9910 9911 #define VK_AMD_rasterization_order 1 9912 #define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1 9913 #define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order" 9914 9915 typedef enum VkRasterizationOrderAMD { 9916 VK_RASTERIZATION_ORDER_STRICT_AMD = 0, 9917 VK_RASTERIZATION_ORDER_RELAXED_AMD = 1, 9918 VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF 9919 } VkRasterizationOrderAMD; 9920 typedef struct VkPipelineRasterizationStateRasterizationOrderAMD { 9921 VkStructureType sType; 9922 const void* pNext; 9923 VkRasterizationOrderAMD rasterizationOrder; 9924 } VkPipelineRasterizationStateRasterizationOrderAMD; 9925 9926 9927 9928 #define VK_AMD_shader_trinary_minmax 1 9929 #define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1 9930 #define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax" 9931 9932 9933 #define VK_AMD_shader_explicit_vertex_parameter 1 9934 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1 9935 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter" 9936 9937 9938 #define VK_EXT_debug_marker 1 9939 #define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4 9940 #define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker" 9941 typedef struct VkDebugMarkerObjectNameInfoEXT { 9942 VkStructureType sType; 9943 const void* pNext; 9944 VkDebugReportObjectTypeEXT objectType; 9945 uint64_t object; 9946 const char* pObjectName; 9947 } VkDebugMarkerObjectNameInfoEXT; 9948 9949 typedef struct VkDebugMarkerObjectTagInfoEXT { 9950 VkStructureType sType; 9951 const void* pNext; 9952 VkDebugReportObjectTypeEXT objectType; 9953 uint64_t object; 9954 uint64_t tagName; 9955 size_t tagSize; 9956 const void* pTag; 9957 } VkDebugMarkerObjectTagInfoEXT; 9958 9959 typedef struct VkDebugMarkerMarkerInfoEXT { 9960 VkStructureType sType; 9961 const void* pNext; 9962 const char* pMarkerName; 9963 float color[4]; 9964 } VkDebugMarkerMarkerInfoEXT; 9965 9966 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo); 9967 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo); 9968 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 9969 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer); 9970 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 9971 9972 #ifndef VK_NO_PROTOTYPES 9973 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT( 9974 VkDevice device, 9975 const VkDebugMarkerObjectTagInfoEXT* pTagInfo); 9976 9977 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT( 9978 VkDevice device, 9979 const VkDebugMarkerObjectNameInfoEXT* pNameInfo); 9980 9981 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT( 9982 VkCommandBuffer commandBuffer, 9983 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 9984 9985 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT( 9986 VkCommandBuffer commandBuffer); 9987 9988 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT( 9989 VkCommandBuffer commandBuffer, 9990 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 9991 #endif 9992 9993 9994 #define VK_AMD_gcn_shader 1 9995 #define VK_AMD_GCN_SHADER_SPEC_VERSION 1 9996 #define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader" 9997 9998 9999 #define VK_NV_dedicated_allocation 1 10000 #define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1 10001 #define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation" 10002 typedef struct VkDedicatedAllocationImageCreateInfoNV { 10003 VkStructureType sType; 10004 const void* pNext; 10005 VkBool32 dedicatedAllocation; 10006 } VkDedicatedAllocationImageCreateInfoNV; 10007 10008 typedef struct VkDedicatedAllocationBufferCreateInfoNV { 10009 VkStructureType sType; 10010 const void* pNext; 10011 VkBool32 dedicatedAllocation; 10012 } VkDedicatedAllocationBufferCreateInfoNV; 10013 10014 typedef struct VkDedicatedAllocationMemoryAllocateInfoNV { 10015 VkStructureType sType; 10016 const void* pNext; 10017 VkImage image; 10018 VkBuffer buffer; 10019 } VkDedicatedAllocationMemoryAllocateInfoNV; 10020 10021 10022 10023 #define VK_EXT_transform_feedback 1 10024 #define VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION 1 10025 #define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback" 10026 typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT; 10027 typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT { 10028 VkStructureType sType; 10029 void* pNext; 10030 VkBool32 transformFeedback; 10031 VkBool32 geometryStreams; 10032 } VkPhysicalDeviceTransformFeedbackFeaturesEXT; 10033 10034 typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT { 10035 VkStructureType sType; 10036 void* pNext; 10037 uint32_t maxTransformFeedbackStreams; 10038 uint32_t maxTransformFeedbackBuffers; 10039 VkDeviceSize maxTransformFeedbackBufferSize; 10040 uint32_t maxTransformFeedbackStreamDataSize; 10041 uint32_t maxTransformFeedbackBufferDataSize; 10042 uint32_t maxTransformFeedbackBufferDataStride; 10043 VkBool32 transformFeedbackQueries; 10044 VkBool32 transformFeedbackStreamsLinesTriangles; 10045 VkBool32 transformFeedbackRasterizationStreamSelect; 10046 VkBool32 transformFeedbackDraw; 10047 } VkPhysicalDeviceTransformFeedbackPropertiesEXT; 10048 10049 typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT { 10050 VkStructureType sType; 10051 const void* pNext; 10052 VkPipelineRasterizationStateStreamCreateFlagsEXT flags; 10053 uint32_t rasterizationStream; 10054 } VkPipelineRasterizationStateStreamCreateInfoEXT; 10055 10056 typedef void (VKAPI_PTR *PFN_vkCmdBindTransformFeedbackBuffersEXT)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes); 10057 typedef void (VKAPI_PTR *PFN_vkCmdBeginTransformFeedbackEXT)(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets); 10058 typedef void (VKAPI_PTR *PFN_vkCmdEndTransformFeedbackEXT)(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets); 10059 typedef void (VKAPI_PTR *PFN_vkCmdBeginQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index); 10060 typedef void (VKAPI_PTR *PFN_vkCmdEndQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index); 10061 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectByteCountEXT)(VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride); 10062 10063 #ifndef VK_NO_PROTOTYPES 10064 VKAPI_ATTR void VKAPI_CALL vkCmdBindTransformFeedbackBuffersEXT( 10065 VkCommandBuffer commandBuffer, 10066 uint32_t firstBinding, 10067 uint32_t bindingCount, 10068 const VkBuffer* pBuffers, 10069 const VkDeviceSize* pOffsets, 10070 const VkDeviceSize* pSizes); 10071 10072 VKAPI_ATTR void VKAPI_CALL vkCmdBeginTransformFeedbackEXT( 10073 VkCommandBuffer commandBuffer, 10074 uint32_t firstCounterBuffer, 10075 uint32_t counterBufferCount, 10076 const VkBuffer* pCounterBuffers, 10077 const VkDeviceSize* pCounterBufferOffsets); 10078 10079 VKAPI_ATTR void VKAPI_CALL vkCmdEndTransformFeedbackEXT( 10080 VkCommandBuffer commandBuffer, 10081 uint32_t firstCounterBuffer, 10082 uint32_t counterBufferCount, 10083 const VkBuffer* pCounterBuffers, 10084 const VkDeviceSize* pCounterBufferOffsets); 10085 10086 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQueryIndexedEXT( 10087 VkCommandBuffer commandBuffer, 10088 VkQueryPool queryPool, 10089 uint32_t query, 10090 VkQueryControlFlags flags, 10091 uint32_t index); 10092 10093 VKAPI_ATTR void VKAPI_CALL vkCmdEndQueryIndexedEXT( 10094 VkCommandBuffer commandBuffer, 10095 VkQueryPool queryPool, 10096 uint32_t query, 10097 uint32_t index); 10098 10099 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectByteCountEXT( 10100 VkCommandBuffer commandBuffer, 10101 uint32_t instanceCount, 10102 uint32_t firstInstance, 10103 VkBuffer counterBuffer, 10104 VkDeviceSize counterBufferOffset, 10105 uint32_t counterOffset, 10106 uint32_t vertexStride); 10107 #endif 10108 10109 10110 #define VK_NVX_binary_import 1 10111 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuModuleNVX) 10112 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuFunctionNVX) 10113 #define VK_NVX_BINARY_IMPORT_SPEC_VERSION 1 10114 #define VK_NVX_BINARY_IMPORT_EXTENSION_NAME "VK_NVX_binary_import" 10115 typedef struct VkCuModuleCreateInfoNVX { 10116 VkStructureType sType; 10117 const void* pNext; 10118 size_t dataSize; 10119 const void* pData; 10120 } VkCuModuleCreateInfoNVX; 10121 10122 typedef struct VkCuFunctionCreateInfoNVX { 10123 VkStructureType sType; 10124 const void* pNext; 10125 VkCuModuleNVX module; 10126 const char* pName; 10127 } VkCuFunctionCreateInfoNVX; 10128 10129 typedef struct VkCuLaunchInfoNVX { 10130 VkStructureType sType; 10131 const void* pNext; 10132 VkCuFunctionNVX function; 10133 uint32_t gridDimX; 10134 uint32_t gridDimY; 10135 uint32_t gridDimZ; 10136 uint32_t blockDimX; 10137 uint32_t blockDimY; 10138 uint32_t blockDimZ; 10139 uint32_t sharedMemBytes; 10140 size_t paramCount; 10141 const void* const * pParams; 10142 size_t extraCount; 10143 const void* const * pExtras; 10144 } VkCuLaunchInfoNVX; 10145 10146 typedef VkResult (VKAPI_PTR *PFN_vkCreateCuModuleNVX)(VkDevice device, const VkCuModuleCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuModuleNVX* pModule); 10147 typedef VkResult (VKAPI_PTR *PFN_vkCreateCuFunctionNVX)(VkDevice device, const VkCuFunctionCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuFunctionNVX* pFunction); 10148 typedef void (VKAPI_PTR *PFN_vkDestroyCuModuleNVX)(VkDevice device, VkCuModuleNVX module, const VkAllocationCallbacks* pAllocator); 10149 typedef void (VKAPI_PTR *PFN_vkDestroyCuFunctionNVX)(VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks* pAllocator); 10150 typedef void (VKAPI_PTR *PFN_vkCmdCuLaunchKernelNVX)(VkCommandBuffer commandBuffer, const VkCuLaunchInfoNVX* pLaunchInfo); 10151 10152 #ifndef VK_NO_PROTOTYPES 10153 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuModuleNVX( 10154 VkDevice device, 10155 const VkCuModuleCreateInfoNVX* pCreateInfo, 10156 const VkAllocationCallbacks* pAllocator, 10157 VkCuModuleNVX* pModule); 10158 10159 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuFunctionNVX( 10160 VkDevice device, 10161 const VkCuFunctionCreateInfoNVX* pCreateInfo, 10162 const VkAllocationCallbacks* pAllocator, 10163 VkCuFunctionNVX* pFunction); 10164 10165 VKAPI_ATTR void VKAPI_CALL vkDestroyCuModuleNVX( 10166 VkDevice device, 10167 VkCuModuleNVX module, 10168 const VkAllocationCallbacks* pAllocator); 10169 10170 VKAPI_ATTR void VKAPI_CALL vkDestroyCuFunctionNVX( 10171 VkDevice device, 10172 VkCuFunctionNVX function, 10173 const VkAllocationCallbacks* pAllocator); 10174 10175 VKAPI_ATTR void VKAPI_CALL vkCmdCuLaunchKernelNVX( 10176 VkCommandBuffer commandBuffer, 10177 const VkCuLaunchInfoNVX* pLaunchInfo); 10178 #endif 10179 10180 10181 #define VK_NVX_image_view_handle 1 10182 #define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 2 10183 #define VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME "VK_NVX_image_view_handle" 10184 typedef struct VkImageViewHandleInfoNVX { 10185 VkStructureType sType; 10186 const void* pNext; 10187 VkImageView imageView; 10188 VkDescriptorType descriptorType; 10189 VkSampler sampler; 10190 } VkImageViewHandleInfoNVX; 10191 10192 typedef struct VkImageViewAddressPropertiesNVX { 10193 VkStructureType sType; 10194 void* pNext; 10195 VkDeviceAddress deviceAddress; 10196 VkDeviceSize size; 10197 } VkImageViewAddressPropertiesNVX; 10198 10199 typedef uint32_t (VKAPI_PTR *PFN_vkGetImageViewHandleNVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo); 10200 typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewAddressNVX)(VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties); 10201 10202 #ifndef VK_NO_PROTOTYPES 10203 VKAPI_ATTR uint32_t VKAPI_CALL vkGetImageViewHandleNVX( 10204 VkDevice device, 10205 const VkImageViewHandleInfoNVX* pInfo); 10206 10207 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewAddressNVX( 10208 VkDevice device, 10209 VkImageView imageView, 10210 VkImageViewAddressPropertiesNVX* pProperties); 10211 #endif 10212 10213 10214 #define VK_AMD_draw_indirect_count 1 10215 #define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 2 10216 #define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count" 10217 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 10218 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 10219 10220 #ifndef VK_NO_PROTOTYPES 10221 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD( 10222 VkCommandBuffer commandBuffer, 10223 VkBuffer buffer, 10224 VkDeviceSize offset, 10225 VkBuffer countBuffer, 10226 VkDeviceSize countBufferOffset, 10227 uint32_t maxDrawCount, 10228 uint32_t stride); 10229 10230 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD( 10231 VkCommandBuffer commandBuffer, 10232 VkBuffer buffer, 10233 VkDeviceSize offset, 10234 VkBuffer countBuffer, 10235 VkDeviceSize countBufferOffset, 10236 uint32_t maxDrawCount, 10237 uint32_t stride); 10238 #endif 10239 10240 10241 #define VK_AMD_negative_viewport_height 1 10242 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1 10243 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height" 10244 10245 10246 #define VK_AMD_gpu_shader_half_float 1 10247 #define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 2 10248 #define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float" 10249 10250 10251 #define VK_AMD_shader_ballot 1 10252 #define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1 10253 #define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot" 10254 10255 10256 #define VK_AMD_texture_gather_bias_lod 1 10257 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1 10258 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod" 10259 typedef struct VkTextureLODGatherFormatPropertiesAMD { 10260 VkStructureType sType; 10261 void* pNext; 10262 VkBool32 supportsTextureGatherLODBiasAMD; 10263 } VkTextureLODGatherFormatPropertiesAMD; 10264 10265 10266 10267 #define VK_AMD_shader_info 1 10268 #define VK_AMD_SHADER_INFO_SPEC_VERSION 1 10269 #define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info" 10270 10271 typedef enum VkShaderInfoTypeAMD { 10272 VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0, 10273 VK_SHADER_INFO_TYPE_BINARY_AMD = 1, 10274 VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2, 10275 VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF 10276 } VkShaderInfoTypeAMD; 10277 typedef struct VkShaderResourceUsageAMD { 10278 uint32_t numUsedVgprs; 10279 uint32_t numUsedSgprs; 10280 uint32_t ldsSizePerLocalWorkGroup; 10281 size_t ldsUsageSizeInBytes; 10282 size_t scratchMemUsageInBytes; 10283 } VkShaderResourceUsageAMD; 10284 10285 typedef struct VkShaderStatisticsInfoAMD { 10286 VkShaderStageFlags shaderStageMask; 10287 VkShaderResourceUsageAMD resourceUsage; 10288 uint32_t numPhysicalVgprs; 10289 uint32_t numPhysicalSgprs; 10290 uint32_t numAvailableVgprs; 10291 uint32_t numAvailableSgprs; 10292 uint32_t computeWorkGroupSize[3]; 10293 } VkShaderStatisticsInfoAMD; 10294 10295 typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t* pInfoSize, void* pInfo); 10296 10297 #ifndef VK_NO_PROTOTYPES 10298 VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderInfoAMD( 10299 VkDevice device, 10300 VkPipeline pipeline, 10301 VkShaderStageFlagBits shaderStage, 10302 VkShaderInfoTypeAMD infoType, 10303 size_t* pInfoSize, 10304 void* pInfo); 10305 #endif 10306 10307 10308 #define VK_AMD_shader_image_load_store_lod 1 10309 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1 10310 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod" 10311 10312 10313 #define VK_NV_corner_sampled_image 1 10314 #define VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION 2 10315 #define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image" 10316 typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV { 10317 VkStructureType sType; 10318 void* pNext; 10319 VkBool32 cornerSampledImage; 10320 } VkPhysicalDeviceCornerSampledImageFeaturesNV; 10321 10322 10323 10324 #define VK_IMG_format_pvrtc 1 10325 #define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1 10326 #define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc" 10327 10328 10329 #define VK_NV_external_memory_capabilities 1 10330 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1 10331 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities" 10332 10333 typedef enum VkExternalMemoryHandleTypeFlagBitsNV { 10334 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001, 10335 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002, 10336 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004, 10337 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008, 10338 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 10339 } VkExternalMemoryHandleTypeFlagBitsNV; 10340 typedef VkFlags VkExternalMemoryHandleTypeFlagsNV; 10341 10342 typedef enum VkExternalMemoryFeatureFlagBitsNV { 10343 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001, 10344 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002, 10345 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004, 10346 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 10347 } VkExternalMemoryFeatureFlagBitsNV; 10348 typedef VkFlags VkExternalMemoryFeatureFlagsNV; 10349 typedef struct VkExternalImageFormatPropertiesNV { 10350 VkImageFormatProperties imageFormatProperties; 10351 VkExternalMemoryFeatureFlagsNV externalMemoryFeatures; 10352 VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes; 10353 VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes; 10354 } VkExternalImageFormatPropertiesNV; 10355 10356 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties); 10357 10358 #ifndef VK_NO_PROTOTYPES 10359 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV( 10360 VkPhysicalDevice physicalDevice, 10361 VkFormat format, 10362 VkImageType type, 10363 VkImageTiling tiling, 10364 VkImageUsageFlags usage, 10365 VkImageCreateFlags flags, 10366 VkExternalMemoryHandleTypeFlagsNV externalHandleType, 10367 VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties); 10368 #endif 10369 10370 10371 #define VK_NV_external_memory 1 10372 #define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1 10373 #define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory" 10374 typedef struct VkExternalMemoryImageCreateInfoNV { 10375 VkStructureType sType; 10376 const void* pNext; 10377 VkExternalMemoryHandleTypeFlagsNV handleTypes; 10378 } VkExternalMemoryImageCreateInfoNV; 10379 10380 typedef struct VkExportMemoryAllocateInfoNV { 10381 VkStructureType sType; 10382 const void* pNext; 10383 VkExternalMemoryHandleTypeFlagsNV handleTypes; 10384 } VkExportMemoryAllocateInfoNV; 10385 10386 10387 10388 #define VK_EXT_validation_flags 1 10389 #define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 2 10390 #define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags" 10391 10392 typedef enum VkValidationCheckEXT { 10393 VK_VALIDATION_CHECK_ALL_EXT = 0, 10394 VK_VALIDATION_CHECK_SHADERS_EXT = 1, 10395 VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF 10396 } VkValidationCheckEXT; 10397 typedef struct VkValidationFlagsEXT { 10398 VkStructureType sType; 10399 const void* pNext; 10400 uint32_t disabledValidationCheckCount; 10401 const VkValidationCheckEXT* pDisabledValidationChecks; 10402 } VkValidationFlagsEXT; 10403 10404 10405 10406 #define VK_EXT_shader_subgroup_ballot 1 10407 #define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1 10408 #define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot" 10409 10410 10411 #define VK_EXT_shader_subgroup_vote 1 10412 #define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1 10413 #define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote" 10414 10415 10416 #define VK_EXT_texture_compression_astc_hdr 1 10417 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1 10418 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr" 10419 typedef VkPhysicalDeviceTextureCompressionASTCHDRFeatures VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT; 10420 10421 10422 10423 #define VK_EXT_astc_decode_mode 1 10424 #define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1 10425 #define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode" 10426 typedef struct VkImageViewASTCDecodeModeEXT { 10427 VkStructureType sType; 10428 const void* pNext; 10429 VkFormat decodeMode; 10430 } VkImageViewASTCDecodeModeEXT; 10431 10432 typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT { 10433 VkStructureType sType; 10434 void* pNext; 10435 VkBool32 decodeModeSharedExponent; 10436 } VkPhysicalDeviceASTCDecodeFeaturesEXT; 10437 10438 10439 10440 #define VK_EXT_pipeline_robustness 1 10441 #define VK_EXT_PIPELINE_ROBUSTNESS_SPEC_VERSION 1 10442 #define VK_EXT_PIPELINE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_pipeline_robustness" 10443 10444 typedef enum VkPipelineRobustnessBufferBehaviorEXT { 10445 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT_EXT = 0, 10446 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED_EXT = 1, 10447 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT = 2, 10448 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT = 3, 10449 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_MAX_ENUM_EXT = 0x7FFFFFFF 10450 } VkPipelineRobustnessBufferBehaviorEXT; 10451 10452 typedef enum VkPipelineRobustnessImageBehaviorEXT { 10453 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DEVICE_DEFAULT_EXT = 0, 10454 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DISABLED_EXT = 1, 10455 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_EXT = 2, 10456 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_2_EXT = 3, 10457 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_MAX_ENUM_EXT = 0x7FFFFFFF 10458 } VkPipelineRobustnessImageBehaviorEXT; 10459 typedef struct VkPhysicalDevicePipelineRobustnessFeaturesEXT { 10460 VkStructureType sType; 10461 void* pNext; 10462 VkBool32 pipelineRobustness; 10463 } VkPhysicalDevicePipelineRobustnessFeaturesEXT; 10464 10465 typedef struct VkPhysicalDevicePipelineRobustnessPropertiesEXT { 10466 VkStructureType sType; 10467 void* pNext; 10468 VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessStorageBuffers; 10469 VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessUniformBuffers; 10470 VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessVertexInputs; 10471 VkPipelineRobustnessImageBehaviorEXT defaultRobustnessImages; 10472 } VkPhysicalDevicePipelineRobustnessPropertiesEXT; 10473 10474 typedef struct VkPipelineRobustnessCreateInfoEXT { 10475 VkStructureType sType; 10476 const void* pNext; 10477 VkPipelineRobustnessBufferBehaviorEXT storageBuffers; 10478 VkPipelineRobustnessBufferBehaviorEXT uniformBuffers; 10479 VkPipelineRobustnessBufferBehaviorEXT vertexInputs; 10480 VkPipelineRobustnessImageBehaviorEXT images; 10481 } VkPipelineRobustnessCreateInfoEXT; 10482 10483 10484 10485 #define VK_EXT_conditional_rendering 1 10486 #define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 2 10487 #define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering" 10488 10489 typedef enum VkConditionalRenderingFlagBitsEXT { 10490 VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 0x00000001, 10491 VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 10492 } VkConditionalRenderingFlagBitsEXT; 10493 typedef VkFlags VkConditionalRenderingFlagsEXT; 10494 typedef struct VkConditionalRenderingBeginInfoEXT { 10495 VkStructureType sType; 10496 const void* pNext; 10497 VkBuffer buffer; 10498 VkDeviceSize offset; 10499 VkConditionalRenderingFlagsEXT flags; 10500 } VkConditionalRenderingBeginInfoEXT; 10501 10502 typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT { 10503 VkStructureType sType; 10504 void* pNext; 10505 VkBool32 conditionalRendering; 10506 VkBool32 inheritedConditionalRendering; 10507 } VkPhysicalDeviceConditionalRenderingFeaturesEXT; 10508 10509 typedef struct VkCommandBufferInheritanceConditionalRenderingInfoEXT { 10510 VkStructureType sType; 10511 const void* pNext; 10512 VkBool32 conditionalRenderingEnable; 10513 } VkCommandBufferInheritanceConditionalRenderingInfoEXT; 10514 10515 typedef void (VKAPI_PTR *PFN_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin); 10516 typedef void (VKAPI_PTR *PFN_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer commandBuffer); 10517 10518 #ifndef VK_NO_PROTOTYPES 10519 VKAPI_ATTR void VKAPI_CALL vkCmdBeginConditionalRenderingEXT( 10520 VkCommandBuffer commandBuffer, 10521 const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin); 10522 10523 VKAPI_ATTR void VKAPI_CALL vkCmdEndConditionalRenderingEXT( 10524 VkCommandBuffer commandBuffer); 10525 #endif 10526 10527 10528 #define VK_NV_clip_space_w_scaling 1 10529 #define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1 10530 #define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling" 10531 typedef struct VkViewportWScalingNV { 10532 float xcoeff; 10533 float ycoeff; 10534 } VkViewportWScalingNV; 10535 10536 typedef struct VkPipelineViewportWScalingStateCreateInfoNV { 10537 VkStructureType sType; 10538 const void* pNext; 10539 VkBool32 viewportWScalingEnable; 10540 uint32_t viewportCount; 10541 const VkViewportWScalingNV* pViewportWScalings; 10542 } VkPipelineViewportWScalingStateCreateInfoNV; 10543 10544 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportWScalingNV* pViewportWScalings); 10545 10546 #ifndef VK_NO_PROTOTYPES 10547 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingNV( 10548 VkCommandBuffer commandBuffer, 10549 uint32_t firstViewport, 10550 uint32_t viewportCount, 10551 const VkViewportWScalingNV* pViewportWScalings); 10552 #endif 10553 10554 10555 #define VK_EXT_direct_mode_display 1 10556 #define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1 10557 #define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display" 10558 typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display); 10559 10560 #ifndef VK_NO_PROTOTYPES 10561 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT( 10562 VkPhysicalDevice physicalDevice, 10563 VkDisplayKHR display); 10564 #endif 10565 10566 10567 #define VK_EXT_display_surface_counter 1 10568 #define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1 10569 #define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter" 10570 10571 typedef enum VkSurfaceCounterFlagBitsEXT { 10572 VK_SURFACE_COUNTER_VBLANK_BIT_EXT = 0x00000001, 10573 VK_SURFACE_COUNTER_VBLANK_EXT = VK_SURFACE_COUNTER_VBLANK_BIT_EXT, 10574 VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 10575 } VkSurfaceCounterFlagBitsEXT; 10576 typedef VkFlags VkSurfaceCounterFlagsEXT; 10577 typedef struct VkSurfaceCapabilities2EXT { 10578 VkStructureType sType; 10579 void* pNext; 10580 uint32_t minImageCount; 10581 uint32_t maxImageCount; 10582 VkExtent2D currentExtent; 10583 VkExtent2D minImageExtent; 10584 VkExtent2D maxImageExtent; 10585 uint32_t maxImageArrayLayers; 10586 VkSurfaceTransformFlagsKHR supportedTransforms; 10587 VkSurfaceTransformFlagBitsKHR currentTransform; 10588 VkCompositeAlphaFlagsKHR supportedCompositeAlpha; 10589 VkImageUsageFlags supportedUsageFlags; 10590 VkSurfaceCounterFlagsEXT supportedSurfaceCounters; 10591 } VkSurfaceCapabilities2EXT; 10592 10593 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities); 10594 10595 #ifndef VK_NO_PROTOTYPES 10596 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT( 10597 VkPhysicalDevice physicalDevice, 10598 VkSurfaceKHR surface, 10599 VkSurfaceCapabilities2EXT* pSurfaceCapabilities); 10600 #endif 10601 10602 10603 #define VK_EXT_display_control 1 10604 #define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1 10605 #define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control" 10606 10607 typedef enum VkDisplayPowerStateEXT { 10608 VK_DISPLAY_POWER_STATE_OFF_EXT = 0, 10609 VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1, 10610 VK_DISPLAY_POWER_STATE_ON_EXT = 2, 10611 VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF 10612 } VkDisplayPowerStateEXT; 10613 10614 typedef enum VkDeviceEventTypeEXT { 10615 VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0, 10616 VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 10617 } VkDeviceEventTypeEXT; 10618 10619 typedef enum VkDisplayEventTypeEXT { 10620 VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0, 10621 VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 10622 } VkDisplayEventTypeEXT; 10623 typedef struct VkDisplayPowerInfoEXT { 10624 VkStructureType sType; 10625 const void* pNext; 10626 VkDisplayPowerStateEXT powerState; 10627 } VkDisplayPowerInfoEXT; 10628 10629 typedef struct VkDeviceEventInfoEXT { 10630 VkStructureType sType; 10631 const void* pNext; 10632 VkDeviceEventTypeEXT deviceEvent; 10633 } VkDeviceEventInfoEXT; 10634 10635 typedef struct VkDisplayEventInfoEXT { 10636 VkStructureType sType; 10637 const void* pNext; 10638 VkDisplayEventTypeEXT displayEvent; 10639 } VkDisplayEventInfoEXT; 10640 10641 typedef struct VkSwapchainCounterCreateInfoEXT { 10642 VkStructureType sType; 10643 const void* pNext; 10644 VkSurfaceCounterFlagsEXT surfaceCounters; 10645 } VkSwapchainCounterCreateInfoEXT; 10646 10647 typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo); 10648 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); 10649 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); 10650 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue); 10651 10652 #ifndef VK_NO_PROTOTYPES 10653 VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT( 10654 VkDevice device, 10655 VkDisplayKHR display, 10656 const VkDisplayPowerInfoEXT* pDisplayPowerInfo); 10657 10658 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT( 10659 VkDevice device, 10660 const VkDeviceEventInfoEXT* pDeviceEventInfo, 10661 const VkAllocationCallbacks* pAllocator, 10662 VkFence* pFence); 10663 10664 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT( 10665 VkDevice device, 10666 VkDisplayKHR display, 10667 const VkDisplayEventInfoEXT* pDisplayEventInfo, 10668 const VkAllocationCallbacks* pAllocator, 10669 VkFence* pFence); 10670 10671 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT( 10672 VkDevice device, 10673 VkSwapchainKHR swapchain, 10674 VkSurfaceCounterFlagBitsEXT counter, 10675 uint64_t* pCounterValue); 10676 #endif 10677 10678 10679 #define VK_GOOGLE_display_timing 1 10680 #define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1 10681 #define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing" 10682 typedef struct VkRefreshCycleDurationGOOGLE { 10683 uint64_t refreshDuration; 10684 } VkRefreshCycleDurationGOOGLE; 10685 10686 typedef struct VkPastPresentationTimingGOOGLE { 10687 uint32_t presentID; 10688 uint64_t desiredPresentTime; 10689 uint64_t actualPresentTime; 10690 uint64_t earliestPresentTime; 10691 uint64_t presentMargin; 10692 } VkPastPresentationTimingGOOGLE; 10693 10694 typedef struct VkPresentTimeGOOGLE { 10695 uint32_t presentID; 10696 uint64_t desiredPresentTime; 10697 } VkPresentTimeGOOGLE; 10698 10699 typedef struct VkPresentTimesInfoGOOGLE { 10700 VkStructureType sType; 10701 const void* pNext; 10702 uint32_t swapchainCount; 10703 const VkPresentTimeGOOGLE* pTimes; 10704 } VkPresentTimesInfoGOOGLE; 10705 10706 typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties); 10707 typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings); 10708 10709 #ifndef VK_NO_PROTOTYPES 10710 VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE( 10711 VkDevice device, 10712 VkSwapchainKHR swapchain, 10713 VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties); 10714 10715 VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE( 10716 VkDevice device, 10717 VkSwapchainKHR swapchain, 10718 uint32_t* pPresentationTimingCount, 10719 VkPastPresentationTimingGOOGLE* pPresentationTimings); 10720 #endif 10721 10722 10723 #define VK_NV_sample_mask_override_coverage 1 10724 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1 10725 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage" 10726 10727 10728 #define VK_NV_geometry_shader_passthrough 1 10729 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1 10730 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough" 10731 10732 10733 #define VK_NV_viewport_array2 1 10734 #define VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION 1 10735 #define VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME "VK_NV_viewport_array2" 10736 #define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION 10737 #define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME 10738 10739 10740 #define VK_NVX_multiview_per_view_attributes 1 10741 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1 10742 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes" 10743 typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX { 10744 VkStructureType sType; 10745 void* pNext; 10746 VkBool32 perViewPositionAllComponents; 10747 } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX; 10748 10749 10750 10751 #define VK_NV_viewport_swizzle 1 10752 #define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1 10753 #define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle" 10754 10755 typedef enum VkViewportCoordinateSwizzleNV { 10756 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0, 10757 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1, 10758 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2, 10759 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3, 10760 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4, 10761 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5, 10762 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6, 10763 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7, 10764 VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF 10765 } VkViewportCoordinateSwizzleNV; 10766 typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV; 10767 typedef struct VkViewportSwizzleNV { 10768 VkViewportCoordinateSwizzleNV x; 10769 VkViewportCoordinateSwizzleNV y; 10770 VkViewportCoordinateSwizzleNV z; 10771 VkViewportCoordinateSwizzleNV w; 10772 } VkViewportSwizzleNV; 10773 10774 typedef struct VkPipelineViewportSwizzleStateCreateInfoNV { 10775 VkStructureType sType; 10776 const void* pNext; 10777 VkPipelineViewportSwizzleStateCreateFlagsNV flags; 10778 uint32_t viewportCount; 10779 const VkViewportSwizzleNV* pViewportSwizzles; 10780 } VkPipelineViewportSwizzleStateCreateInfoNV; 10781 10782 10783 10784 #define VK_EXT_discard_rectangles 1 10785 #define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 1 10786 #define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles" 10787 10788 typedef enum VkDiscardRectangleModeEXT { 10789 VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0, 10790 VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1, 10791 VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 10792 } VkDiscardRectangleModeEXT; 10793 typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT; 10794 typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT { 10795 VkStructureType sType; 10796 void* pNext; 10797 uint32_t maxDiscardRectangles; 10798 } VkPhysicalDeviceDiscardRectanglePropertiesEXT; 10799 10800 typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT { 10801 VkStructureType sType; 10802 const void* pNext; 10803 VkPipelineDiscardRectangleStateCreateFlagsEXT flags; 10804 VkDiscardRectangleModeEXT discardRectangleMode; 10805 uint32_t discardRectangleCount; 10806 const VkRect2D* pDiscardRectangles; 10807 } VkPipelineDiscardRectangleStateCreateInfoEXT; 10808 10809 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D* pDiscardRectangles); 10810 10811 #ifndef VK_NO_PROTOTYPES 10812 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT( 10813 VkCommandBuffer commandBuffer, 10814 uint32_t firstDiscardRectangle, 10815 uint32_t discardRectangleCount, 10816 const VkRect2D* pDiscardRectangles); 10817 #endif 10818 10819 10820 #define VK_EXT_conservative_rasterization 1 10821 #define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1 10822 #define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization" 10823 10824 typedef enum VkConservativeRasterizationModeEXT { 10825 VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0, 10826 VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1, 10827 VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2, 10828 VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 10829 } VkConservativeRasterizationModeEXT; 10830 typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT; 10831 typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT { 10832 VkStructureType sType; 10833 void* pNext; 10834 float primitiveOverestimationSize; 10835 float maxExtraPrimitiveOverestimationSize; 10836 float extraPrimitiveOverestimationSizeGranularity; 10837 VkBool32 primitiveUnderestimation; 10838 VkBool32 conservativePointAndLineRasterization; 10839 VkBool32 degenerateTrianglesRasterized; 10840 VkBool32 degenerateLinesRasterized; 10841 VkBool32 fullyCoveredFragmentShaderInputVariable; 10842 VkBool32 conservativeRasterizationPostDepthCoverage; 10843 } VkPhysicalDeviceConservativeRasterizationPropertiesEXT; 10844 10845 typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT { 10846 VkStructureType sType; 10847 const void* pNext; 10848 VkPipelineRasterizationConservativeStateCreateFlagsEXT flags; 10849 VkConservativeRasterizationModeEXT conservativeRasterizationMode; 10850 float extraPrimitiveOverestimationSize; 10851 } VkPipelineRasterizationConservativeStateCreateInfoEXT; 10852 10853 10854 10855 #define VK_EXT_depth_clip_enable 1 10856 #define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1 10857 #define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable" 10858 typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT; 10859 typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT { 10860 VkStructureType sType; 10861 void* pNext; 10862 VkBool32 depthClipEnable; 10863 } VkPhysicalDeviceDepthClipEnableFeaturesEXT; 10864 10865 typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT { 10866 VkStructureType sType; 10867 const void* pNext; 10868 VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags; 10869 VkBool32 depthClipEnable; 10870 } VkPipelineRasterizationDepthClipStateCreateInfoEXT; 10871 10872 10873 10874 #define VK_EXT_swapchain_colorspace 1 10875 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 4 10876 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace" 10877 10878 10879 #define VK_EXT_hdr_metadata 1 10880 #define VK_EXT_HDR_METADATA_SPEC_VERSION 2 10881 #define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata" 10882 typedef struct VkXYColorEXT { 10883 float x; 10884 float y; 10885 } VkXYColorEXT; 10886 10887 typedef struct VkHdrMetadataEXT { 10888 VkStructureType sType; 10889 const void* pNext; 10890 VkXYColorEXT displayPrimaryRed; 10891 VkXYColorEXT displayPrimaryGreen; 10892 VkXYColorEXT displayPrimaryBlue; 10893 VkXYColorEXT whitePoint; 10894 float maxLuminance; 10895 float minLuminance; 10896 float maxContentLightLevel; 10897 float maxFrameAverageLightLevel; 10898 } VkHdrMetadataEXT; 10899 10900 typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, uint32_t swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata); 10901 10902 #ifndef VK_NO_PROTOTYPES 10903 VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT( 10904 VkDevice device, 10905 uint32_t swapchainCount, 10906 const VkSwapchainKHR* pSwapchains, 10907 const VkHdrMetadataEXT* pMetadata); 10908 #endif 10909 10910 10911 #define VK_EXT_external_memory_dma_buf 1 10912 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1 10913 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf" 10914 10915 10916 #define VK_EXT_queue_family_foreign 1 10917 #define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1 10918 #define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign" 10919 #define VK_QUEUE_FAMILY_FOREIGN_EXT (~2U) 10920 10921 10922 #define VK_EXT_debug_utils 1 10923 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT) 10924 #define VK_EXT_DEBUG_UTILS_SPEC_VERSION 2 10925 #define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils" 10926 typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT; 10927 10928 typedef enum VkDebugUtilsMessageSeverityFlagBitsEXT { 10929 VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001, 10930 VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010, 10931 VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100, 10932 VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000, 10933 VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 10934 } VkDebugUtilsMessageSeverityFlagBitsEXT; 10935 10936 typedef enum VkDebugUtilsMessageTypeFlagBitsEXT { 10937 VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001, 10938 VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002, 10939 VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004, 10940 VK_DEBUG_UTILS_MESSAGE_TYPE_DEVICE_ADDRESS_BINDING_BIT_EXT = 0x00000008, 10941 VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 10942 } VkDebugUtilsMessageTypeFlagBitsEXT; 10943 typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT; 10944 typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT; 10945 typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT; 10946 typedef struct VkDebugUtilsLabelEXT { 10947 VkStructureType sType; 10948 const void* pNext; 10949 const char* pLabelName; 10950 float color[4]; 10951 } VkDebugUtilsLabelEXT; 10952 10953 typedef struct VkDebugUtilsObjectNameInfoEXT { 10954 VkStructureType sType; 10955 const void* pNext; 10956 VkObjectType objectType; 10957 uint64_t objectHandle; 10958 const char* pObjectName; 10959 } VkDebugUtilsObjectNameInfoEXT; 10960 10961 typedef struct VkDebugUtilsMessengerCallbackDataEXT { 10962 VkStructureType sType; 10963 const void* pNext; 10964 VkDebugUtilsMessengerCallbackDataFlagsEXT flags; 10965 const char* pMessageIdName; 10966 int32_t messageIdNumber; 10967 const char* pMessage; 10968 uint32_t queueLabelCount; 10969 const VkDebugUtilsLabelEXT* pQueueLabels; 10970 uint32_t cmdBufLabelCount; 10971 const VkDebugUtilsLabelEXT* pCmdBufLabels; 10972 uint32_t objectCount; 10973 const VkDebugUtilsObjectNameInfoEXT* pObjects; 10974 } VkDebugUtilsMessengerCallbackDataEXT; 10975 10976 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)( 10977 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, 10978 VkDebugUtilsMessageTypeFlagsEXT messageTypes, 10979 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData, 10980 void* pUserData); 10981 10982 typedef struct VkDebugUtilsMessengerCreateInfoEXT { 10983 VkStructureType sType; 10984 const void* pNext; 10985 VkDebugUtilsMessengerCreateFlagsEXT flags; 10986 VkDebugUtilsMessageSeverityFlagsEXT messageSeverity; 10987 VkDebugUtilsMessageTypeFlagsEXT messageType; 10988 PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback; 10989 void* pUserData; 10990 } VkDebugUtilsMessengerCreateInfoEXT; 10991 10992 typedef struct VkDebugUtilsObjectTagInfoEXT { 10993 VkStructureType sType; 10994 const void* pNext; 10995 VkObjectType objectType; 10996 uint64_t objectHandle; 10997 uint64_t tagName; 10998 size_t tagSize; 10999 const void* pTag; 11000 } VkDebugUtilsObjectTagInfoEXT; 11001 11002 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo); 11003 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo); 11004 typedef void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo); 11005 typedef void (VKAPI_PTR *PFN_vkQueueEndDebugUtilsLabelEXT)(VkQueue queue); 11006 typedef void (VKAPI_PTR *PFN_vkQueueInsertDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo); 11007 typedef void (VKAPI_PTR *PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo); 11008 typedef void (VKAPI_PTR *PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer); 11009 typedef void (VKAPI_PTR *PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo); 11010 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger); 11011 typedef void (VKAPI_PTR *PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator); 11012 typedef void (VKAPI_PTR *PFN_vkSubmitDebugUtilsMessageEXT)(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData); 11013 11014 #ifndef VK_NO_PROTOTYPES 11015 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectNameEXT( 11016 VkDevice device, 11017 const VkDebugUtilsObjectNameInfoEXT* pNameInfo); 11018 11019 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectTagEXT( 11020 VkDevice device, 11021 const VkDebugUtilsObjectTagInfoEXT* pTagInfo); 11022 11023 VKAPI_ATTR void VKAPI_CALL vkQueueBeginDebugUtilsLabelEXT( 11024 VkQueue queue, 11025 const VkDebugUtilsLabelEXT* pLabelInfo); 11026 11027 VKAPI_ATTR void VKAPI_CALL vkQueueEndDebugUtilsLabelEXT( 11028 VkQueue queue); 11029 11030 VKAPI_ATTR void VKAPI_CALL vkQueueInsertDebugUtilsLabelEXT( 11031 VkQueue queue, 11032 const VkDebugUtilsLabelEXT* pLabelInfo); 11033 11034 VKAPI_ATTR void VKAPI_CALL vkCmdBeginDebugUtilsLabelEXT( 11035 VkCommandBuffer commandBuffer, 11036 const VkDebugUtilsLabelEXT* pLabelInfo); 11037 11038 VKAPI_ATTR void VKAPI_CALL vkCmdEndDebugUtilsLabelEXT( 11039 VkCommandBuffer commandBuffer); 11040 11041 VKAPI_ATTR void VKAPI_CALL vkCmdInsertDebugUtilsLabelEXT( 11042 VkCommandBuffer commandBuffer, 11043 const VkDebugUtilsLabelEXT* pLabelInfo); 11044 11045 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT( 11046 VkInstance instance, 11047 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, 11048 const VkAllocationCallbacks* pAllocator, 11049 VkDebugUtilsMessengerEXT* pMessenger); 11050 11051 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT( 11052 VkInstance instance, 11053 VkDebugUtilsMessengerEXT messenger, 11054 const VkAllocationCallbacks* pAllocator); 11055 11056 VKAPI_ATTR void VKAPI_CALL vkSubmitDebugUtilsMessageEXT( 11057 VkInstance instance, 11058 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, 11059 VkDebugUtilsMessageTypeFlagsEXT messageTypes, 11060 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData); 11061 #endif 11062 11063 11064 #define VK_EXT_sampler_filter_minmax 1 11065 #define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 2 11066 #define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax" 11067 typedef VkSamplerReductionMode VkSamplerReductionModeEXT; 11068 11069 typedef VkSamplerReductionModeCreateInfo VkSamplerReductionModeCreateInfoEXT; 11070 11071 typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT; 11072 11073 11074 11075 #define VK_AMD_gpu_shader_int16 1 11076 #define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 2 11077 #define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16" 11078 11079 11080 #define VK_AMD_mixed_attachment_samples 1 11081 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1 11082 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples" 11083 11084 11085 #define VK_AMD_shader_fragment_mask 1 11086 #define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1 11087 #define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask" 11088 11089 11090 #define VK_EXT_inline_uniform_block 1 11091 #define VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION 1 11092 #define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block" 11093 typedef VkPhysicalDeviceInlineUniformBlockFeatures VkPhysicalDeviceInlineUniformBlockFeaturesEXT; 11094 11095 typedef VkPhysicalDeviceInlineUniformBlockProperties VkPhysicalDeviceInlineUniformBlockPropertiesEXT; 11096 11097 typedef VkWriteDescriptorSetInlineUniformBlock VkWriteDescriptorSetInlineUniformBlockEXT; 11098 11099 typedef VkDescriptorPoolInlineUniformBlockCreateInfo VkDescriptorPoolInlineUniformBlockCreateInfoEXT; 11100 11101 11102 11103 #define VK_EXT_shader_stencil_export 1 11104 #define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1 11105 #define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export" 11106 11107 11108 #define VK_EXT_sample_locations 1 11109 #define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1 11110 #define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations" 11111 typedef struct VkSampleLocationEXT { 11112 float x; 11113 float y; 11114 } VkSampleLocationEXT; 11115 11116 typedef struct VkSampleLocationsInfoEXT { 11117 VkStructureType sType; 11118 const void* pNext; 11119 VkSampleCountFlagBits sampleLocationsPerPixel; 11120 VkExtent2D sampleLocationGridSize; 11121 uint32_t sampleLocationsCount; 11122 const VkSampleLocationEXT* pSampleLocations; 11123 } VkSampleLocationsInfoEXT; 11124 11125 typedef struct VkAttachmentSampleLocationsEXT { 11126 uint32_t attachmentIndex; 11127 VkSampleLocationsInfoEXT sampleLocationsInfo; 11128 } VkAttachmentSampleLocationsEXT; 11129 11130 typedef struct VkSubpassSampleLocationsEXT { 11131 uint32_t subpassIndex; 11132 VkSampleLocationsInfoEXT sampleLocationsInfo; 11133 } VkSubpassSampleLocationsEXT; 11134 11135 typedef struct VkRenderPassSampleLocationsBeginInfoEXT { 11136 VkStructureType sType; 11137 const void* pNext; 11138 uint32_t attachmentInitialSampleLocationsCount; 11139 const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations; 11140 uint32_t postSubpassSampleLocationsCount; 11141 const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations; 11142 } VkRenderPassSampleLocationsBeginInfoEXT; 11143 11144 typedef struct VkPipelineSampleLocationsStateCreateInfoEXT { 11145 VkStructureType sType; 11146 const void* pNext; 11147 VkBool32 sampleLocationsEnable; 11148 VkSampleLocationsInfoEXT sampleLocationsInfo; 11149 } VkPipelineSampleLocationsStateCreateInfoEXT; 11150 11151 typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT { 11152 VkStructureType sType; 11153 void* pNext; 11154 VkSampleCountFlags sampleLocationSampleCounts; 11155 VkExtent2D maxSampleLocationGridSize; 11156 float sampleLocationCoordinateRange[2]; 11157 uint32_t sampleLocationSubPixelBits; 11158 VkBool32 variableSampleLocations; 11159 } VkPhysicalDeviceSampleLocationsPropertiesEXT; 11160 11161 typedef struct VkMultisamplePropertiesEXT { 11162 VkStructureType sType; 11163 void* pNext; 11164 VkExtent2D maxSampleLocationGridSize; 11165 } VkMultisamplePropertiesEXT; 11166 11167 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo); 11168 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties); 11169 11170 #ifndef VK_NO_PROTOTYPES 11171 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEXT( 11172 VkCommandBuffer commandBuffer, 11173 const VkSampleLocationsInfoEXT* pSampleLocationsInfo); 11174 11175 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT( 11176 VkPhysicalDevice physicalDevice, 11177 VkSampleCountFlagBits samples, 11178 VkMultisamplePropertiesEXT* pMultisampleProperties); 11179 #endif 11180 11181 11182 #define VK_EXT_blend_operation_advanced 1 11183 #define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2 11184 #define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced" 11185 11186 typedef enum VkBlendOverlapEXT { 11187 VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0, 11188 VK_BLEND_OVERLAP_DISJOINT_EXT = 1, 11189 VK_BLEND_OVERLAP_CONJOINT_EXT = 2, 11190 VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF 11191 } VkBlendOverlapEXT; 11192 typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT { 11193 VkStructureType sType; 11194 void* pNext; 11195 VkBool32 advancedBlendCoherentOperations; 11196 } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT; 11197 11198 typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT { 11199 VkStructureType sType; 11200 void* pNext; 11201 uint32_t advancedBlendMaxColorAttachments; 11202 VkBool32 advancedBlendIndependentBlend; 11203 VkBool32 advancedBlendNonPremultipliedSrcColor; 11204 VkBool32 advancedBlendNonPremultipliedDstColor; 11205 VkBool32 advancedBlendCorrelatedOverlap; 11206 VkBool32 advancedBlendAllOperations; 11207 } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT; 11208 11209 typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT { 11210 VkStructureType sType; 11211 const void* pNext; 11212 VkBool32 srcPremultiplied; 11213 VkBool32 dstPremultiplied; 11214 VkBlendOverlapEXT blendOverlap; 11215 } VkPipelineColorBlendAdvancedStateCreateInfoEXT; 11216 11217 11218 11219 #define VK_NV_fragment_coverage_to_color 1 11220 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1 11221 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color" 11222 typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV; 11223 typedef struct VkPipelineCoverageToColorStateCreateInfoNV { 11224 VkStructureType sType; 11225 const void* pNext; 11226 VkPipelineCoverageToColorStateCreateFlagsNV flags; 11227 VkBool32 coverageToColorEnable; 11228 uint32_t coverageToColorLocation; 11229 } VkPipelineCoverageToColorStateCreateInfoNV; 11230 11231 11232 11233 #define VK_NV_framebuffer_mixed_samples 1 11234 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1 11235 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples" 11236 11237 typedef enum VkCoverageModulationModeNV { 11238 VK_COVERAGE_MODULATION_MODE_NONE_NV = 0, 11239 VK_COVERAGE_MODULATION_MODE_RGB_NV = 1, 11240 VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2, 11241 VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3, 11242 VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF 11243 } VkCoverageModulationModeNV; 11244 typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV; 11245 typedef struct VkPipelineCoverageModulationStateCreateInfoNV { 11246 VkStructureType sType; 11247 const void* pNext; 11248 VkPipelineCoverageModulationStateCreateFlagsNV flags; 11249 VkCoverageModulationModeNV coverageModulationMode; 11250 VkBool32 coverageModulationTableEnable; 11251 uint32_t coverageModulationTableCount; 11252 const float* pCoverageModulationTable; 11253 } VkPipelineCoverageModulationStateCreateInfoNV; 11254 11255 11256 11257 #define VK_NV_fill_rectangle 1 11258 #define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1 11259 #define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle" 11260 11261 11262 #define VK_NV_shader_sm_builtins 1 11263 #define VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION 1 11264 #define VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME "VK_NV_shader_sm_builtins" 11265 typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV { 11266 VkStructureType sType; 11267 void* pNext; 11268 uint32_t shaderSMCount; 11269 uint32_t shaderWarpsPerSM; 11270 } VkPhysicalDeviceShaderSMBuiltinsPropertiesNV; 11271 11272 typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV { 11273 VkStructureType sType; 11274 void* pNext; 11275 VkBool32 shaderSMBuiltins; 11276 } VkPhysicalDeviceShaderSMBuiltinsFeaturesNV; 11277 11278 11279 11280 #define VK_EXT_post_depth_coverage 1 11281 #define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1 11282 #define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage" 11283 11284 11285 #define VK_EXT_image_drm_format_modifier 1 11286 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION 2 11287 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME "VK_EXT_image_drm_format_modifier" 11288 typedef struct VkDrmFormatModifierPropertiesEXT { 11289 uint64_t drmFormatModifier; 11290 uint32_t drmFormatModifierPlaneCount; 11291 VkFormatFeatureFlags drmFormatModifierTilingFeatures; 11292 } VkDrmFormatModifierPropertiesEXT; 11293 11294 typedef struct VkDrmFormatModifierPropertiesListEXT { 11295 VkStructureType sType; 11296 void* pNext; 11297 uint32_t drmFormatModifierCount; 11298 VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties; 11299 } VkDrmFormatModifierPropertiesListEXT; 11300 11301 typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT { 11302 VkStructureType sType; 11303 const void* pNext; 11304 uint64_t drmFormatModifier; 11305 VkSharingMode sharingMode; 11306 uint32_t queueFamilyIndexCount; 11307 const uint32_t* pQueueFamilyIndices; 11308 } VkPhysicalDeviceImageDrmFormatModifierInfoEXT; 11309 11310 typedef struct VkImageDrmFormatModifierListCreateInfoEXT { 11311 VkStructureType sType; 11312 const void* pNext; 11313 uint32_t drmFormatModifierCount; 11314 const uint64_t* pDrmFormatModifiers; 11315 } VkImageDrmFormatModifierListCreateInfoEXT; 11316 11317 typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT { 11318 VkStructureType sType; 11319 const void* pNext; 11320 uint64_t drmFormatModifier; 11321 uint32_t drmFormatModifierPlaneCount; 11322 const VkSubresourceLayout* pPlaneLayouts; 11323 } VkImageDrmFormatModifierExplicitCreateInfoEXT; 11324 11325 typedef struct VkImageDrmFormatModifierPropertiesEXT { 11326 VkStructureType sType; 11327 void* pNext; 11328 uint64_t drmFormatModifier; 11329 } VkImageDrmFormatModifierPropertiesEXT; 11330 11331 typedef struct VkDrmFormatModifierProperties2EXT { 11332 uint64_t drmFormatModifier; 11333 uint32_t drmFormatModifierPlaneCount; 11334 VkFormatFeatureFlags2 drmFormatModifierTilingFeatures; 11335 } VkDrmFormatModifierProperties2EXT; 11336 11337 typedef struct VkDrmFormatModifierPropertiesList2EXT { 11338 VkStructureType sType; 11339 void* pNext; 11340 uint32_t drmFormatModifierCount; 11341 VkDrmFormatModifierProperties2EXT* pDrmFormatModifierProperties; 11342 } VkDrmFormatModifierPropertiesList2EXT; 11343 11344 typedef VkResult (VKAPI_PTR *PFN_vkGetImageDrmFormatModifierPropertiesEXT)(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties); 11345 11346 #ifndef VK_NO_PROTOTYPES 11347 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageDrmFormatModifierPropertiesEXT( 11348 VkDevice device, 11349 VkImage image, 11350 VkImageDrmFormatModifierPropertiesEXT* pProperties); 11351 #endif 11352 11353 11354 #define VK_EXT_validation_cache 1 11355 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT) 11356 #define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1 11357 #define VK_EXT_VALIDATION_CACHE_EXTENSION_NAME "VK_EXT_validation_cache" 11358 11359 typedef enum VkValidationCacheHeaderVersionEXT { 11360 VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1, 11361 VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF 11362 } VkValidationCacheHeaderVersionEXT; 11363 typedef VkFlags VkValidationCacheCreateFlagsEXT; 11364 typedef struct VkValidationCacheCreateInfoEXT { 11365 VkStructureType sType; 11366 const void* pNext; 11367 VkValidationCacheCreateFlagsEXT flags; 11368 size_t initialDataSize; 11369 const void* pInitialData; 11370 } VkValidationCacheCreateInfoEXT; 11371 11372 typedef struct VkShaderModuleValidationCacheCreateInfoEXT { 11373 VkStructureType sType; 11374 const void* pNext; 11375 VkValidationCacheEXT validationCache; 11376 } VkShaderModuleValidationCacheCreateInfoEXT; 11377 11378 typedef VkResult (VKAPI_PTR *PFN_vkCreateValidationCacheEXT)(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache); 11379 typedef void (VKAPI_PTR *PFN_vkDestroyValidationCacheEXT)(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator); 11380 typedef VkResult (VKAPI_PTR *PFN_vkMergeValidationCachesEXT)(VkDevice device, VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const VkValidationCacheEXT* pSrcCaches); 11381 typedef VkResult (VKAPI_PTR *PFN_vkGetValidationCacheDataEXT)(VkDevice device, VkValidationCacheEXT validationCache, size_t* pDataSize, void* pData); 11382 11383 #ifndef VK_NO_PROTOTYPES 11384 VKAPI_ATTR VkResult VKAPI_CALL vkCreateValidationCacheEXT( 11385 VkDevice device, 11386 const VkValidationCacheCreateInfoEXT* pCreateInfo, 11387 const VkAllocationCallbacks* pAllocator, 11388 VkValidationCacheEXT* pValidationCache); 11389 11390 VKAPI_ATTR void VKAPI_CALL vkDestroyValidationCacheEXT( 11391 VkDevice device, 11392 VkValidationCacheEXT validationCache, 11393 const VkAllocationCallbacks* pAllocator); 11394 11395 VKAPI_ATTR VkResult VKAPI_CALL vkMergeValidationCachesEXT( 11396 VkDevice device, 11397 VkValidationCacheEXT dstCache, 11398 uint32_t srcCacheCount, 11399 const VkValidationCacheEXT* pSrcCaches); 11400 11401 VKAPI_ATTR VkResult VKAPI_CALL vkGetValidationCacheDataEXT( 11402 VkDevice device, 11403 VkValidationCacheEXT validationCache, 11404 size_t* pDataSize, 11405 void* pData); 11406 #endif 11407 11408 11409 #define VK_EXT_descriptor_indexing 1 11410 #define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2 11411 #define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing" 11412 typedef VkDescriptorBindingFlagBits VkDescriptorBindingFlagBitsEXT; 11413 11414 typedef VkDescriptorBindingFlags VkDescriptorBindingFlagsEXT; 11415 11416 typedef VkDescriptorSetLayoutBindingFlagsCreateInfo VkDescriptorSetLayoutBindingFlagsCreateInfoEXT; 11417 11418 typedef VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeaturesEXT; 11419 11420 typedef VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingPropertiesEXT; 11421 11422 typedef VkDescriptorSetVariableDescriptorCountAllocateInfo VkDescriptorSetVariableDescriptorCountAllocateInfoEXT; 11423 11424 typedef VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupportEXT; 11425 11426 11427 11428 #define VK_EXT_shader_viewport_index_layer 1 11429 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1 11430 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer" 11431 11432 11433 #define VK_NV_shading_rate_image 1 11434 #define VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION 3 11435 #define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image" 11436 11437 typedef enum VkShadingRatePaletteEntryNV { 11438 VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV = 0, 11439 VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV = 1, 11440 VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV = 2, 11441 VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV = 3, 11442 VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV = 4, 11443 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV = 5, 11444 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV = 6, 11445 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV = 7, 11446 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV = 8, 11447 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = 9, 11448 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = 10, 11449 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = 11, 11450 VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV = 0x7FFFFFFF 11451 } VkShadingRatePaletteEntryNV; 11452 11453 typedef enum VkCoarseSampleOrderTypeNV { 11454 VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = 0, 11455 VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = 1, 11456 VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = 2, 11457 VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3, 11458 VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 11459 } VkCoarseSampleOrderTypeNV; 11460 typedef struct VkShadingRatePaletteNV { 11461 uint32_t shadingRatePaletteEntryCount; 11462 const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries; 11463 } VkShadingRatePaletteNV; 11464 11465 typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV { 11466 VkStructureType sType; 11467 const void* pNext; 11468 VkBool32 shadingRateImageEnable; 11469 uint32_t viewportCount; 11470 const VkShadingRatePaletteNV* pShadingRatePalettes; 11471 } VkPipelineViewportShadingRateImageStateCreateInfoNV; 11472 11473 typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV { 11474 VkStructureType sType; 11475 void* pNext; 11476 VkBool32 shadingRateImage; 11477 VkBool32 shadingRateCoarseSampleOrder; 11478 } VkPhysicalDeviceShadingRateImageFeaturesNV; 11479 11480 typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV { 11481 VkStructureType sType; 11482 void* pNext; 11483 VkExtent2D shadingRateTexelSize; 11484 uint32_t shadingRatePaletteSize; 11485 uint32_t shadingRateMaxCoarseSamples; 11486 } VkPhysicalDeviceShadingRateImagePropertiesNV; 11487 11488 typedef struct VkCoarseSampleLocationNV { 11489 uint32_t pixelX; 11490 uint32_t pixelY; 11491 uint32_t sample; 11492 } VkCoarseSampleLocationNV; 11493 11494 typedef struct VkCoarseSampleOrderCustomNV { 11495 VkShadingRatePaletteEntryNV shadingRate; 11496 uint32_t sampleCount; 11497 uint32_t sampleLocationCount; 11498 const VkCoarseSampleLocationNV* pSampleLocations; 11499 } VkCoarseSampleOrderCustomNV; 11500 11501 typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV { 11502 VkStructureType sType; 11503 const void* pNext; 11504 VkCoarseSampleOrderTypeNV sampleOrderType; 11505 uint32_t customSampleOrderCount; 11506 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders; 11507 } VkPipelineViewportCoarseSampleOrderStateCreateInfoNV; 11508 11509 typedef void (VKAPI_PTR *PFN_vkCmdBindShadingRateImageNV)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout); 11510 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportShadingRatePaletteNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes); 11511 typedef void (VKAPI_PTR *PFN_vkCmdSetCoarseSampleOrderNV)(VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, uint32_t customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders); 11512 11513 #ifndef VK_NO_PROTOTYPES 11514 VKAPI_ATTR void VKAPI_CALL vkCmdBindShadingRateImageNV( 11515 VkCommandBuffer commandBuffer, 11516 VkImageView imageView, 11517 VkImageLayout imageLayout); 11518 11519 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportShadingRatePaletteNV( 11520 VkCommandBuffer commandBuffer, 11521 uint32_t firstViewport, 11522 uint32_t viewportCount, 11523 const VkShadingRatePaletteNV* pShadingRatePalettes); 11524 11525 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoarseSampleOrderNV( 11526 VkCommandBuffer commandBuffer, 11527 VkCoarseSampleOrderTypeNV sampleOrderType, 11528 uint32_t customSampleOrderCount, 11529 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders); 11530 #endif 11531 11532 11533 #define VK_NV_ray_tracing 1 11534 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV) 11535 #define VK_NV_RAY_TRACING_SPEC_VERSION 3 11536 #define VK_NV_RAY_TRACING_EXTENSION_NAME "VK_NV_ray_tracing" 11537 #define VK_SHADER_UNUSED_KHR (~0U) 11538 #define VK_SHADER_UNUSED_NV VK_SHADER_UNUSED_KHR 11539 11540 typedef enum VkRayTracingShaderGroupTypeKHR { 11541 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR = 0, 11542 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR = 1, 11543 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR = 2, 11544 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR, 11545 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR, 11546 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR, 11547 VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 11548 } VkRayTracingShaderGroupTypeKHR; 11549 typedef VkRayTracingShaderGroupTypeKHR VkRayTracingShaderGroupTypeNV; 11550 11551 11552 typedef enum VkGeometryTypeKHR { 11553 VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0, 11554 VK_GEOMETRY_TYPE_AABBS_KHR = 1, 11555 VK_GEOMETRY_TYPE_INSTANCES_KHR = 2, 11556 VK_GEOMETRY_TYPE_TRIANGLES_NV = VK_GEOMETRY_TYPE_TRIANGLES_KHR, 11557 VK_GEOMETRY_TYPE_AABBS_NV = VK_GEOMETRY_TYPE_AABBS_KHR, 11558 VK_GEOMETRY_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 11559 } VkGeometryTypeKHR; 11560 typedef VkGeometryTypeKHR VkGeometryTypeNV; 11561 11562 11563 typedef enum VkAccelerationStructureTypeKHR { 11564 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR = 0, 11565 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR = 1, 11566 VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR = 2, 11567 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR, 11568 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR, 11569 VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 11570 } VkAccelerationStructureTypeKHR; 11571 typedef VkAccelerationStructureTypeKHR VkAccelerationStructureTypeNV; 11572 11573 11574 typedef enum VkCopyAccelerationStructureModeKHR { 11575 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR = 0, 11576 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR = 1, 11577 VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR = 2, 11578 VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR = 3, 11579 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR, 11580 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR, 11581 VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 11582 } VkCopyAccelerationStructureModeKHR; 11583 typedef VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeNV; 11584 11585 11586 typedef enum VkAccelerationStructureMemoryRequirementsTypeNV { 11587 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = 0, 11588 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = 1, 11589 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = 2, 11590 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 11591 } VkAccelerationStructureMemoryRequirementsTypeNV; 11592 11593 typedef enum VkGeometryFlagBitsKHR { 11594 VK_GEOMETRY_OPAQUE_BIT_KHR = 0x00000001, 11595 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR = 0x00000002, 11596 VK_GEOMETRY_OPAQUE_BIT_NV = VK_GEOMETRY_OPAQUE_BIT_KHR, 11597 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV = VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR, 11598 VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 11599 } VkGeometryFlagBitsKHR; 11600 typedef VkFlags VkGeometryFlagsKHR; 11601 typedef VkGeometryFlagsKHR VkGeometryFlagsNV; 11602 11603 typedef VkGeometryFlagBitsKHR VkGeometryFlagBitsNV; 11604 11605 11606 typedef enum VkGeometryInstanceFlagBitsKHR { 11607 VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 0x00000001, 11608 VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR = 0x00000002, 11609 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 0x00000004, 11610 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 0x00000008, 11611 VK_GEOMETRY_INSTANCE_FORCE_OPACITY_MICROMAP_2_STATE_EXT = 0x00000010, 11612 VK_GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_EXT = 0x00000020, 11613 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR, 11614 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR, 11615 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR, 11616 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR, 11617 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR, 11618 VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 11619 } VkGeometryInstanceFlagBitsKHR; 11620 typedef VkFlags VkGeometryInstanceFlagsKHR; 11621 typedef VkGeometryInstanceFlagsKHR VkGeometryInstanceFlagsNV; 11622 11623 typedef VkGeometryInstanceFlagBitsKHR VkGeometryInstanceFlagBitsNV; 11624 11625 11626 typedef enum VkBuildAccelerationStructureFlagBitsKHR { 11627 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR = 0x00000001, 11628 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR = 0x00000002, 11629 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 0x00000004, 11630 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 0x00000008, 11631 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 0x00000010, 11632 VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 0x00000020, 11633 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_EXT = 0x00000040, 11634 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_EXT = 0x00000080, 11635 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_DATA_UPDATE_EXT = 0x00000100, 11636 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR, 11637 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR, 11638 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR, 11639 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR, 11640 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR, 11641 VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 11642 } VkBuildAccelerationStructureFlagBitsKHR; 11643 typedef VkFlags VkBuildAccelerationStructureFlagsKHR; 11644 typedef VkBuildAccelerationStructureFlagsKHR VkBuildAccelerationStructureFlagsNV; 11645 11646 typedef VkBuildAccelerationStructureFlagBitsKHR VkBuildAccelerationStructureFlagBitsNV; 11647 11648 typedef struct VkRayTracingShaderGroupCreateInfoNV { 11649 VkStructureType sType; 11650 const void* pNext; 11651 VkRayTracingShaderGroupTypeKHR type; 11652 uint32_t generalShader; 11653 uint32_t closestHitShader; 11654 uint32_t anyHitShader; 11655 uint32_t intersectionShader; 11656 } VkRayTracingShaderGroupCreateInfoNV; 11657 11658 typedef struct VkRayTracingPipelineCreateInfoNV { 11659 VkStructureType sType; 11660 const void* pNext; 11661 VkPipelineCreateFlags flags; 11662 uint32_t stageCount; 11663 const VkPipelineShaderStageCreateInfo* pStages; 11664 uint32_t groupCount; 11665 const VkRayTracingShaderGroupCreateInfoNV* pGroups; 11666 uint32_t maxRecursionDepth; 11667 VkPipelineLayout layout; 11668 VkPipeline basePipelineHandle; 11669 int32_t basePipelineIndex; 11670 } VkRayTracingPipelineCreateInfoNV; 11671 11672 typedef struct VkGeometryTrianglesNV { 11673 VkStructureType sType; 11674 const void* pNext; 11675 VkBuffer vertexData; 11676 VkDeviceSize vertexOffset; 11677 uint32_t vertexCount; 11678 VkDeviceSize vertexStride; 11679 VkFormat vertexFormat; 11680 VkBuffer indexData; 11681 VkDeviceSize indexOffset; 11682 uint32_t indexCount; 11683 VkIndexType indexType; 11684 VkBuffer transformData; 11685 VkDeviceSize transformOffset; 11686 } VkGeometryTrianglesNV; 11687 11688 typedef struct VkGeometryAABBNV { 11689 VkStructureType sType; 11690 const void* pNext; 11691 VkBuffer aabbData; 11692 uint32_t numAABBs; 11693 uint32_t stride; 11694 VkDeviceSize offset; 11695 } VkGeometryAABBNV; 11696 11697 typedef struct VkGeometryDataNV { 11698 VkGeometryTrianglesNV triangles; 11699 VkGeometryAABBNV aabbs; 11700 } VkGeometryDataNV; 11701 11702 typedef struct VkGeometryNV { 11703 VkStructureType sType; 11704 const void* pNext; 11705 VkGeometryTypeKHR geometryType; 11706 VkGeometryDataNV geometry; 11707 VkGeometryFlagsKHR flags; 11708 } VkGeometryNV; 11709 11710 typedef struct VkAccelerationStructureInfoNV { 11711 VkStructureType sType; 11712 const void* pNext; 11713 VkAccelerationStructureTypeNV type; 11714 VkBuildAccelerationStructureFlagsNV flags; 11715 uint32_t instanceCount; 11716 uint32_t geometryCount; 11717 const VkGeometryNV* pGeometries; 11718 } VkAccelerationStructureInfoNV; 11719 11720 typedef struct VkAccelerationStructureCreateInfoNV { 11721 VkStructureType sType; 11722 const void* pNext; 11723 VkDeviceSize compactedSize; 11724 VkAccelerationStructureInfoNV info; 11725 } VkAccelerationStructureCreateInfoNV; 11726 11727 typedef struct VkBindAccelerationStructureMemoryInfoNV { 11728 VkStructureType sType; 11729 const void* pNext; 11730 VkAccelerationStructureNV accelerationStructure; 11731 VkDeviceMemory memory; 11732 VkDeviceSize memoryOffset; 11733 uint32_t deviceIndexCount; 11734 const uint32_t* pDeviceIndices; 11735 } VkBindAccelerationStructureMemoryInfoNV; 11736 11737 typedef struct VkWriteDescriptorSetAccelerationStructureNV { 11738 VkStructureType sType; 11739 const void* pNext; 11740 uint32_t accelerationStructureCount; 11741 const VkAccelerationStructureNV* pAccelerationStructures; 11742 } VkWriteDescriptorSetAccelerationStructureNV; 11743 11744 typedef struct VkAccelerationStructureMemoryRequirementsInfoNV { 11745 VkStructureType sType; 11746 const void* pNext; 11747 VkAccelerationStructureMemoryRequirementsTypeNV type; 11748 VkAccelerationStructureNV accelerationStructure; 11749 } VkAccelerationStructureMemoryRequirementsInfoNV; 11750 11751 typedef struct VkPhysicalDeviceRayTracingPropertiesNV { 11752 VkStructureType sType; 11753 void* pNext; 11754 uint32_t shaderGroupHandleSize; 11755 uint32_t maxRecursionDepth; 11756 uint32_t maxShaderGroupStride; 11757 uint32_t shaderGroupBaseAlignment; 11758 uint64_t maxGeometryCount; 11759 uint64_t maxInstanceCount; 11760 uint64_t maxTriangleCount; 11761 uint32_t maxDescriptorSetAccelerationStructures; 11762 } VkPhysicalDeviceRayTracingPropertiesNV; 11763 11764 typedef struct VkTransformMatrixKHR { 11765 float matrix[3][4]; 11766 } VkTransformMatrixKHR; 11767 11768 typedef VkTransformMatrixKHR VkTransformMatrixNV; 11769 11770 typedef struct VkAabbPositionsKHR { 11771 float minX; 11772 float minY; 11773 float minZ; 11774 float maxX; 11775 float maxY; 11776 float maxZ; 11777 } VkAabbPositionsKHR; 11778 11779 typedef VkAabbPositionsKHR VkAabbPositionsNV; 11780 11781 typedef struct VkAccelerationStructureInstanceKHR { 11782 VkTransformMatrixKHR transform; 11783 uint32_t instanceCustomIndex:24; 11784 uint32_t mask:8; 11785 uint32_t instanceShaderBindingTableRecordOffset:24; 11786 VkGeometryInstanceFlagsKHR flags:8; 11787 uint64_t accelerationStructureReference; 11788 } VkAccelerationStructureInstanceKHR; 11789 11790 typedef VkAccelerationStructureInstanceKHR VkAccelerationStructureInstanceNV; 11791 11792 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureNV)(VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure); 11793 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator); 11794 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsNV)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements); 11795 typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryNV)(VkDevice device, uint32_t bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos); 11796 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); 11797 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNV)(VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode); 11798 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); 11799 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesNV)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 11800 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData); 11801 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesNV)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData); 11802 typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, size_t dataSize, void* pData); 11803 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesNV)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery); 11804 typedef VkResult (VKAPI_PTR *PFN_vkCompileDeferredNV)(VkDevice device, VkPipeline pipeline, uint32_t shader); 11805 11806 #ifndef VK_NO_PROTOTYPES 11807 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureNV( 11808 VkDevice device, 11809 const VkAccelerationStructureCreateInfoNV* pCreateInfo, 11810 const VkAllocationCallbacks* pAllocator, 11811 VkAccelerationStructureNV* pAccelerationStructure); 11812 11813 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureNV( 11814 VkDevice device, 11815 VkAccelerationStructureNV accelerationStructure, 11816 const VkAllocationCallbacks* pAllocator); 11817 11818 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsNV( 11819 VkDevice device, 11820 const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, 11821 VkMemoryRequirements2KHR* pMemoryRequirements); 11822 11823 VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryNV( 11824 VkDevice device, 11825 uint32_t bindInfoCount, 11826 const VkBindAccelerationStructureMemoryInfoNV* pBindInfos); 11827 11828 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureNV( 11829 VkCommandBuffer commandBuffer, 11830 const VkAccelerationStructureInfoNV* pInfo, 11831 VkBuffer instanceData, 11832 VkDeviceSize instanceOffset, 11833 VkBool32 update, 11834 VkAccelerationStructureNV dst, 11835 VkAccelerationStructureNV src, 11836 VkBuffer scratch, 11837 VkDeviceSize scratchOffset); 11838 11839 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureNV( 11840 VkCommandBuffer commandBuffer, 11841 VkAccelerationStructureNV dst, 11842 VkAccelerationStructureNV src, 11843 VkCopyAccelerationStructureModeKHR mode); 11844 11845 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysNV( 11846 VkCommandBuffer commandBuffer, 11847 VkBuffer raygenShaderBindingTableBuffer, 11848 VkDeviceSize raygenShaderBindingOffset, 11849 VkBuffer missShaderBindingTableBuffer, 11850 VkDeviceSize missShaderBindingOffset, 11851 VkDeviceSize missShaderBindingStride, 11852 VkBuffer hitShaderBindingTableBuffer, 11853 VkDeviceSize hitShaderBindingOffset, 11854 VkDeviceSize hitShaderBindingStride, 11855 VkBuffer callableShaderBindingTableBuffer, 11856 VkDeviceSize callableShaderBindingOffset, 11857 VkDeviceSize callableShaderBindingStride, 11858 uint32_t width, 11859 uint32_t height, 11860 uint32_t depth); 11861 11862 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesNV( 11863 VkDevice device, 11864 VkPipelineCache pipelineCache, 11865 uint32_t createInfoCount, 11866 const VkRayTracingPipelineCreateInfoNV* pCreateInfos, 11867 const VkAllocationCallbacks* pAllocator, 11868 VkPipeline* pPipelines); 11869 11870 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesKHR( 11871 VkDevice device, 11872 VkPipeline pipeline, 11873 uint32_t firstGroup, 11874 uint32_t groupCount, 11875 size_t dataSize, 11876 void* pData); 11877 11878 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesNV( 11879 VkDevice device, 11880 VkPipeline pipeline, 11881 uint32_t firstGroup, 11882 uint32_t groupCount, 11883 size_t dataSize, 11884 void* pData); 11885 11886 VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureHandleNV( 11887 VkDevice device, 11888 VkAccelerationStructureNV accelerationStructure, 11889 size_t dataSize, 11890 void* pData); 11891 11892 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesNV( 11893 VkCommandBuffer commandBuffer, 11894 uint32_t accelerationStructureCount, 11895 const VkAccelerationStructureNV* pAccelerationStructures, 11896 VkQueryType queryType, 11897 VkQueryPool queryPool, 11898 uint32_t firstQuery); 11899 11900 VKAPI_ATTR VkResult VKAPI_CALL vkCompileDeferredNV( 11901 VkDevice device, 11902 VkPipeline pipeline, 11903 uint32_t shader); 11904 #endif 11905 11906 11907 #define VK_NV_representative_fragment_test 1 11908 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 2 11909 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test" 11910 typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV { 11911 VkStructureType sType; 11912 void* pNext; 11913 VkBool32 representativeFragmentTest; 11914 } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV; 11915 11916 typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV { 11917 VkStructureType sType; 11918 const void* pNext; 11919 VkBool32 representativeFragmentTestEnable; 11920 } VkPipelineRepresentativeFragmentTestStateCreateInfoNV; 11921 11922 11923 11924 #define VK_EXT_filter_cubic 1 11925 #define VK_EXT_FILTER_CUBIC_SPEC_VERSION 3 11926 #define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic" 11927 typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT { 11928 VkStructureType sType; 11929 void* pNext; 11930 VkImageViewType imageViewType; 11931 } VkPhysicalDeviceImageViewImageFormatInfoEXT; 11932 11933 typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT { 11934 VkStructureType sType; 11935 void* pNext; 11936 VkBool32 filterCubic; 11937 VkBool32 filterCubicMinmax; 11938 } VkFilterCubicImageViewImageFormatPropertiesEXT; 11939 11940 11941 11942 #define VK_QCOM_render_pass_shader_resolve 1 11943 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION 4 11944 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME "VK_QCOM_render_pass_shader_resolve" 11945 11946 11947 #define VK_EXT_global_priority 1 11948 #define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2 11949 #define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority" 11950 typedef VkQueueGlobalPriorityKHR VkQueueGlobalPriorityEXT; 11951 11952 typedef VkDeviceQueueGlobalPriorityCreateInfoKHR VkDeviceQueueGlobalPriorityCreateInfoEXT; 11953 11954 11955 11956 #define VK_EXT_external_memory_host 1 11957 #define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1 11958 #define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host" 11959 typedef struct VkImportMemoryHostPointerInfoEXT { 11960 VkStructureType sType; 11961 const void* pNext; 11962 VkExternalMemoryHandleTypeFlagBits handleType; 11963 void* pHostPointer; 11964 } VkImportMemoryHostPointerInfoEXT; 11965 11966 typedef struct VkMemoryHostPointerPropertiesEXT { 11967 VkStructureType sType; 11968 void* pNext; 11969 uint32_t memoryTypeBits; 11970 } VkMemoryHostPointerPropertiesEXT; 11971 11972 typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT { 11973 VkStructureType sType; 11974 void* pNext; 11975 VkDeviceSize minImportedHostPointerAlignment; 11976 } VkPhysicalDeviceExternalMemoryHostPropertiesEXT; 11977 11978 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties); 11979 11980 #ifndef VK_NO_PROTOTYPES 11981 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT( 11982 VkDevice device, 11983 VkExternalMemoryHandleTypeFlagBits handleType, 11984 const void* pHostPointer, 11985 VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties); 11986 #endif 11987 11988 11989 #define VK_AMD_buffer_marker 1 11990 #define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1 11991 #define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker" 11992 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker); 11993 11994 #ifndef VK_NO_PROTOTYPES 11995 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD( 11996 VkCommandBuffer commandBuffer, 11997 VkPipelineStageFlagBits pipelineStage, 11998 VkBuffer dstBuffer, 11999 VkDeviceSize dstOffset, 12000 uint32_t marker); 12001 #endif 12002 12003 12004 #define VK_AMD_pipeline_compiler_control 1 12005 #define VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION 1 12006 #define VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME "VK_AMD_pipeline_compiler_control" 12007 12008 typedef enum VkPipelineCompilerControlFlagBitsAMD { 12009 VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF 12010 } VkPipelineCompilerControlFlagBitsAMD; 12011 typedef VkFlags VkPipelineCompilerControlFlagsAMD; 12012 typedef struct VkPipelineCompilerControlCreateInfoAMD { 12013 VkStructureType sType; 12014 const void* pNext; 12015 VkPipelineCompilerControlFlagsAMD compilerControlFlags; 12016 } VkPipelineCompilerControlCreateInfoAMD; 12017 12018 12019 12020 #define VK_EXT_calibrated_timestamps 1 12021 #define VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION 2 12022 #define VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_EXT_calibrated_timestamps" 12023 12024 typedef enum VkTimeDomainEXT { 12025 VK_TIME_DOMAIN_DEVICE_EXT = 0, 12026 VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = 1, 12027 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = 2, 12028 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = 3, 12029 VK_TIME_DOMAIN_MAX_ENUM_EXT = 0x7FFFFFFF 12030 } VkTimeDomainEXT; 12031 typedef struct VkCalibratedTimestampInfoEXT { 12032 VkStructureType sType; 12033 const void* pNext; 12034 VkTimeDomainEXT timeDomain; 12035 } VkCalibratedTimestampInfoEXT; 12036 12037 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainEXT* pTimeDomains); 12038 typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation); 12039 12040 #ifndef VK_NO_PROTOTYPES 12041 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( 12042 VkPhysicalDevice physicalDevice, 12043 uint32_t* pTimeDomainCount, 12044 VkTimeDomainEXT* pTimeDomains); 12045 12046 VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsEXT( 12047 VkDevice device, 12048 uint32_t timestampCount, 12049 const VkCalibratedTimestampInfoEXT* pTimestampInfos, 12050 uint64_t* pTimestamps, 12051 uint64_t* pMaxDeviation); 12052 #endif 12053 12054 12055 #define VK_AMD_shader_core_properties 1 12056 #define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 2 12057 #define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties" 12058 typedef struct VkPhysicalDeviceShaderCorePropertiesAMD { 12059 VkStructureType sType; 12060 void* pNext; 12061 uint32_t shaderEngineCount; 12062 uint32_t shaderArraysPerEngineCount; 12063 uint32_t computeUnitsPerShaderArray; 12064 uint32_t simdPerComputeUnit; 12065 uint32_t wavefrontsPerSimd; 12066 uint32_t wavefrontSize; 12067 uint32_t sgprsPerSimd; 12068 uint32_t minSgprAllocation; 12069 uint32_t maxSgprAllocation; 12070 uint32_t sgprAllocationGranularity; 12071 uint32_t vgprsPerSimd; 12072 uint32_t minVgprAllocation; 12073 uint32_t maxVgprAllocation; 12074 uint32_t vgprAllocationGranularity; 12075 } VkPhysicalDeviceShaderCorePropertiesAMD; 12076 12077 12078 12079 #define VK_AMD_memory_overallocation_behavior 1 12080 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION 1 12081 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME "VK_AMD_memory_overallocation_behavior" 12082 12083 typedef enum VkMemoryOverallocationBehaviorAMD { 12084 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0, 12085 VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD = 1, 12086 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD = 2, 12087 VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD = 0x7FFFFFFF 12088 } VkMemoryOverallocationBehaviorAMD; 12089 typedef struct VkDeviceMemoryOverallocationCreateInfoAMD { 12090 VkStructureType sType; 12091 const void* pNext; 12092 VkMemoryOverallocationBehaviorAMD overallocationBehavior; 12093 } VkDeviceMemoryOverallocationCreateInfoAMD; 12094 12095 12096 12097 #define VK_EXT_vertex_attribute_divisor 1 12098 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3 12099 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor" 12100 typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT { 12101 VkStructureType sType; 12102 void* pNext; 12103 uint32_t maxVertexAttribDivisor; 12104 } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT; 12105 12106 typedef struct VkVertexInputBindingDivisorDescriptionEXT { 12107 uint32_t binding; 12108 uint32_t divisor; 12109 } VkVertexInputBindingDivisorDescriptionEXT; 12110 12111 typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT { 12112 VkStructureType sType; 12113 const void* pNext; 12114 uint32_t vertexBindingDivisorCount; 12115 const VkVertexInputBindingDivisorDescriptionEXT* pVertexBindingDivisors; 12116 } VkPipelineVertexInputDivisorStateCreateInfoEXT; 12117 12118 typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT { 12119 VkStructureType sType; 12120 void* pNext; 12121 VkBool32 vertexAttributeInstanceRateDivisor; 12122 VkBool32 vertexAttributeInstanceRateZeroDivisor; 12123 } VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT; 12124 12125 12126 12127 #define VK_EXT_pipeline_creation_feedback 1 12128 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION 1 12129 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME "VK_EXT_pipeline_creation_feedback" 12130 typedef VkPipelineCreationFeedbackFlagBits VkPipelineCreationFeedbackFlagBitsEXT; 12131 12132 typedef VkPipelineCreationFeedbackFlags VkPipelineCreationFeedbackFlagsEXT; 12133 12134 typedef VkPipelineCreationFeedbackCreateInfo VkPipelineCreationFeedbackCreateInfoEXT; 12135 12136 typedef VkPipelineCreationFeedback VkPipelineCreationFeedbackEXT; 12137 12138 12139 12140 #define VK_NV_shader_subgroup_partitioned 1 12141 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1 12142 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned" 12143 12144 12145 #define VK_NV_compute_shader_derivatives 1 12146 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1 12147 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives" 12148 typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV { 12149 VkStructureType sType; 12150 void* pNext; 12151 VkBool32 computeDerivativeGroupQuads; 12152 VkBool32 computeDerivativeGroupLinear; 12153 } VkPhysicalDeviceComputeShaderDerivativesFeaturesNV; 12154 12155 12156 12157 #define VK_NV_mesh_shader 1 12158 #define VK_NV_MESH_SHADER_SPEC_VERSION 1 12159 #define VK_NV_MESH_SHADER_EXTENSION_NAME "VK_NV_mesh_shader" 12160 typedef struct VkPhysicalDeviceMeshShaderFeaturesNV { 12161 VkStructureType sType; 12162 void* pNext; 12163 VkBool32 taskShader; 12164 VkBool32 meshShader; 12165 } VkPhysicalDeviceMeshShaderFeaturesNV; 12166 12167 typedef struct VkPhysicalDeviceMeshShaderPropertiesNV { 12168 VkStructureType sType; 12169 void* pNext; 12170 uint32_t maxDrawMeshTasksCount; 12171 uint32_t maxTaskWorkGroupInvocations; 12172 uint32_t maxTaskWorkGroupSize[3]; 12173 uint32_t maxTaskTotalMemorySize; 12174 uint32_t maxTaskOutputCount; 12175 uint32_t maxMeshWorkGroupInvocations; 12176 uint32_t maxMeshWorkGroupSize[3]; 12177 uint32_t maxMeshTotalMemorySize; 12178 uint32_t maxMeshOutputVertices; 12179 uint32_t maxMeshOutputPrimitives; 12180 uint32_t maxMeshMultiviewViewCount; 12181 uint32_t meshOutputPerVertexGranularity; 12182 uint32_t meshOutputPerPrimitiveGranularity; 12183 } VkPhysicalDeviceMeshShaderPropertiesNV; 12184 12185 typedef struct VkDrawMeshTasksIndirectCommandNV { 12186 uint32_t taskCount; 12187 uint32_t firstTask; 12188 } VkDrawMeshTasksIndirectCommandNV; 12189 12190 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksNV)(VkCommandBuffer commandBuffer, uint32_t taskCount, uint32_t firstTask); 12191 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); 12192 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 12193 12194 #ifndef VK_NO_PROTOTYPES 12195 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksNV( 12196 VkCommandBuffer commandBuffer, 12197 uint32_t taskCount, 12198 uint32_t firstTask); 12199 12200 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectNV( 12201 VkCommandBuffer commandBuffer, 12202 VkBuffer buffer, 12203 VkDeviceSize offset, 12204 uint32_t drawCount, 12205 uint32_t stride); 12206 12207 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountNV( 12208 VkCommandBuffer commandBuffer, 12209 VkBuffer buffer, 12210 VkDeviceSize offset, 12211 VkBuffer countBuffer, 12212 VkDeviceSize countBufferOffset, 12213 uint32_t maxDrawCount, 12214 uint32_t stride); 12215 #endif 12216 12217 12218 #define VK_NV_fragment_shader_barycentric 1 12219 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1 12220 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric" 12221 typedef VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV; 12222 12223 12224 12225 #define VK_NV_shader_image_footprint 1 12226 #define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 2 12227 #define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint" 12228 typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV { 12229 VkStructureType sType; 12230 void* pNext; 12231 VkBool32 imageFootprint; 12232 } VkPhysicalDeviceShaderImageFootprintFeaturesNV; 12233 12234 12235 12236 #define VK_NV_scissor_exclusive 1 12237 #define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 1 12238 #define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive" 12239 typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV { 12240 VkStructureType sType; 12241 const void* pNext; 12242 uint32_t exclusiveScissorCount; 12243 const VkRect2D* pExclusiveScissors; 12244 } VkPipelineViewportExclusiveScissorStateCreateInfoNV; 12245 12246 typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV { 12247 VkStructureType sType; 12248 void* pNext; 12249 VkBool32 exclusiveScissor; 12250 } VkPhysicalDeviceExclusiveScissorFeaturesNV; 12251 12252 typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkRect2D* pExclusiveScissors); 12253 12254 #ifndef VK_NO_PROTOTYPES 12255 VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorNV( 12256 VkCommandBuffer commandBuffer, 12257 uint32_t firstExclusiveScissor, 12258 uint32_t exclusiveScissorCount, 12259 const VkRect2D* pExclusiveScissors); 12260 #endif 12261 12262 12263 #define VK_NV_device_diagnostic_checkpoints 1 12264 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2 12265 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints" 12266 typedef struct VkQueueFamilyCheckpointPropertiesNV { 12267 VkStructureType sType; 12268 void* pNext; 12269 VkPipelineStageFlags checkpointExecutionStageMask; 12270 } VkQueueFamilyCheckpointPropertiesNV; 12271 12272 typedef struct VkCheckpointDataNV { 12273 VkStructureType sType; 12274 void* pNext; 12275 VkPipelineStageFlagBits stage; 12276 void* pCheckpointMarker; 12277 } VkCheckpointDataNV; 12278 12279 typedef void (VKAPI_PTR *PFN_vkCmdSetCheckpointNV)(VkCommandBuffer commandBuffer, const void* pCheckpointMarker); 12280 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointDataNV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData); 12281 12282 #ifndef VK_NO_PROTOTYPES 12283 VKAPI_ATTR void VKAPI_CALL vkCmdSetCheckpointNV( 12284 VkCommandBuffer commandBuffer, 12285 const void* pCheckpointMarker); 12286 12287 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointDataNV( 12288 VkQueue queue, 12289 uint32_t* pCheckpointDataCount, 12290 VkCheckpointDataNV* pCheckpointData); 12291 #endif 12292 12293 12294 #define VK_INTEL_shader_integer_functions2 1 12295 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION 1 12296 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME "VK_INTEL_shader_integer_functions2" 12297 typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL { 12298 VkStructureType sType; 12299 void* pNext; 12300 VkBool32 shaderIntegerFunctions2; 12301 } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL; 12302 12303 12304 12305 #define VK_INTEL_performance_query 1 12306 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL) 12307 #define VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION 2 12308 #define VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME "VK_INTEL_performance_query" 12309 12310 typedef enum VkPerformanceConfigurationTypeINTEL { 12311 VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0, 12312 VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF 12313 } VkPerformanceConfigurationTypeINTEL; 12314 12315 typedef enum VkQueryPoolSamplingModeINTEL { 12316 VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0, 12317 VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL = 0x7FFFFFFF 12318 } VkQueryPoolSamplingModeINTEL; 12319 12320 typedef enum VkPerformanceOverrideTypeINTEL { 12321 VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0, 12322 VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1, 12323 VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF 12324 } VkPerformanceOverrideTypeINTEL; 12325 12326 typedef enum VkPerformanceParameterTypeINTEL { 12327 VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0, 12328 VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1, 12329 VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF 12330 } VkPerformanceParameterTypeINTEL; 12331 12332 typedef enum VkPerformanceValueTypeINTEL { 12333 VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0, 12334 VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1, 12335 VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL = 2, 12336 VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL = 3, 12337 VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4, 12338 VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF 12339 } VkPerformanceValueTypeINTEL; 12340 typedef union VkPerformanceValueDataINTEL { 12341 uint32_t value32; 12342 uint64_t value64; 12343 float valueFloat; 12344 VkBool32 valueBool; 12345 const char* valueString; 12346 } VkPerformanceValueDataINTEL; 12347 12348 typedef struct VkPerformanceValueINTEL { 12349 VkPerformanceValueTypeINTEL type; 12350 VkPerformanceValueDataINTEL data; 12351 } VkPerformanceValueINTEL; 12352 12353 typedef struct VkInitializePerformanceApiInfoINTEL { 12354 VkStructureType sType; 12355 const void* pNext; 12356 void* pUserData; 12357 } VkInitializePerformanceApiInfoINTEL; 12358 12359 typedef struct VkQueryPoolPerformanceQueryCreateInfoINTEL { 12360 VkStructureType sType; 12361 const void* pNext; 12362 VkQueryPoolSamplingModeINTEL performanceCountersSampling; 12363 } VkQueryPoolPerformanceQueryCreateInfoINTEL; 12364 12365 typedef VkQueryPoolPerformanceQueryCreateInfoINTEL VkQueryPoolCreateInfoINTEL; 12366 12367 typedef struct VkPerformanceMarkerInfoINTEL { 12368 VkStructureType sType; 12369 const void* pNext; 12370 uint64_t marker; 12371 } VkPerformanceMarkerInfoINTEL; 12372 12373 typedef struct VkPerformanceStreamMarkerInfoINTEL { 12374 VkStructureType sType; 12375 const void* pNext; 12376 uint32_t marker; 12377 } VkPerformanceStreamMarkerInfoINTEL; 12378 12379 typedef struct VkPerformanceOverrideInfoINTEL { 12380 VkStructureType sType; 12381 const void* pNext; 12382 VkPerformanceOverrideTypeINTEL type; 12383 VkBool32 enable; 12384 uint64_t parameter; 12385 } VkPerformanceOverrideInfoINTEL; 12386 12387 typedef struct VkPerformanceConfigurationAcquireInfoINTEL { 12388 VkStructureType sType; 12389 const void* pNext; 12390 VkPerformanceConfigurationTypeINTEL type; 12391 } VkPerformanceConfigurationAcquireInfoINTEL; 12392 12393 typedef VkResult (VKAPI_PTR *PFN_vkInitializePerformanceApiINTEL)(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo); 12394 typedef void (VKAPI_PTR *PFN_vkUninitializePerformanceApiINTEL)(VkDevice device); 12395 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo); 12396 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceStreamMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo); 12397 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceOverrideINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo); 12398 typedef VkResult (VKAPI_PTR *PFN_vkAcquirePerformanceConfigurationINTEL)(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration); 12399 typedef VkResult (VKAPI_PTR *PFN_vkReleasePerformanceConfigurationINTEL)(VkDevice device, VkPerformanceConfigurationINTEL configuration); 12400 typedef VkResult (VKAPI_PTR *PFN_vkQueueSetPerformanceConfigurationINTEL)(VkQueue queue, VkPerformanceConfigurationINTEL configuration); 12401 typedef VkResult (VKAPI_PTR *PFN_vkGetPerformanceParameterINTEL)(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue); 12402 12403 #ifndef VK_NO_PROTOTYPES 12404 VKAPI_ATTR VkResult VKAPI_CALL vkInitializePerformanceApiINTEL( 12405 VkDevice device, 12406 const VkInitializePerformanceApiInfoINTEL* pInitializeInfo); 12407 12408 VKAPI_ATTR void VKAPI_CALL vkUninitializePerformanceApiINTEL( 12409 VkDevice device); 12410 12411 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceMarkerINTEL( 12412 VkCommandBuffer commandBuffer, 12413 const VkPerformanceMarkerInfoINTEL* pMarkerInfo); 12414 12415 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceStreamMarkerINTEL( 12416 VkCommandBuffer commandBuffer, 12417 const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo); 12418 12419 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceOverrideINTEL( 12420 VkCommandBuffer commandBuffer, 12421 const VkPerformanceOverrideInfoINTEL* pOverrideInfo); 12422 12423 VKAPI_ATTR VkResult VKAPI_CALL vkAcquirePerformanceConfigurationINTEL( 12424 VkDevice device, 12425 const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, 12426 VkPerformanceConfigurationINTEL* pConfiguration); 12427 12428 VKAPI_ATTR VkResult VKAPI_CALL vkReleasePerformanceConfigurationINTEL( 12429 VkDevice device, 12430 VkPerformanceConfigurationINTEL configuration); 12431 12432 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSetPerformanceConfigurationINTEL( 12433 VkQueue queue, 12434 VkPerformanceConfigurationINTEL configuration); 12435 12436 VKAPI_ATTR VkResult VKAPI_CALL vkGetPerformanceParameterINTEL( 12437 VkDevice device, 12438 VkPerformanceParameterTypeINTEL parameter, 12439 VkPerformanceValueINTEL* pValue); 12440 #endif 12441 12442 12443 #define VK_EXT_pci_bus_info 1 12444 #define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2 12445 #define VK_EXT_PCI_BUS_INFO_EXTENSION_NAME "VK_EXT_pci_bus_info" 12446 typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT { 12447 VkStructureType sType; 12448 void* pNext; 12449 uint32_t pciDomain; 12450 uint32_t pciBus; 12451 uint32_t pciDevice; 12452 uint32_t pciFunction; 12453 } VkPhysicalDevicePCIBusInfoPropertiesEXT; 12454 12455 12456 12457 #define VK_AMD_display_native_hdr 1 12458 #define VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION 1 12459 #define VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME "VK_AMD_display_native_hdr" 12460 typedef struct VkDisplayNativeHdrSurfaceCapabilitiesAMD { 12461 VkStructureType sType; 12462 void* pNext; 12463 VkBool32 localDimmingSupport; 12464 } VkDisplayNativeHdrSurfaceCapabilitiesAMD; 12465 12466 typedef struct VkSwapchainDisplayNativeHdrCreateInfoAMD { 12467 VkStructureType sType; 12468 const void* pNext; 12469 VkBool32 localDimmingEnable; 12470 } VkSwapchainDisplayNativeHdrCreateInfoAMD; 12471 12472 typedef void (VKAPI_PTR *PFN_vkSetLocalDimmingAMD)(VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable); 12473 12474 #ifndef VK_NO_PROTOTYPES 12475 VKAPI_ATTR void VKAPI_CALL vkSetLocalDimmingAMD( 12476 VkDevice device, 12477 VkSwapchainKHR swapChain, 12478 VkBool32 localDimmingEnable); 12479 #endif 12480 12481 12482 #define VK_EXT_fragment_density_map 1 12483 #define VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION 2 12484 #define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map" 12485 typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT { 12486 VkStructureType sType; 12487 void* pNext; 12488 VkBool32 fragmentDensityMap; 12489 VkBool32 fragmentDensityMapDynamic; 12490 VkBool32 fragmentDensityMapNonSubsampledImages; 12491 } VkPhysicalDeviceFragmentDensityMapFeaturesEXT; 12492 12493 typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT { 12494 VkStructureType sType; 12495 void* pNext; 12496 VkExtent2D minFragmentDensityTexelSize; 12497 VkExtent2D maxFragmentDensityTexelSize; 12498 VkBool32 fragmentDensityInvocations; 12499 } VkPhysicalDeviceFragmentDensityMapPropertiesEXT; 12500 12501 typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT { 12502 VkStructureType sType; 12503 const void* pNext; 12504 VkAttachmentReference fragmentDensityMapAttachment; 12505 } VkRenderPassFragmentDensityMapCreateInfoEXT; 12506 12507 12508 12509 #define VK_EXT_scalar_block_layout 1 12510 #define VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION 1 12511 #define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout" 12512 typedef VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeaturesEXT; 12513 12514 12515 12516 #define VK_GOOGLE_hlsl_functionality1 1 12517 #define VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION 1 12518 #define VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1" 12519 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION 12520 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME 12521 12522 12523 #define VK_GOOGLE_decorate_string 1 12524 #define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1 12525 #define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string" 12526 12527 12528 #define VK_EXT_subgroup_size_control 1 12529 #define VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION 2 12530 #define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control" 12531 typedef VkPhysicalDeviceSubgroupSizeControlFeatures VkPhysicalDeviceSubgroupSizeControlFeaturesEXT; 12532 12533 typedef VkPhysicalDeviceSubgroupSizeControlProperties VkPhysicalDeviceSubgroupSizeControlPropertiesEXT; 12534 12535 typedef VkPipelineShaderStageRequiredSubgroupSizeCreateInfo VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT; 12536 12537 12538 12539 #define VK_AMD_shader_core_properties2 1 12540 #define VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION 1 12541 #define VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME "VK_AMD_shader_core_properties2" 12542 12543 typedef enum VkShaderCorePropertiesFlagBitsAMD { 12544 VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF 12545 } VkShaderCorePropertiesFlagBitsAMD; 12546 typedef VkFlags VkShaderCorePropertiesFlagsAMD; 12547 typedef struct VkPhysicalDeviceShaderCoreProperties2AMD { 12548 VkStructureType sType; 12549 void* pNext; 12550 VkShaderCorePropertiesFlagsAMD shaderCoreFeatures; 12551 uint32_t activeComputeUnitCount; 12552 } VkPhysicalDeviceShaderCoreProperties2AMD; 12553 12554 12555 12556 #define VK_AMD_device_coherent_memory 1 12557 #define VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION 1 12558 #define VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME "VK_AMD_device_coherent_memory" 12559 typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD { 12560 VkStructureType sType; 12561 void* pNext; 12562 VkBool32 deviceCoherentMemory; 12563 } VkPhysicalDeviceCoherentMemoryFeaturesAMD; 12564 12565 12566 12567 #define VK_EXT_shader_image_atomic_int64 1 12568 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION 1 12569 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME "VK_EXT_shader_image_atomic_int64" 12570 typedef struct VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT { 12571 VkStructureType sType; 12572 void* pNext; 12573 VkBool32 shaderImageInt64Atomics; 12574 VkBool32 sparseImageInt64Atomics; 12575 } VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT; 12576 12577 12578 12579 #define VK_EXT_memory_budget 1 12580 #define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1 12581 #define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget" 12582 typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT { 12583 VkStructureType sType; 12584 void* pNext; 12585 VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS]; 12586 VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS]; 12587 } VkPhysicalDeviceMemoryBudgetPropertiesEXT; 12588 12589 12590 12591 #define VK_EXT_memory_priority 1 12592 #define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1 12593 #define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority" 12594 typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT { 12595 VkStructureType sType; 12596 void* pNext; 12597 VkBool32 memoryPriority; 12598 } VkPhysicalDeviceMemoryPriorityFeaturesEXT; 12599 12600 typedef struct VkMemoryPriorityAllocateInfoEXT { 12601 VkStructureType sType; 12602 const void* pNext; 12603 float priority; 12604 } VkMemoryPriorityAllocateInfoEXT; 12605 12606 12607 12608 #define VK_NV_dedicated_allocation_image_aliasing 1 12609 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION 1 12610 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing" 12611 typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV { 12612 VkStructureType sType; 12613 void* pNext; 12614 VkBool32 dedicatedAllocationImageAliasing; 12615 } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV; 12616 12617 12618 12619 #define VK_EXT_buffer_device_address 1 12620 #define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2 12621 #define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address" 12622 typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT { 12623 VkStructureType sType; 12624 void* pNext; 12625 VkBool32 bufferDeviceAddress; 12626 VkBool32 bufferDeviceAddressCaptureReplay; 12627 VkBool32 bufferDeviceAddressMultiDevice; 12628 } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT; 12629 12630 typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT; 12631 12632 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoEXT; 12633 12634 typedef struct VkBufferDeviceAddressCreateInfoEXT { 12635 VkStructureType sType; 12636 const void* pNext; 12637 VkDeviceAddress deviceAddress; 12638 } VkBufferDeviceAddressCreateInfoEXT; 12639 12640 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressEXT)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 12641 12642 #ifndef VK_NO_PROTOTYPES 12643 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressEXT( 12644 VkDevice device, 12645 const VkBufferDeviceAddressInfo* pInfo); 12646 #endif 12647 12648 12649 #define VK_EXT_tooling_info 1 12650 #define VK_EXT_TOOLING_INFO_SPEC_VERSION 1 12651 #define VK_EXT_TOOLING_INFO_EXTENSION_NAME "VK_EXT_tooling_info" 12652 typedef VkToolPurposeFlagBits VkToolPurposeFlagBitsEXT; 12653 12654 typedef VkToolPurposeFlags VkToolPurposeFlagsEXT; 12655 12656 typedef VkPhysicalDeviceToolProperties VkPhysicalDeviceToolPropertiesEXT; 12657 12658 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolPropertiesEXT)(VkPhysicalDevice physicalDevice, uint32_t* pToolCount, VkPhysicalDeviceToolProperties* pToolProperties); 12659 12660 #ifndef VK_NO_PROTOTYPES 12661 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolPropertiesEXT( 12662 VkPhysicalDevice physicalDevice, 12663 uint32_t* pToolCount, 12664 VkPhysicalDeviceToolProperties* pToolProperties); 12665 #endif 12666 12667 12668 #define VK_EXT_separate_stencil_usage 1 12669 #define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1 12670 #define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage" 12671 typedef VkImageStencilUsageCreateInfo VkImageStencilUsageCreateInfoEXT; 12672 12673 12674 12675 #define VK_EXT_validation_features 1 12676 #define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 5 12677 #define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features" 12678 12679 typedef enum VkValidationFeatureEnableEXT { 12680 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0, 12681 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1, 12682 VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2, 12683 VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3, 12684 VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT = 4, 12685 VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF 12686 } VkValidationFeatureEnableEXT; 12687 12688 typedef enum VkValidationFeatureDisableEXT { 12689 VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0, 12690 VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1, 12691 VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2, 12692 VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3, 12693 VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4, 12694 VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5, 12695 VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6, 12696 VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT = 7, 12697 VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF 12698 } VkValidationFeatureDisableEXT; 12699 typedef struct VkValidationFeaturesEXT { 12700 VkStructureType sType; 12701 const void* pNext; 12702 uint32_t enabledValidationFeatureCount; 12703 const VkValidationFeatureEnableEXT* pEnabledValidationFeatures; 12704 uint32_t disabledValidationFeatureCount; 12705 const VkValidationFeatureDisableEXT* pDisabledValidationFeatures; 12706 } VkValidationFeaturesEXT; 12707 12708 12709 12710 #define VK_NV_cooperative_matrix 1 12711 #define VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION 1 12712 #define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix" 12713 12714 typedef enum VkComponentTypeNV { 12715 VK_COMPONENT_TYPE_FLOAT16_NV = 0, 12716 VK_COMPONENT_TYPE_FLOAT32_NV = 1, 12717 VK_COMPONENT_TYPE_FLOAT64_NV = 2, 12718 VK_COMPONENT_TYPE_SINT8_NV = 3, 12719 VK_COMPONENT_TYPE_SINT16_NV = 4, 12720 VK_COMPONENT_TYPE_SINT32_NV = 5, 12721 VK_COMPONENT_TYPE_SINT64_NV = 6, 12722 VK_COMPONENT_TYPE_UINT8_NV = 7, 12723 VK_COMPONENT_TYPE_UINT16_NV = 8, 12724 VK_COMPONENT_TYPE_UINT32_NV = 9, 12725 VK_COMPONENT_TYPE_UINT64_NV = 10, 12726 VK_COMPONENT_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 12727 } VkComponentTypeNV; 12728 12729 typedef enum VkScopeNV { 12730 VK_SCOPE_DEVICE_NV = 1, 12731 VK_SCOPE_WORKGROUP_NV = 2, 12732 VK_SCOPE_SUBGROUP_NV = 3, 12733 VK_SCOPE_QUEUE_FAMILY_NV = 5, 12734 VK_SCOPE_MAX_ENUM_NV = 0x7FFFFFFF 12735 } VkScopeNV; 12736 typedef struct VkCooperativeMatrixPropertiesNV { 12737 VkStructureType sType; 12738 void* pNext; 12739 uint32_t MSize; 12740 uint32_t NSize; 12741 uint32_t KSize; 12742 VkComponentTypeNV AType; 12743 VkComponentTypeNV BType; 12744 VkComponentTypeNV CType; 12745 VkComponentTypeNV DType; 12746 VkScopeNV scope; 12747 } VkCooperativeMatrixPropertiesNV; 12748 12749 typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV { 12750 VkStructureType sType; 12751 void* pNext; 12752 VkBool32 cooperativeMatrix; 12753 VkBool32 cooperativeMatrixRobustBufferAccess; 12754 } VkPhysicalDeviceCooperativeMatrixFeaturesNV; 12755 12756 typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV { 12757 VkStructureType sType; 12758 void* pNext; 12759 VkShaderStageFlags cooperativeMatrixSupportedStages; 12760 } VkPhysicalDeviceCooperativeMatrixPropertiesNV; 12761 12762 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties); 12763 12764 #ifndef VK_NO_PROTOTYPES 12765 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( 12766 VkPhysicalDevice physicalDevice, 12767 uint32_t* pPropertyCount, 12768 VkCooperativeMatrixPropertiesNV* pProperties); 12769 #endif 12770 12771 12772 #define VK_NV_coverage_reduction_mode 1 12773 #define VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION 1 12774 #define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode" 12775 12776 typedef enum VkCoverageReductionModeNV { 12777 VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0, 12778 VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1, 12779 VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV = 0x7FFFFFFF 12780 } VkCoverageReductionModeNV; 12781 typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV; 12782 typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV { 12783 VkStructureType sType; 12784 void* pNext; 12785 VkBool32 coverageReductionMode; 12786 } VkPhysicalDeviceCoverageReductionModeFeaturesNV; 12787 12788 typedef struct VkPipelineCoverageReductionStateCreateInfoNV { 12789 VkStructureType sType; 12790 const void* pNext; 12791 VkPipelineCoverageReductionStateCreateFlagsNV flags; 12792 VkCoverageReductionModeNV coverageReductionMode; 12793 } VkPipelineCoverageReductionStateCreateInfoNV; 12794 12795 typedef struct VkFramebufferMixedSamplesCombinationNV { 12796 VkStructureType sType; 12797 void* pNext; 12798 VkCoverageReductionModeNV coverageReductionMode; 12799 VkSampleCountFlagBits rasterizationSamples; 12800 VkSampleCountFlags depthStencilSamples; 12801 VkSampleCountFlags colorSamples; 12802 } VkFramebufferMixedSamplesCombinationNV; 12803 12804 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)(VkPhysicalDevice physicalDevice, uint32_t* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations); 12805 12806 #ifndef VK_NO_PROTOTYPES 12807 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( 12808 VkPhysicalDevice physicalDevice, 12809 uint32_t* pCombinationCount, 12810 VkFramebufferMixedSamplesCombinationNV* pCombinations); 12811 #endif 12812 12813 12814 #define VK_EXT_fragment_shader_interlock 1 12815 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1 12816 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock" 12817 typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT { 12818 VkStructureType sType; 12819 void* pNext; 12820 VkBool32 fragmentShaderSampleInterlock; 12821 VkBool32 fragmentShaderPixelInterlock; 12822 VkBool32 fragmentShaderShadingRateInterlock; 12823 } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT; 12824 12825 12826 12827 #define VK_EXT_ycbcr_image_arrays 1 12828 #define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1 12829 #define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays" 12830 typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT { 12831 VkStructureType sType; 12832 void* pNext; 12833 VkBool32 ycbcrImageArrays; 12834 } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT; 12835 12836 12837 12838 #define VK_EXT_provoking_vertex 1 12839 #define VK_EXT_PROVOKING_VERTEX_SPEC_VERSION 1 12840 #define VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME "VK_EXT_provoking_vertex" 12841 12842 typedef enum VkProvokingVertexModeEXT { 12843 VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT = 0, 12844 VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT = 1, 12845 VK_PROVOKING_VERTEX_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 12846 } VkProvokingVertexModeEXT; 12847 typedef struct VkPhysicalDeviceProvokingVertexFeaturesEXT { 12848 VkStructureType sType; 12849 void* pNext; 12850 VkBool32 provokingVertexLast; 12851 VkBool32 transformFeedbackPreservesProvokingVertex; 12852 } VkPhysicalDeviceProvokingVertexFeaturesEXT; 12853 12854 typedef struct VkPhysicalDeviceProvokingVertexPropertiesEXT { 12855 VkStructureType sType; 12856 void* pNext; 12857 VkBool32 provokingVertexModePerPipeline; 12858 VkBool32 transformFeedbackPreservesTriangleFanProvokingVertex; 12859 } VkPhysicalDeviceProvokingVertexPropertiesEXT; 12860 12861 typedef struct VkPipelineRasterizationProvokingVertexStateCreateInfoEXT { 12862 VkStructureType sType; 12863 const void* pNext; 12864 VkProvokingVertexModeEXT provokingVertexMode; 12865 } VkPipelineRasterizationProvokingVertexStateCreateInfoEXT; 12866 12867 12868 12869 #define VK_EXT_headless_surface 1 12870 #define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 1 12871 #define VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME "VK_EXT_headless_surface" 12872 typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT; 12873 typedef struct VkHeadlessSurfaceCreateInfoEXT { 12874 VkStructureType sType; 12875 const void* pNext; 12876 VkHeadlessSurfaceCreateFlagsEXT flags; 12877 } VkHeadlessSurfaceCreateInfoEXT; 12878 12879 typedef VkResult (VKAPI_PTR *PFN_vkCreateHeadlessSurfaceEXT)(VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); 12880 12881 #ifndef VK_NO_PROTOTYPES 12882 VKAPI_ATTR VkResult VKAPI_CALL vkCreateHeadlessSurfaceEXT( 12883 VkInstance instance, 12884 const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, 12885 const VkAllocationCallbacks* pAllocator, 12886 VkSurfaceKHR* pSurface); 12887 #endif 12888 12889 12890 #define VK_EXT_line_rasterization 1 12891 #define VK_EXT_LINE_RASTERIZATION_SPEC_VERSION 1 12892 #define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization" 12893 12894 typedef enum VkLineRasterizationModeEXT { 12895 VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = 0, 12896 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = 1, 12897 VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = 2, 12898 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = 3, 12899 VK_LINE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 12900 } VkLineRasterizationModeEXT; 12901 typedef struct VkPhysicalDeviceLineRasterizationFeaturesEXT { 12902 VkStructureType sType; 12903 void* pNext; 12904 VkBool32 rectangularLines; 12905 VkBool32 bresenhamLines; 12906 VkBool32 smoothLines; 12907 VkBool32 stippledRectangularLines; 12908 VkBool32 stippledBresenhamLines; 12909 VkBool32 stippledSmoothLines; 12910 } VkPhysicalDeviceLineRasterizationFeaturesEXT; 12911 12912 typedef struct VkPhysicalDeviceLineRasterizationPropertiesEXT { 12913 VkStructureType sType; 12914 void* pNext; 12915 uint32_t lineSubPixelPrecisionBits; 12916 } VkPhysicalDeviceLineRasterizationPropertiesEXT; 12917 12918 typedef struct VkPipelineRasterizationLineStateCreateInfoEXT { 12919 VkStructureType sType; 12920 const void* pNext; 12921 VkLineRasterizationModeEXT lineRasterizationMode; 12922 VkBool32 stippledLineEnable; 12923 uint32_t lineStippleFactor; 12924 uint16_t lineStipplePattern; 12925 } VkPipelineRasterizationLineStateCreateInfoEXT; 12926 12927 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEXT)(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern); 12928 12929 #ifndef VK_NO_PROTOTYPES 12930 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEXT( 12931 VkCommandBuffer commandBuffer, 12932 uint32_t lineStippleFactor, 12933 uint16_t lineStipplePattern); 12934 #endif 12935 12936 12937 #define VK_EXT_shader_atomic_float 1 12938 #define VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION 1 12939 #define VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME "VK_EXT_shader_atomic_float" 12940 typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT { 12941 VkStructureType sType; 12942 void* pNext; 12943 VkBool32 shaderBufferFloat32Atomics; 12944 VkBool32 shaderBufferFloat32AtomicAdd; 12945 VkBool32 shaderBufferFloat64Atomics; 12946 VkBool32 shaderBufferFloat64AtomicAdd; 12947 VkBool32 shaderSharedFloat32Atomics; 12948 VkBool32 shaderSharedFloat32AtomicAdd; 12949 VkBool32 shaderSharedFloat64Atomics; 12950 VkBool32 shaderSharedFloat64AtomicAdd; 12951 VkBool32 shaderImageFloat32Atomics; 12952 VkBool32 shaderImageFloat32AtomicAdd; 12953 VkBool32 sparseImageFloat32Atomics; 12954 VkBool32 sparseImageFloat32AtomicAdd; 12955 } VkPhysicalDeviceShaderAtomicFloatFeaturesEXT; 12956 12957 12958 12959 #define VK_EXT_host_query_reset 1 12960 #define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1 12961 #define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset" 12962 typedef VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeaturesEXT; 12963 12964 typedef void (VKAPI_PTR *PFN_vkResetQueryPoolEXT)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount); 12965 12966 #ifndef VK_NO_PROTOTYPES 12967 VKAPI_ATTR void VKAPI_CALL vkResetQueryPoolEXT( 12968 VkDevice device, 12969 VkQueryPool queryPool, 12970 uint32_t firstQuery, 12971 uint32_t queryCount); 12972 #endif 12973 12974 12975 #define VK_EXT_index_type_uint8 1 12976 #define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1 12977 #define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8" 12978 typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT { 12979 VkStructureType sType; 12980 void* pNext; 12981 VkBool32 indexTypeUint8; 12982 } VkPhysicalDeviceIndexTypeUint8FeaturesEXT; 12983 12984 12985 12986 #define VK_EXT_extended_dynamic_state 1 12987 #define VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION 1 12988 #define VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_extended_dynamic_state" 12989 typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT { 12990 VkStructureType sType; 12991 void* pNext; 12992 VkBool32 extendedDynamicState; 12993 } VkPhysicalDeviceExtendedDynamicStateFeaturesEXT; 12994 12995 typedef void (VKAPI_PTR *PFN_vkCmdSetCullModeEXT)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode); 12996 typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFaceEXT)(VkCommandBuffer commandBuffer, VkFrontFace frontFace); 12997 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopologyEXT)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology); 12998 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCountEXT)(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports); 12999 typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCountEXT)(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors); 13000 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); 13001 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable); 13002 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable); 13003 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOpEXT)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp); 13004 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable); 13005 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable); 13006 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOpEXT)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp); 13007 13008 #ifndef VK_NO_PROTOTYPES 13009 VKAPI_ATTR void VKAPI_CALL vkCmdSetCullModeEXT( 13010 VkCommandBuffer commandBuffer, 13011 VkCullModeFlags cullMode); 13012 13013 VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFaceEXT( 13014 VkCommandBuffer commandBuffer, 13015 VkFrontFace frontFace); 13016 13017 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopologyEXT( 13018 VkCommandBuffer commandBuffer, 13019 VkPrimitiveTopology primitiveTopology); 13020 13021 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCountEXT( 13022 VkCommandBuffer commandBuffer, 13023 uint32_t viewportCount, 13024 const VkViewport* pViewports); 13025 13026 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCountEXT( 13027 VkCommandBuffer commandBuffer, 13028 uint32_t scissorCount, 13029 const VkRect2D* pScissors); 13030 13031 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2EXT( 13032 VkCommandBuffer commandBuffer, 13033 uint32_t firstBinding, 13034 uint32_t bindingCount, 13035 const VkBuffer* pBuffers, 13036 const VkDeviceSize* pOffsets, 13037 const VkDeviceSize* pSizes, 13038 const VkDeviceSize* pStrides); 13039 13040 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnableEXT( 13041 VkCommandBuffer commandBuffer, 13042 VkBool32 depthTestEnable); 13043 13044 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnableEXT( 13045 VkCommandBuffer commandBuffer, 13046 VkBool32 depthWriteEnable); 13047 13048 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOpEXT( 13049 VkCommandBuffer commandBuffer, 13050 VkCompareOp depthCompareOp); 13051 13052 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnableEXT( 13053 VkCommandBuffer commandBuffer, 13054 VkBool32 depthBoundsTestEnable); 13055 13056 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnableEXT( 13057 VkCommandBuffer commandBuffer, 13058 VkBool32 stencilTestEnable); 13059 13060 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOpEXT( 13061 VkCommandBuffer commandBuffer, 13062 VkStencilFaceFlags faceMask, 13063 VkStencilOp failOp, 13064 VkStencilOp passOp, 13065 VkStencilOp depthFailOp, 13066 VkCompareOp compareOp); 13067 #endif 13068 13069 13070 #define VK_EXT_shader_atomic_float2 1 13071 #define VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION 1 13072 #define VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME "VK_EXT_shader_atomic_float2" 13073 typedef struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT { 13074 VkStructureType sType; 13075 void* pNext; 13076 VkBool32 shaderBufferFloat16Atomics; 13077 VkBool32 shaderBufferFloat16AtomicAdd; 13078 VkBool32 shaderBufferFloat16AtomicMinMax; 13079 VkBool32 shaderBufferFloat32AtomicMinMax; 13080 VkBool32 shaderBufferFloat64AtomicMinMax; 13081 VkBool32 shaderSharedFloat16Atomics; 13082 VkBool32 shaderSharedFloat16AtomicAdd; 13083 VkBool32 shaderSharedFloat16AtomicMinMax; 13084 VkBool32 shaderSharedFloat32AtomicMinMax; 13085 VkBool32 shaderSharedFloat64AtomicMinMax; 13086 VkBool32 shaderImageFloat32AtomicMinMax; 13087 VkBool32 sparseImageFloat32AtomicMinMax; 13088 } VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT; 13089 13090 13091 13092 #define VK_EXT_shader_demote_to_helper_invocation 1 13093 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1 13094 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation" 13095 typedef VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT; 13096 13097 13098 13099 #define VK_NV_device_generated_commands 1 13100 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNV) 13101 #define VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3 13102 #define VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NV_device_generated_commands" 13103 13104 typedef enum VkIndirectCommandsTokenTypeNV { 13105 VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV = 0, 13106 VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV = 1, 13107 VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV = 2, 13108 VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV = 3, 13109 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV = 4, 13110 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV = 5, 13111 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6, 13112 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7, 13113 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV = 1000328000, 13114 VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 13115 } VkIndirectCommandsTokenTypeNV; 13116 13117 typedef enum VkIndirectStateFlagBitsNV { 13118 VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV = 0x00000001, 13119 VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 13120 } VkIndirectStateFlagBitsNV; 13121 typedef VkFlags VkIndirectStateFlagsNV; 13122 13123 typedef enum VkIndirectCommandsLayoutUsageFlagBitsNV { 13124 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV = 0x00000001, 13125 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV = 0x00000002, 13126 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV = 0x00000004, 13127 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 13128 } VkIndirectCommandsLayoutUsageFlagBitsNV; 13129 typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNV; 13130 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV { 13131 VkStructureType sType; 13132 void* pNext; 13133 uint32_t maxGraphicsShaderGroupCount; 13134 uint32_t maxIndirectSequenceCount; 13135 uint32_t maxIndirectCommandsTokenCount; 13136 uint32_t maxIndirectCommandsStreamCount; 13137 uint32_t maxIndirectCommandsTokenOffset; 13138 uint32_t maxIndirectCommandsStreamStride; 13139 uint32_t minSequencesCountBufferOffsetAlignment; 13140 uint32_t minSequencesIndexBufferOffsetAlignment; 13141 uint32_t minIndirectCommandsBufferOffsetAlignment; 13142 } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV; 13143 13144 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV { 13145 VkStructureType sType; 13146 void* pNext; 13147 VkBool32 deviceGeneratedCommands; 13148 } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV; 13149 13150 typedef struct VkGraphicsShaderGroupCreateInfoNV { 13151 VkStructureType sType; 13152 const void* pNext; 13153 uint32_t stageCount; 13154 const VkPipelineShaderStageCreateInfo* pStages; 13155 const VkPipelineVertexInputStateCreateInfo* pVertexInputState; 13156 const VkPipelineTessellationStateCreateInfo* pTessellationState; 13157 } VkGraphicsShaderGroupCreateInfoNV; 13158 13159 typedef struct VkGraphicsPipelineShaderGroupsCreateInfoNV { 13160 VkStructureType sType; 13161 const void* pNext; 13162 uint32_t groupCount; 13163 const VkGraphicsShaderGroupCreateInfoNV* pGroups; 13164 uint32_t pipelineCount; 13165 const VkPipeline* pPipelines; 13166 } VkGraphicsPipelineShaderGroupsCreateInfoNV; 13167 13168 typedef struct VkBindShaderGroupIndirectCommandNV { 13169 uint32_t groupIndex; 13170 } VkBindShaderGroupIndirectCommandNV; 13171 13172 typedef struct VkBindIndexBufferIndirectCommandNV { 13173 VkDeviceAddress bufferAddress; 13174 uint32_t size; 13175 VkIndexType indexType; 13176 } VkBindIndexBufferIndirectCommandNV; 13177 13178 typedef struct VkBindVertexBufferIndirectCommandNV { 13179 VkDeviceAddress bufferAddress; 13180 uint32_t size; 13181 uint32_t stride; 13182 } VkBindVertexBufferIndirectCommandNV; 13183 13184 typedef struct VkSetStateFlagsIndirectCommandNV { 13185 uint32_t data; 13186 } VkSetStateFlagsIndirectCommandNV; 13187 13188 typedef struct VkIndirectCommandsStreamNV { 13189 VkBuffer buffer; 13190 VkDeviceSize offset; 13191 } VkIndirectCommandsStreamNV; 13192 13193 typedef struct VkIndirectCommandsLayoutTokenNV { 13194 VkStructureType sType; 13195 const void* pNext; 13196 VkIndirectCommandsTokenTypeNV tokenType; 13197 uint32_t stream; 13198 uint32_t offset; 13199 uint32_t vertexBindingUnit; 13200 VkBool32 vertexDynamicStride; 13201 VkPipelineLayout pushconstantPipelineLayout; 13202 VkShaderStageFlags pushconstantShaderStageFlags; 13203 uint32_t pushconstantOffset; 13204 uint32_t pushconstantSize; 13205 VkIndirectStateFlagsNV indirectStateFlags; 13206 uint32_t indexTypeCount; 13207 const VkIndexType* pIndexTypes; 13208 const uint32_t* pIndexTypeValues; 13209 } VkIndirectCommandsLayoutTokenNV; 13210 13211 typedef struct VkIndirectCommandsLayoutCreateInfoNV { 13212 VkStructureType sType; 13213 const void* pNext; 13214 VkIndirectCommandsLayoutUsageFlagsNV flags; 13215 VkPipelineBindPoint pipelineBindPoint; 13216 uint32_t tokenCount; 13217 const VkIndirectCommandsLayoutTokenNV* pTokens; 13218 uint32_t streamCount; 13219 const uint32_t* pStreamStrides; 13220 } VkIndirectCommandsLayoutCreateInfoNV; 13221 13222 typedef struct VkGeneratedCommandsInfoNV { 13223 VkStructureType sType; 13224 const void* pNext; 13225 VkPipelineBindPoint pipelineBindPoint; 13226 VkPipeline pipeline; 13227 VkIndirectCommandsLayoutNV indirectCommandsLayout; 13228 uint32_t streamCount; 13229 const VkIndirectCommandsStreamNV* pStreams; 13230 uint32_t sequencesCount; 13231 VkBuffer preprocessBuffer; 13232 VkDeviceSize preprocessOffset; 13233 VkDeviceSize preprocessSize; 13234 VkBuffer sequencesCountBuffer; 13235 VkDeviceSize sequencesCountOffset; 13236 VkBuffer sequencesIndexBuffer; 13237 VkDeviceSize sequencesIndexOffset; 13238 } VkGeneratedCommandsInfoNV; 13239 13240 typedef struct VkGeneratedCommandsMemoryRequirementsInfoNV { 13241 VkStructureType sType; 13242 const void* pNext; 13243 VkPipelineBindPoint pipelineBindPoint; 13244 VkPipeline pipeline; 13245 VkIndirectCommandsLayoutNV indirectCommandsLayout; 13246 uint32_t maxSequencesCount; 13247 } VkGeneratedCommandsMemoryRequirementsInfoNV; 13248 13249 typedef void (VKAPI_PTR *PFN_vkGetGeneratedCommandsMemoryRequirementsNV)(VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements); 13250 typedef void (VKAPI_PTR *PFN_vkCmdPreprocessGeneratedCommandsNV)(VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); 13251 typedef void (VKAPI_PTR *PFN_vkCmdExecuteGeneratedCommandsNV)(VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); 13252 typedef void (VKAPI_PTR *PFN_vkCmdBindPipelineShaderGroupNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, uint32_t groupIndex); 13253 typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNV)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout); 13254 typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNV)(VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator); 13255 13256 #ifndef VK_NO_PROTOTYPES 13257 VKAPI_ATTR void VKAPI_CALL vkGetGeneratedCommandsMemoryRequirementsNV( 13258 VkDevice device, 13259 const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, 13260 VkMemoryRequirements2* pMemoryRequirements); 13261 13262 VKAPI_ATTR void VKAPI_CALL vkCmdPreprocessGeneratedCommandsNV( 13263 VkCommandBuffer commandBuffer, 13264 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); 13265 13266 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteGeneratedCommandsNV( 13267 VkCommandBuffer commandBuffer, 13268 VkBool32 isPreprocessed, 13269 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); 13270 13271 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipelineShaderGroupNV( 13272 VkCommandBuffer commandBuffer, 13273 VkPipelineBindPoint pipelineBindPoint, 13274 VkPipeline pipeline, 13275 uint32_t groupIndex); 13276 13277 VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNV( 13278 VkDevice device, 13279 const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, 13280 const VkAllocationCallbacks* pAllocator, 13281 VkIndirectCommandsLayoutNV* pIndirectCommandsLayout); 13282 13283 VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNV( 13284 VkDevice device, 13285 VkIndirectCommandsLayoutNV indirectCommandsLayout, 13286 const VkAllocationCallbacks* pAllocator); 13287 #endif 13288 13289 13290 #define VK_NV_inherited_viewport_scissor 1 13291 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION 1 13292 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME "VK_NV_inherited_viewport_scissor" 13293 typedef struct VkPhysicalDeviceInheritedViewportScissorFeaturesNV { 13294 VkStructureType sType; 13295 void* pNext; 13296 VkBool32 inheritedViewportScissor2D; 13297 } VkPhysicalDeviceInheritedViewportScissorFeaturesNV; 13298 13299 typedef struct VkCommandBufferInheritanceViewportScissorInfoNV { 13300 VkStructureType sType; 13301 const void* pNext; 13302 VkBool32 viewportScissor2D; 13303 uint32_t viewportDepthCount; 13304 const VkViewport* pViewportDepths; 13305 } VkCommandBufferInheritanceViewportScissorInfoNV; 13306 13307 13308 13309 #define VK_EXT_texel_buffer_alignment 1 13310 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1 13311 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment" 13312 typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT { 13313 VkStructureType sType; 13314 void* pNext; 13315 VkBool32 texelBufferAlignment; 13316 } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT; 13317 13318 typedef VkPhysicalDeviceTexelBufferAlignmentProperties VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT; 13319 13320 13321 13322 #define VK_QCOM_render_pass_transform 1 13323 #define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 3 13324 #define VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME "VK_QCOM_render_pass_transform" 13325 typedef struct VkRenderPassTransformBeginInfoQCOM { 13326 VkStructureType sType; 13327 void* pNext; 13328 VkSurfaceTransformFlagBitsKHR transform; 13329 } VkRenderPassTransformBeginInfoQCOM; 13330 13331 typedef struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM { 13332 VkStructureType sType; 13333 void* pNext; 13334 VkSurfaceTransformFlagBitsKHR transform; 13335 VkRect2D renderArea; 13336 } VkCommandBufferInheritanceRenderPassTransformInfoQCOM; 13337 13338 13339 13340 #define VK_EXT_device_memory_report 1 13341 #define VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION 2 13342 #define VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME "VK_EXT_device_memory_report" 13343 13344 typedef enum VkDeviceMemoryReportEventTypeEXT { 13345 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT = 0, 13346 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT = 1, 13347 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT = 2, 13348 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT = 3, 13349 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT = 4, 13350 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 13351 } VkDeviceMemoryReportEventTypeEXT; 13352 typedef VkFlags VkDeviceMemoryReportFlagsEXT; 13353 typedef struct VkPhysicalDeviceDeviceMemoryReportFeaturesEXT { 13354 VkStructureType sType; 13355 void* pNext; 13356 VkBool32 deviceMemoryReport; 13357 } VkPhysicalDeviceDeviceMemoryReportFeaturesEXT; 13358 13359 typedef struct VkDeviceMemoryReportCallbackDataEXT { 13360 VkStructureType sType; 13361 void* pNext; 13362 VkDeviceMemoryReportFlagsEXT flags; 13363 VkDeviceMemoryReportEventTypeEXT type; 13364 uint64_t memoryObjectId; 13365 VkDeviceSize size; 13366 VkObjectType objectType; 13367 uint64_t objectHandle; 13368 uint32_t heapIndex; 13369 } VkDeviceMemoryReportCallbackDataEXT; 13370 13371 typedef void (VKAPI_PTR *PFN_vkDeviceMemoryReportCallbackEXT)( 13372 const VkDeviceMemoryReportCallbackDataEXT* pCallbackData, 13373 void* pUserData); 13374 13375 typedef struct VkDeviceDeviceMemoryReportCreateInfoEXT { 13376 VkStructureType sType; 13377 const void* pNext; 13378 VkDeviceMemoryReportFlagsEXT flags; 13379 PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback; 13380 void* pUserData; 13381 } VkDeviceDeviceMemoryReportCreateInfoEXT; 13382 13383 13384 13385 #define VK_EXT_acquire_drm_display 1 13386 #define VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION 1 13387 #define VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME "VK_EXT_acquire_drm_display" 13388 typedef VkResult (VKAPI_PTR *PFN_vkAcquireDrmDisplayEXT)(VkPhysicalDevice physicalDevice, int32_t drmFd, VkDisplayKHR display); 13389 typedef VkResult (VKAPI_PTR *PFN_vkGetDrmDisplayEXT)(VkPhysicalDevice physicalDevice, int32_t drmFd, uint32_t connectorId, VkDisplayKHR* display); 13390 13391 #ifndef VK_NO_PROTOTYPES 13392 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireDrmDisplayEXT( 13393 VkPhysicalDevice physicalDevice, 13394 int32_t drmFd, 13395 VkDisplayKHR display); 13396 13397 VKAPI_ATTR VkResult VKAPI_CALL vkGetDrmDisplayEXT( 13398 VkPhysicalDevice physicalDevice, 13399 int32_t drmFd, 13400 uint32_t connectorId, 13401 VkDisplayKHR* display); 13402 #endif 13403 13404 13405 #define VK_EXT_robustness2 1 13406 #define VK_EXT_ROBUSTNESS_2_SPEC_VERSION 1 13407 #define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2" 13408 typedef struct VkPhysicalDeviceRobustness2FeaturesEXT { 13409 VkStructureType sType; 13410 void* pNext; 13411 VkBool32 robustBufferAccess2; 13412 VkBool32 robustImageAccess2; 13413 VkBool32 nullDescriptor; 13414 } VkPhysicalDeviceRobustness2FeaturesEXT; 13415 13416 typedef struct VkPhysicalDeviceRobustness2PropertiesEXT { 13417 VkStructureType sType; 13418 void* pNext; 13419 VkDeviceSize robustStorageBufferAccessSizeAlignment; 13420 VkDeviceSize robustUniformBufferAccessSizeAlignment; 13421 } VkPhysicalDeviceRobustness2PropertiesEXT; 13422 13423 13424 13425 #define VK_EXT_custom_border_color 1 13426 #define VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION 12 13427 #define VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME "VK_EXT_custom_border_color" 13428 typedef struct VkSamplerCustomBorderColorCreateInfoEXT { 13429 VkStructureType sType; 13430 const void* pNext; 13431 VkClearColorValue customBorderColor; 13432 VkFormat format; 13433 } VkSamplerCustomBorderColorCreateInfoEXT; 13434 13435 typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT { 13436 VkStructureType sType; 13437 void* pNext; 13438 uint32_t maxCustomBorderColorSamplers; 13439 } VkPhysicalDeviceCustomBorderColorPropertiesEXT; 13440 13441 typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT { 13442 VkStructureType sType; 13443 void* pNext; 13444 VkBool32 customBorderColors; 13445 VkBool32 customBorderColorWithoutFormat; 13446 } VkPhysicalDeviceCustomBorderColorFeaturesEXT; 13447 13448 13449 13450 #define VK_GOOGLE_user_type 1 13451 #define VK_GOOGLE_USER_TYPE_SPEC_VERSION 1 13452 #define VK_GOOGLE_USER_TYPE_EXTENSION_NAME "VK_GOOGLE_user_type" 13453 13454 13455 #define VK_NV_present_barrier 1 13456 #define VK_NV_PRESENT_BARRIER_SPEC_VERSION 1 13457 #define VK_NV_PRESENT_BARRIER_EXTENSION_NAME "VK_NV_present_barrier" 13458 typedef struct VkPhysicalDevicePresentBarrierFeaturesNV { 13459 VkStructureType sType; 13460 void* pNext; 13461 VkBool32 presentBarrier; 13462 } VkPhysicalDevicePresentBarrierFeaturesNV; 13463 13464 typedef struct VkSurfaceCapabilitiesPresentBarrierNV { 13465 VkStructureType sType; 13466 void* pNext; 13467 VkBool32 presentBarrierSupported; 13468 } VkSurfaceCapabilitiesPresentBarrierNV; 13469 13470 typedef struct VkSwapchainPresentBarrierCreateInfoNV { 13471 VkStructureType sType; 13472 void* pNext; 13473 VkBool32 presentBarrierEnable; 13474 } VkSwapchainPresentBarrierCreateInfoNV; 13475 13476 13477 13478 #define VK_EXT_private_data 1 13479 typedef VkPrivateDataSlot VkPrivateDataSlotEXT; 13480 13481 #define VK_EXT_PRIVATE_DATA_SPEC_VERSION 1 13482 #define VK_EXT_PRIVATE_DATA_EXTENSION_NAME "VK_EXT_private_data" 13483 typedef VkPrivateDataSlotCreateFlags VkPrivateDataSlotCreateFlagsEXT; 13484 13485 typedef VkPhysicalDevicePrivateDataFeatures VkPhysicalDevicePrivateDataFeaturesEXT; 13486 13487 typedef VkDevicePrivateDataCreateInfo VkDevicePrivateDataCreateInfoEXT; 13488 13489 typedef VkPrivateDataSlotCreateInfo VkPrivateDataSlotCreateInfoEXT; 13490 13491 typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlotEXT)(VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot); 13492 typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlotEXT)(VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator); 13493 typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateDataEXT)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data); 13494 typedef void (VKAPI_PTR *PFN_vkGetPrivateDataEXT)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t* pData); 13495 13496 #ifndef VK_NO_PROTOTYPES 13497 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlotEXT( 13498 VkDevice device, 13499 const VkPrivateDataSlotCreateInfo* pCreateInfo, 13500 const VkAllocationCallbacks* pAllocator, 13501 VkPrivateDataSlot* pPrivateDataSlot); 13502 13503 VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlotEXT( 13504 VkDevice device, 13505 VkPrivateDataSlot privateDataSlot, 13506 const VkAllocationCallbacks* pAllocator); 13507 13508 VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateDataEXT( 13509 VkDevice device, 13510 VkObjectType objectType, 13511 uint64_t objectHandle, 13512 VkPrivateDataSlot privateDataSlot, 13513 uint64_t data); 13514 13515 VKAPI_ATTR void VKAPI_CALL vkGetPrivateDataEXT( 13516 VkDevice device, 13517 VkObjectType objectType, 13518 uint64_t objectHandle, 13519 VkPrivateDataSlot privateDataSlot, 13520 uint64_t* pData); 13521 #endif 13522 13523 13524 #define VK_EXT_pipeline_creation_cache_control 1 13525 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION 3 13526 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME "VK_EXT_pipeline_creation_cache_control" 13527 typedef VkPhysicalDevicePipelineCreationCacheControlFeatures VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT; 13528 13529 13530 13531 #define VK_NV_device_diagnostics_config 1 13532 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 2 13533 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME "VK_NV_device_diagnostics_config" 13534 13535 typedef enum VkDeviceDiagnosticsConfigFlagBitsNV { 13536 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 0x00000001, 13537 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV = 0x00000002, 13538 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV = 0x00000004, 13539 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_ERROR_REPORTING_BIT_NV = 0x00000008, 13540 VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 13541 } VkDeviceDiagnosticsConfigFlagBitsNV; 13542 typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV; 13543 typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV { 13544 VkStructureType sType; 13545 void* pNext; 13546 VkBool32 diagnosticsConfig; 13547 } VkPhysicalDeviceDiagnosticsConfigFeaturesNV; 13548 13549 typedef struct VkDeviceDiagnosticsConfigCreateInfoNV { 13550 VkStructureType sType; 13551 const void* pNext; 13552 VkDeviceDiagnosticsConfigFlagsNV flags; 13553 } VkDeviceDiagnosticsConfigCreateInfoNV; 13554 13555 13556 13557 #define VK_QCOM_render_pass_store_ops 1 13558 #define VK_QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION 2 13559 #define VK_QCOM_RENDER_PASS_STORE_OPS_EXTENSION_NAME "VK_QCOM_render_pass_store_ops" 13560 13561 13562 #define VK_EXT_graphics_pipeline_library 1 13563 #define VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION 1 13564 #define VK_EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME "VK_EXT_graphics_pipeline_library" 13565 13566 typedef enum VkGraphicsPipelineLibraryFlagBitsEXT { 13567 VK_GRAPHICS_PIPELINE_LIBRARY_VERTEX_INPUT_INTERFACE_BIT_EXT = 0x00000001, 13568 VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT = 0x00000002, 13569 VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT = 0x00000004, 13570 VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT = 0x00000008, 13571 VK_GRAPHICS_PIPELINE_LIBRARY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 13572 } VkGraphicsPipelineLibraryFlagBitsEXT; 13573 typedef VkFlags VkGraphicsPipelineLibraryFlagsEXT; 13574 typedef struct VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT { 13575 VkStructureType sType; 13576 void* pNext; 13577 VkBool32 graphicsPipelineLibrary; 13578 } VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT; 13579 13580 typedef struct VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT { 13581 VkStructureType sType; 13582 void* pNext; 13583 VkBool32 graphicsPipelineLibraryFastLinking; 13584 VkBool32 graphicsPipelineLibraryIndependentInterpolationDecoration; 13585 } VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT; 13586 13587 typedef struct VkGraphicsPipelineLibraryCreateInfoEXT { 13588 VkStructureType sType; 13589 void* pNext; 13590 VkGraphicsPipelineLibraryFlagsEXT flags; 13591 } VkGraphicsPipelineLibraryCreateInfoEXT; 13592 13593 13594 13595 #define VK_AMD_shader_early_and_late_fragment_tests 1 13596 #define VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_SPEC_VERSION 1 13597 #define VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_EXTENSION_NAME "VK_AMD_shader_early_and_late_fragment_tests" 13598 typedef struct VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD { 13599 VkStructureType sType; 13600 void* pNext; 13601 VkBool32 shaderEarlyAndLateFragmentTests; 13602 } VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD; 13603 13604 13605 13606 #define VK_NV_fragment_shading_rate_enums 1 13607 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION 1 13608 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums" 13609 13610 typedef enum VkFragmentShadingRateTypeNV { 13611 VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV = 0, 13612 VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV = 1, 13613 VK_FRAGMENT_SHADING_RATE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 13614 } VkFragmentShadingRateTypeNV; 13615 13616 typedef enum VkFragmentShadingRateNV { 13617 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0, 13618 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 1, 13619 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 4, 13620 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 5, 13621 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 6, 13622 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 9, 13623 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 10, 13624 VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 11, 13625 VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 12, 13626 VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 13, 13627 VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 14, 13628 VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV = 15, 13629 VK_FRAGMENT_SHADING_RATE_MAX_ENUM_NV = 0x7FFFFFFF 13630 } VkFragmentShadingRateNV; 13631 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV { 13632 VkStructureType sType; 13633 void* pNext; 13634 VkBool32 fragmentShadingRateEnums; 13635 VkBool32 supersampleFragmentShadingRates; 13636 VkBool32 noInvocationFragmentShadingRates; 13637 } VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV; 13638 13639 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV { 13640 VkStructureType sType; 13641 void* pNext; 13642 VkSampleCountFlagBits maxFragmentShadingRateInvocationCount; 13643 } VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV; 13644 13645 typedef struct VkPipelineFragmentShadingRateEnumStateCreateInfoNV { 13646 VkStructureType sType; 13647 const void* pNext; 13648 VkFragmentShadingRateTypeNV shadingRateType; 13649 VkFragmentShadingRateNV shadingRate; 13650 VkFragmentShadingRateCombinerOpKHR combinerOps[2]; 13651 } VkPipelineFragmentShadingRateEnumStateCreateInfoNV; 13652 13653 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateEnumNV)(VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); 13654 13655 #ifndef VK_NO_PROTOTYPES 13656 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateEnumNV( 13657 VkCommandBuffer commandBuffer, 13658 VkFragmentShadingRateNV shadingRate, 13659 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); 13660 #endif 13661 13662 13663 #define VK_NV_ray_tracing_motion_blur 1 13664 #define VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION 1 13665 #define VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME "VK_NV_ray_tracing_motion_blur" 13666 13667 typedef enum VkAccelerationStructureMotionInstanceTypeNV { 13668 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV = 0, 13669 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV = 1, 13670 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV = 2, 13671 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 13672 } VkAccelerationStructureMotionInstanceTypeNV; 13673 typedef VkFlags VkAccelerationStructureMotionInfoFlagsNV; 13674 typedef VkFlags VkAccelerationStructureMotionInstanceFlagsNV; 13675 typedef union VkDeviceOrHostAddressConstKHR { 13676 VkDeviceAddress deviceAddress; 13677 const void* hostAddress; 13678 } VkDeviceOrHostAddressConstKHR; 13679 13680 typedef struct VkAccelerationStructureGeometryMotionTrianglesDataNV { 13681 VkStructureType sType; 13682 const void* pNext; 13683 VkDeviceOrHostAddressConstKHR vertexData; 13684 } VkAccelerationStructureGeometryMotionTrianglesDataNV; 13685 13686 typedef struct VkAccelerationStructureMotionInfoNV { 13687 VkStructureType sType; 13688 const void* pNext; 13689 uint32_t maxInstances; 13690 VkAccelerationStructureMotionInfoFlagsNV flags; 13691 } VkAccelerationStructureMotionInfoNV; 13692 13693 typedef struct VkAccelerationStructureMatrixMotionInstanceNV { 13694 VkTransformMatrixKHR transformT0; 13695 VkTransformMatrixKHR transformT1; 13696 uint32_t instanceCustomIndex:24; 13697 uint32_t mask:8; 13698 uint32_t instanceShaderBindingTableRecordOffset:24; 13699 VkGeometryInstanceFlagsKHR flags:8; 13700 uint64_t accelerationStructureReference; 13701 } VkAccelerationStructureMatrixMotionInstanceNV; 13702 13703 typedef struct VkSRTDataNV { 13704 float sx; 13705 float a; 13706 float b; 13707 float pvx; 13708 float sy; 13709 float c; 13710 float pvy; 13711 float sz; 13712 float pvz; 13713 float qx; 13714 float qy; 13715 float qz; 13716 float qw; 13717 float tx; 13718 float ty; 13719 float tz; 13720 } VkSRTDataNV; 13721 13722 typedef struct VkAccelerationStructureSRTMotionInstanceNV { 13723 VkSRTDataNV transformT0; 13724 VkSRTDataNV transformT1; 13725 uint32_t instanceCustomIndex:24; 13726 uint32_t mask:8; 13727 uint32_t instanceShaderBindingTableRecordOffset:24; 13728 VkGeometryInstanceFlagsKHR flags:8; 13729 uint64_t accelerationStructureReference; 13730 } VkAccelerationStructureSRTMotionInstanceNV; 13731 13732 typedef union VkAccelerationStructureMotionInstanceDataNV { 13733 VkAccelerationStructureInstanceKHR staticInstance; 13734 VkAccelerationStructureMatrixMotionInstanceNV matrixMotionInstance; 13735 VkAccelerationStructureSRTMotionInstanceNV srtMotionInstance; 13736 } VkAccelerationStructureMotionInstanceDataNV; 13737 13738 typedef struct VkAccelerationStructureMotionInstanceNV { 13739 VkAccelerationStructureMotionInstanceTypeNV type; 13740 VkAccelerationStructureMotionInstanceFlagsNV flags; 13741 VkAccelerationStructureMotionInstanceDataNV data; 13742 } VkAccelerationStructureMotionInstanceNV; 13743 13744 typedef struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV { 13745 VkStructureType sType; 13746 void* pNext; 13747 VkBool32 rayTracingMotionBlur; 13748 VkBool32 rayTracingMotionBlurPipelineTraceRaysIndirect; 13749 } VkPhysicalDeviceRayTracingMotionBlurFeaturesNV; 13750 13751 13752 13753 #define VK_EXT_ycbcr_2plane_444_formats 1 13754 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION 1 13755 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME "VK_EXT_ycbcr_2plane_444_formats" 13756 typedef struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT { 13757 VkStructureType sType; 13758 void* pNext; 13759 VkBool32 ycbcr2plane444Formats; 13760 } VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT; 13761 13762 13763 13764 #define VK_EXT_fragment_density_map2 1 13765 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1 13766 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2" 13767 typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT { 13768 VkStructureType sType; 13769 void* pNext; 13770 VkBool32 fragmentDensityMapDeferred; 13771 } VkPhysicalDeviceFragmentDensityMap2FeaturesEXT; 13772 13773 typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT { 13774 VkStructureType sType; 13775 void* pNext; 13776 VkBool32 subsampledLoads; 13777 VkBool32 subsampledCoarseReconstructionEarlyAccess; 13778 uint32_t maxSubsampledArrayLayers; 13779 uint32_t maxDescriptorSetSubsampledSamplers; 13780 } VkPhysicalDeviceFragmentDensityMap2PropertiesEXT; 13781 13782 13783 13784 #define VK_QCOM_rotated_copy_commands 1 13785 #define VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION 1 13786 #define VK_QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME "VK_QCOM_rotated_copy_commands" 13787 typedef struct VkCopyCommandTransformInfoQCOM { 13788 VkStructureType sType; 13789 const void* pNext; 13790 VkSurfaceTransformFlagBitsKHR transform; 13791 } VkCopyCommandTransformInfoQCOM; 13792 13793 13794 13795 #define VK_EXT_image_robustness 1 13796 #define VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION 1 13797 #define VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_image_robustness" 13798 typedef VkPhysicalDeviceImageRobustnessFeatures VkPhysicalDeviceImageRobustnessFeaturesEXT; 13799 13800 13801 13802 #define VK_EXT_image_compression_control 1 13803 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION 1 13804 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME "VK_EXT_image_compression_control" 13805 13806 typedef enum VkImageCompressionFlagBitsEXT { 13807 VK_IMAGE_COMPRESSION_DEFAULT_EXT = 0, 13808 VK_IMAGE_COMPRESSION_FIXED_RATE_DEFAULT_EXT = 0x00000001, 13809 VK_IMAGE_COMPRESSION_FIXED_RATE_EXPLICIT_EXT = 0x00000002, 13810 VK_IMAGE_COMPRESSION_DISABLED_EXT = 0x00000004, 13811 VK_IMAGE_COMPRESSION_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 13812 } VkImageCompressionFlagBitsEXT; 13813 typedef VkFlags VkImageCompressionFlagsEXT; 13814 13815 typedef enum VkImageCompressionFixedRateFlagBitsEXT { 13816 VK_IMAGE_COMPRESSION_FIXED_RATE_NONE_EXT = 0, 13817 VK_IMAGE_COMPRESSION_FIXED_RATE_1BPC_BIT_EXT = 0x00000001, 13818 VK_IMAGE_COMPRESSION_FIXED_RATE_2BPC_BIT_EXT = 0x00000002, 13819 VK_IMAGE_COMPRESSION_FIXED_RATE_3BPC_BIT_EXT = 0x00000004, 13820 VK_IMAGE_COMPRESSION_FIXED_RATE_4BPC_BIT_EXT = 0x00000008, 13821 VK_IMAGE_COMPRESSION_FIXED_RATE_5BPC_BIT_EXT = 0x00000010, 13822 VK_IMAGE_COMPRESSION_FIXED_RATE_6BPC_BIT_EXT = 0x00000020, 13823 VK_IMAGE_COMPRESSION_FIXED_RATE_7BPC_BIT_EXT = 0x00000040, 13824 VK_IMAGE_COMPRESSION_FIXED_RATE_8BPC_BIT_EXT = 0x00000080, 13825 VK_IMAGE_COMPRESSION_FIXED_RATE_9BPC_BIT_EXT = 0x00000100, 13826 VK_IMAGE_COMPRESSION_FIXED_RATE_10BPC_BIT_EXT = 0x00000200, 13827 VK_IMAGE_COMPRESSION_FIXED_RATE_11BPC_BIT_EXT = 0x00000400, 13828 VK_IMAGE_COMPRESSION_FIXED_RATE_12BPC_BIT_EXT = 0x00000800, 13829 VK_IMAGE_COMPRESSION_FIXED_RATE_13BPC_BIT_EXT = 0x00001000, 13830 VK_IMAGE_COMPRESSION_FIXED_RATE_14BPC_BIT_EXT = 0x00002000, 13831 VK_IMAGE_COMPRESSION_FIXED_RATE_15BPC_BIT_EXT = 0x00004000, 13832 VK_IMAGE_COMPRESSION_FIXED_RATE_16BPC_BIT_EXT = 0x00008000, 13833 VK_IMAGE_COMPRESSION_FIXED_RATE_17BPC_BIT_EXT = 0x00010000, 13834 VK_IMAGE_COMPRESSION_FIXED_RATE_18BPC_BIT_EXT = 0x00020000, 13835 VK_IMAGE_COMPRESSION_FIXED_RATE_19BPC_BIT_EXT = 0x00040000, 13836 VK_IMAGE_COMPRESSION_FIXED_RATE_20BPC_BIT_EXT = 0x00080000, 13837 VK_IMAGE_COMPRESSION_FIXED_RATE_21BPC_BIT_EXT = 0x00100000, 13838 VK_IMAGE_COMPRESSION_FIXED_RATE_22BPC_BIT_EXT = 0x00200000, 13839 VK_IMAGE_COMPRESSION_FIXED_RATE_23BPC_BIT_EXT = 0x00400000, 13840 VK_IMAGE_COMPRESSION_FIXED_RATE_24BPC_BIT_EXT = 0x00800000, 13841 VK_IMAGE_COMPRESSION_FIXED_RATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 13842 } VkImageCompressionFixedRateFlagBitsEXT; 13843 typedef VkFlags VkImageCompressionFixedRateFlagsEXT; 13844 typedef struct VkPhysicalDeviceImageCompressionControlFeaturesEXT { 13845 VkStructureType sType; 13846 void* pNext; 13847 VkBool32 imageCompressionControl; 13848 } VkPhysicalDeviceImageCompressionControlFeaturesEXT; 13849 13850 typedef struct VkImageCompressionControlEXT { 13851 VkStructureType sType; 13852 const void* pNext; 13853 VkImageCompressionFlagsEXT flags; 13854 uint32_t compressionControlPlaneCount; 13855 VkImageCompressionFixedRateFlagsEXT* pFixedRateFlags; 13856 } VkImageCompressionControlEXT; 13857 13858 typedef struct VkSubresourceLayout2EXT { 13859 VkStructureType sType; 13860 void* pNext; 13861 VkSubresourceLayout subresourceLayout; 13862 } VkSubresourceLayout2EXT; 13863 13864 typedef struct VkImageSubresource2EXT { 13865 VkStructureType sType; 13866 void* pNext; 13867 VkImageSubresource imageSubresource; 13868 } VkImageSubresource2EXT; 13869 13870 typedef struct VkImageCompressionPropertiesEXT { 13871 VkStructureType sType; 13872 void* pNext; 13873 VkImageCompressionFlagsEXT imageCompressionFlags; 13874 VkImageCompressionFixedRateFlagsEXT imageCompressionFixedRateFlags; 13875 } VkImageCompressionPropertiesEXT; 13876 13877 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout2EXT)(VkDevice device, VkImage image, const VkImageSubresource2EXT* pSubresource, VkSubresourceLayout2EXT* pLayout); 13878 13879 #ifndef VK_NO_PROTOTYPES 13880 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout2EXT( 13881 VkDevice device, 13882 VkImage image, 13883 const VkImageSubresource2EXT* pSubresource, 13884 VkSubresourceLayout2EXT* pLayout); 13885 #endif 13886 13887 13888 #define VK_EXT_attachment_feedback_loop_layout 1 13889 #define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_SPEC_VERSION 2 13890 #define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_EXTENSION_NAME "VK_EXT_attachment_feedback_loop_layout" 13891 typedef struct VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT { 13892 VkStructureType sType; 13893 void* pNext; 13894 VkBool32 attachmentFeedbackLoopLayout; 13895 } VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT; 13896 13897 13898 13899 #define VK_EXT_4444_formats 1 13900 #define VK_EXT_4444_FORMATS_SPEC_VERSION 1 13901 #define VK_EXT_4444_FORMATS_EXTENSION_NAME "VK_EXT_4444_formats" 13902 typedef struct VkPhysicalDevice4444FormatsFeaturesEXT { 13903 VkStructureType sType; 13904 void* pNext; 13905 VkBool32 formatA4R4G4B4; 13906 VkBool32 formatA4B4G4R4; 13907 } VkPhysicalDevice4444FormatsFeaturesEXT; 13908 13909 13910 13911 #define VK_EXT_device_fault 1 13912 #define VK_EXT_DEVICE_FAULT_SPEC_VERSION 1 13913 #define VK_EXT_DEVICE_FAULT_EXTENSION_NAME "VK_EXT_device_fault" 13914 13915 typedef enum VkDeviceFaultAddressTypeEXT { 13916 VK_DEVICE_FAULT_ADDRESS_TYPE_NONE_EXT = 0, 13917 VK_DEVICE_FAULT_ADDRESS_TYPE_READ_INVALID_EXT = 1, 13918 VK_DEVICE_FAULT_ADDRESS_TYPE_WRITE_INVALID_EXT = 2, 13919 VK_DEVICE_FAULT_ADDRESS_TYPE_EXECUTE_INVALID_EXT = 3, 13920 VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_UNKNOWN_EXT = 4, 13921 VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_INVALID_EXT = 5, 13922 VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_FAULT_EXT = 6, 13923 VK_DEVICE_FAULT_ADDRESS_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 13924 } VkDeviceFaultAddressTypeEXT; 13925 13926 typedef enum VkDeviceFaultVendorBinaryHeaderVersionEXT { 13927 VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_ONE_EXT = 1, 13928 VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF 13929 } VkDeviceFaultVendorBinaryHeaderVersionEXT; 13930 typedef struct VkPhysicalDeviceFaultFeaturesEXT { 13931 VkStructureType sType; 13932 void* pNext; 13933 VkBool32 deviceFault; 13934 VkBool32 deviceFaultVendorBinary; 13935 } VkPhysicalDeviceFaultFeaturesEXT; 13936 13937 typedef struct VkDeviceFaultCountsEXT { 13938 VkStructureType sType; 13939 void* pNext; 13940 uint32_t addressInfoCount; 13941 uint32_t vendorInfoCount; 13942 VkDeviceSize vendorBinarySize; 13943 } VkDeviceFaultCountsEXT; 13944 13945 typedef struct VkDeviceFaultAddressInfoEXT { 13946 VkDeviceFaultAddressTypeEXT addressType; 13947 VkDeviceAddress reportedAddress; 13948 VkDeviceSize addressPrecision; 13949 } VkDeviceFaultAddressInfoEXT; 13950 13951 typedef struct VkDeviceFaultVendorInfoEXT { 13952 char description[VK_MAX_DESCRIPTION_SIZE]; 13953 uint64_t vendorFaultCode; 13954 uint64_t vendorFaultData; 13955 } VkDeviceFaultVendorInfoEXT; 13956 13957 typedef struct VkDeviceFaultInfoEXT { 13958 VkStructureType sType; 13959 void* pNext; 13960 char description[VK_MAX_DESCRIPTION_SIZE]; 13961 VkDeviceFaultAddressInfoEXT* pAddressInfos; 13962 VkDeviceFaultVendorInfoEXT* pVendorInfos; 13963 void* pVendorBinaryData; 13964 } VkDeviceFaultInfoEXT; 13965 13966 typedef struct VkDeviceFaultVendorBinaryHeaderVersionOneEXT { 13967 uint32_t headerSize; 13968 VkDeviceFaultVendorBinaryHeaderVersionEXT headerVersion; 13969 uint32_t vendorID; 13970 uint32_t deviceID; 13971 uint32_t driverVersion; 13972 uint8_t pipelineCacheUUID[VK_UUID_SIZE]; 13973 uint32_t applicationNameOffset; 13974 uint32_t applicationVersion; 13975 uint32_t engineNameOffset; 13976 } VkDeviceFaultVendorBinaryHeaderVersionOneEXT; 13977 13978 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceFaultInfoEXT)(VkDevice device, VkDeviceFaultCountsEXT* pFaultCounts, VkDeviceFaultInfoEXT* pFaultInfo); 13979 13980 #ifndef VK_NO_PROTOTYPES 13981 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceFaultInfoEXT( 13982 VkDevice device, 13983 VkDeviceFaultCountsEXT* pFaultCounts, 13984 VkDeviceFaultInfoEXT* pFaultInfo); 13985 #endif 13986 13987 13988 #define VK_ARM_rasterization_order_attachment_access 1 13989 #define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION 1 13990 #define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME "VK_ARM_rasterization_order_attachment_access" 13991 typedef struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT { 13992 VkStructureType sType; 13993 void* pNext; 13994 VkBool32 rasterizationOrderColorAttachmentAccess; 13995 VkBool32 rasterizationOrderDepthAttachmentAccess; 13996 VkBool32 rasterizationOrderStencilAttachmentAccess; 13997 } VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT; 13998 13999 typedef VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM; 14000 14001 14002 14003 #define VK_EXT_rgba10x6_formats 1 14004 #define VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION 1 14005 #define VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME "VK_EXT_rgba10x6_formats" 14006 typedef struct VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT { 14007 VkStructureType sType; 14008 void* pNext; 14009 VkBool32 formatRgba10x6WithoutYCbCrSampler; 14010 } VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT; 14011 14012 14013 14014 #define VK_NV_acquire_winrt_display 1 14015 #define VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION 1 14016 #define VK_NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME "VK_NV_acquire_winrt_display" 14017 typedef VkResult (VKAPI_PTR *PFN_vkAcquireWinrtDisplayNV)(VkPhysicalDevice physicalDevice, VkDisplayKHR display); 14018 typedef VkResult (VKAPI_PTR *PFN_vkGetWinrtDisplayNV)(VkPhysicalDevice physicalDevice, uint32_t deviceRelativeId, VkDisplayKHR* pDisplay); 14019 14020 #ifndef VK_NO_PROTOTYPES 14021 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireWinrtDisplayNV( 14022 VkPhysicalDevice physicalDevice, 14023 VkDisplayKHR display); 14024 14025 VKAPI_ATTR VkResult VKAPI_CALL vkGetWinrtDisplayNV( 14026 VkPhysicalDevice physicalDevice, 14027 uint32_t deviceRelativeId, 14028 VkDisplayKHR* pDisplay); 14029 #endif 14030 14031 14032 #define VK_VALVE_mutable_descriptor_type 1 14033 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1 14034 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_VALVE_mutable_descriptor_type" 14035 typedef struct VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT { 14036 VkStructureType sType; 14037 void* pNext; 14038 VkBool32 mutableDescriptorType; 14039 } VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT; 14040 14041 typedef VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE; 14042 14043 typedef struct VkMutableDescriptorTypeListEXT { 14044 uint32_t descriptorTypeCount; 14045 const VkDescriptorType* pDescriptorTypes; 14046 } VkMutableDescriptorTypeListEXT; 14047 14048 typedef VkMutableDescriptorTypeListEXT VkMutableDescriptorTypeListVALVE; 14049 14050 typedef struct VkMutableDescriptorTypeCreateInfoEXT { 14051 VkStructureType sType; 14052 const void* pNext; 14053 uint32_t mutableDescriptorTypeListCount; 14054 const VkMutableDescriptorTypeListEXT* pMutableDescriptorTypeLists; 14055 } VkMutableDescriptorTypeCreateInfoEXT; 14056 14057 typedef VkMutableDescriptorTypeCreateInfoEXT VkMutableDescriptorTypeCreateInfoVALVE; 14058 14059 14060 14061 #define VK_EXT_vertex_input_dynamic_state 1 14062 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION 2 14063 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_vertex_input_dynamic_state" 14064 typedef struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT { 14065 VkStructureType sType; 14066 void* pNext; 14067 VkBool32 vertexInputDynamicState; 14068 } VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT; 14069 14070 typedef struct VkVertexInputBindingDescription2EXT { 14071 VkStructureType sType; 14072 void* pNext; 14073 uint32_t binding; 14074 uint32_t stride; 14075 VkVertexInputRate inputRate; 14076 uint32_t divisor; 14077 } VkVertexInputBindingDescription2EXT; 14078 14079 typedef struct VkVertexInputAttributeDescription2EXT { 14080 VkStructureType sType; 14081 void* pNext; 14082 uint32_t location; 14083 uint32_t binding; 14084 VkFormat format; 14085 uint32_t offset; 14086 } VkVertexInputAttributeDescription2EXT; 14087 14088 typedef void (VKAPI_PTR *PFN_vkCmdSetVertexInputEXT)(VkCommandBuffer commandBuffer, uint32_t vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, uint32_t vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions); 14089 14090 #ifndef VK_NO_PROTOTYPES 14091 VKAPI_ATTR void VKAPI_CALL vkCmdSetVertexInputEXT( 14092 VkCommandBuffer commandBuffer, 14093 uint32_t vertexBindingDescriptionCount, 14094 const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, 14095 uint32_t vertexAttributeDescriptionCount, 14096 const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions); 14097 #endif 14098 14099 14100 #define VK_EXT_physical_device_drm 1 14101 #define VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION 1 14102 #define VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME "VK_EXT_physical_device_drm" 14103 typedef struct VkPhysicalDeviceDrmPropertiesEXT { 14104 VkStructureType sType; 14105 void* pNext; 14106 VkBool32 hasPrimary; 14107 VkBool32 hasRender; 14108 int64_t primaryMajor; 14109 int64_t primaryMinor; 14110 int64_t renderMajor; 14111 int64_t renderMinor; 14112 } VkPhysicalDeviceDrmPropertiesEXT; 14113 14114 14115 14116 #define VK_EXT_device_address_binding_report 1 14117 #define VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_SPEC_VERSION 1 14118 #define VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_EXTENSION_NAME "VK_EXT_device_address_binding_report" 14119 14120 typedef enum VkDeviceAddressBindingTypeEXT { 14121 VK_DEVICE_ADDRESS_BINDING_TYPE_BIND_EXT = 0, 14122 VK_DEVICE_ADDRESS_BINDING_TYPE_UNBIND_EXT = 1, 14123 VK_DEVICE_ADDRESS_BINDING_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 14124 } VkDeviceAddressBindingTypeEXT; 14125 14126 typedef enum VkDeviceAddressBindingFlagBitsEXT { 14127 VK_DEVICE_ADDRESS_BINDING_INTERNAL_OBJECT_BIT_EXT = 0x00000001, 14128 VK_DEVICE_ADDRESS_BINDING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 14129 } VkDeviceAddressBindingFlagBitsEXT; 14130 typedef VkFlags VkDeviceAddressBindingFlagsEXT; 14131 typedef struct VkPhysicalDeviceAddressBindingReportFeaturesEXT { 14132 VkStructureType sType; 14133 void* pNext; 14134 VkBool32 reportAddressBinding; 14135 } VkPhysicalDeviceAddressBindingReportFeaturesEXT; 14136 14137 typedef struct VkDeviceAddressBindingCallbackDataEXT { 14138 VkStructureType sType; 14139 void* pNext; 14140 VkDeviceAddressBindingFlagsEXT flags; 14141 VkDeviceAddress baseAddress; 14142 VkDeviceSize size; 14143 VkDeviceAddressBindingTypeEXT bindingType; 14144 } VkDeviceAddressBindingCallbackDataEXT; 14145 14146 14147 14148 #define VK_EXT_depth_clip_control 1 14149 #define VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION 1 14150 #define VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME "VK_EXT_depth_clip_control" 14151 typedef struct VkPhysicalDeviceDepthClipControlFeaturesEXT { 14152 VkStructureType sType; 14153 void* pNext; 14154 VkBool32 depthClipControl; 14155 } VkPhysicalDeviceDepthClipControlFeaturesEXT; 14156 14157 typedef struct VkPipelineViewportDepthClipControlCreateInfoEXT { 14158 VkStructureType sType; 14159 const void* pNext; 14160 VkBool32 negativeOneToOne; 14161 } VkPipelineViewportDepthClipControlCreateInfoEXT; 14162 14163 14164 14165 #define VK_EXT_primitive_topology_list_restart 1 14166 #define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION 1 14167 #define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME "VK_EXT_primitive_topology_list_restart" 14168 typedef struct VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT { 14169 VkStructureType sType; 14170 void* pNext; 14171 VkBool32 primitiveTopologyListRestart; 14172 VkBool32 primitiveTopologyPatchListRestart; 14173 } VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT; 14174 14175 14176 14177 #define VK_HUAWEI_subpass_shading 1 14178 #define VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION 2 14179 #define VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME "VK_HUAWEI_subpass_shading" 14180 typedef struct VkSubpassShadingPipelineCreateInfoHUAWEI { 14181 VkStructureType sType; 14182 void* pNext; 14183 VkRenderPass renderPass; 14184 uint32_t subpass; 14185 } VkSubpassShadingPipelineCreateInfoHUAWEI; 14186 14187 typedef struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI { 14188 VkStructureType sType; 14189 void* pNext; 14190 VkBool32 subpassShading; 14191 } VkPhysicalDeviceSubpassShadingFeaturesHUAWEI; 14192 14193 typedef struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI { 14194 VkStructureType sType; 14195 void* pNext; 14196 uint32_t maxSubpassShadingWorkgroupSizeAspectRatio; 14197 } VkPhysicalDeviceSubpassShadingPropertiesHUAWEI; 14198 14199 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI)(VkDevice device, VkRenderPass renderpass, VkExtent2D* pMaxWorkgroupSize); 14200 typedef void (VKAPI_PTR *PFN_vkCmdSubpassShadingHUAWEI)(VkCommandBuffer commandBuffer); 14201 14202 #ifndef VK_NO_PROTOTYPES 14203 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( 14204 VkDevice device, 14205 VkRenderPass renderpass, 14206 VkExtent2D* pMaxWorkgroupSize); 14207 14208 VKAPI_ATTR void VKAPI_CALL vkCmdSubpassShadingHUAWEI( 14209 VkCommandBuffer commandBuffer); 14210 #endif 14211 14212 14213 #define VK_HUAWEI_invocation_mask 1 14214 #define VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION 1 14215 #define VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME "VK_HUAWEI_invocation_mask" 14216 typedef struct VkPhysicalDeviceInvocationMaskFeaturesHUAWEI { 14217 VkStructureType sType; 14218 void* pNext; 14219 VkBool32 invocationMask; 14220 } VkPhysicalDeviceInvocationMaskFeaturesHUAWEI; 14221 14222 typedef void (VKAPI_PTR *PFN_vkCmdBindInvocationMaskHUAWEI)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout); 14223 14224 #ifndef VK_NO_PROTOTYPES 14225 VKAPI_ATTR void VKAPI_CALL vkCmdBindInvocationMaskHUAWEI( 14226 VkCommandBuffer commandBuffer, 14227 VkImageView imageView, 14228 VkImageLayout imageLayout); 14229 #endif 14230 14231 14232 #define VK_NV_external_memory_rdma 1 14233 typedef void* VkRemoteAddressNV; 14234 #define VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION 1 14235 #define VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME "VK_NV_external_memory_rdma" 14236 typedef struct VkMemoryGetRemoteAddressInfoNV { 14237 VkStructureType sType; 14238 const void* pNext; 14239 VkDeviceMemory memory; 14240 VkExternalMemoryHandleTypeFlagBits handleType; 14241 } VkMemoryGetRemoteAddressInfoNV; 14242 14243 typedef struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV { 14244 VkStructureType sType; 14245 void* pNext; 14246 VkBool32 externalMemoryRDMA; 14247 } VkPhysicalDeviceExternalMemoryRDMAFeaturesNV; 14248 14249 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryRemoteAddressNV)(VkDevice device, const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, VkRemoteAddressNV* pAddress); 14250 14251 #ifndef VK_NO_PROTOTYPES 14252 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryRemoteAddressNV( 14253 VkDevice device, 14254 const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, 14255 VkRemoteAddressNV* pAddress); 14256 #endif 14257 14258 14259 #define VK_EXT_pipeline_properties 1 14260 #define VK_EXT_PIPELINE_PROPERTIES_SPEC_VERSION 1 14261 #define VK_EXT_PIPELINE_PROPERTIES_EXTENSION_NAME "VK_EXT_pipeline_properties" 14262 typedef VkPipelineInfoKHR VkPipelineInfoEXT; 14263 14264 typedef struct VkPipelinePropertiesIdentifierEXT { 14265 VkStructureType sType; 14266 void* pNext; 14267 uint8_t pipelineIdentifier[VK_UUID_SIZE]; 14268 } VkPipelinePropertiesIdentifierEXT; 14269 14270 typedef struct VkPhysicalDevicePipelinePropertiesFeaturesEXT { 14271 VkStructureType sType; 14272 void* pNext; 14273 VkBool32 pipelinePropertiesIdentifier; 14274 } VkPhysicalDevicePipelinePropertiesFeaturesEXT; 14275 14276 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelinePropertiesEXT)(VkDevice device, const VkPipelineInfoEXT* pPipelineInfo, VkBaseOutStructure* pPipelineProperties); 14277 14278 #ifndef VK_NO_PROTOTYPES 14279 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelinePropertiesEXT( 14280 VkDevice device, 14281 const VkPipelineInfoEXT* pPipelineInfo, 14282 VkBaseOutStructure* pPipelineProperties); 14283 #endif 14284 14285 14286 #define VK_EXT_multisampled_render_to_single_sampled 1 14287 #define VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_SPEC_VERSION 1 14288 #define VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_EXTENSION_NAME "VK_EXT_multisampled_render_to_single_sampled" 14289 typedef struct VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT { 14290 VkStructureType sType; 14291 void* pNext; 14292 VkBool32 multisampledRenderToSingleSampled; 14293 } VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT; 14294 14295 typedef struct VkSubpassResolvePerformanceQueryEXT { 14296 VkStructureType sType; 14297 void* pNext; 14298 VkBool32 optimal; 14299 } VkSubpassResolvePerformanceQueryEXT; 14300 14301 typedef struct VkMultisampledRenderToSingleSampledInfoEXT { 14302 VkStructureType sType; 14303 const void* pNext; 14304 VkBool32 multisampledRenderToSingleSampledEnable; 14305 VkSampleCountFlagBits rasterizationSamples; 14306 } VkMultisampledRenderToSingleSampledInfoEXT; 14307 14308 14309 14310 #define VK_EXT_extended_dynamic_state2 1 14311 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION 1 14312 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME "VK_EXT_extended_dynamic_state2" 14313 typedef struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT { 14314 VkStructureType sType; 14315 void* pNext; 14316 VkBool32 extendedDynamicState2; 14317 VkBool32 extendedDynamicState2LogicOp; 14318 VkBool32 extendedDynamicState2PatchControlPoints; 14319 } VkPhysicalDeviceExtendedDynamicState2FeaturesEXT; 14320 14321 typedef void (VKAPI_PTR *PFN_vkCmdSetPatchControlPointsEXT)(VkCommandBuffer commandBuffer, uint32_t patchControlPoints); 14322 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable); 14323 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable); 14324 typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEXT)(VkCommandBuffer commandBuffer, VkLogicOp logicOp); 14325 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable); 14326 14327 #ifndef VK_NO_PROTOTYPES 14328 VKAPI_ATTR void VKAPI_CALL vkCmdSetPatchControlPointsEXT( 14329 VkCommandBuffer commandBuffer, 14330 uint32_t patchControlPoints); 14331 14332 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnableEXT( 14333 VkCommandBuffer commandBuffer, 14334 VkBool32 rasterizerDiscardEnable); 14335 14336 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnableEXT( 14337 VkCommandBuffer commandBuffer, 14338 VkBool32 depthBiasEnable); 14339 14340 VKAPI_ATTR void VKAPI_CALL vkCmdSetLogicOpEXT( 14341 VkCommandBuffer commandBuffer, 14342 VkLogicOp logicOp); 14343 14344 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnableEXT( 14345 VkCommandBuffer commandBuffer, 14346 VkBool32 primitiveRestartEnable); 14347 #endif 14348 14349 14350 #define VK_EXT_color_write_enable 1 14351 #define VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION 1 14352 #define VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME "VK_EXT_color_write_enable" 14353 typedef struct VkPhysicalDeviceColorWriteEnableFeaturesEXT { 14354 VkStructureType sType; 14355 void* pNext; 14356 VkBool32 colorWriteEnable; 14357 } VkPhysicalDeviceColorWriteEnableFeaturesEXT; 14358 14359 typedef struct VkPipelineColorWriteCreateInfoEXT { 14360 VkStructureType sType; 14361 const void* pNext; 14362 uint32_t attachmentCount; 14363 const VkBool32* pColorWriteEnables; 14364 } VkPipelineColorWriteCreateInfoEXT; 14365 14366 typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteEnableEXT)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32* pColorWriteEnables); 14367 14368 #ifndef VK_NO_PROTOTYPES 14369 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteEnableEXT( 14370 VkCommandBuffer commandBuffer, 14371 uint32_t attachmentCount, 14372 const VkBool32* pColorWriteEnables); 14373 #endif 14374 14375 14376 #define VK_EXT_primitives_generated_query 1 14377 #define VK_EXT_PRIMITIVES_GENERATED_QUERY_SPEC_VERSION 1 14378 #define VK_EXT_PRIMITIVES_GENERATED_QUERY_EXTENSION_NAME "VK_EXT_primitives_generated_query" 14379 typedef struct VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT { 14380 VkStructureType sType; 14381 void* pNext; 14382 VkBool32 primitivesGeneratedQuery; 14383 VkBool32 primitivesGeneratedQueryWithRasterizerDiscard; 14384 VkBool32 primitivesGeneratedQueryWithNonZeroStreams; 14385 } VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT; 14386 14387 14388 14389 #define VK_EXT_global_priority_query 1 14390 #define VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION 1 14391 #define VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME "VK_EXT_global_priority_query" 14392 #define VK_MAX_GLOBAL_PRIORITY_SIZE_EXT VK_MAX_GLOBAL_PRIORITY_SIZE_KHR 14393 typedef VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT; 14394 14395 typedef VkQueueFamilyGlobalPriorityPropertiesKHR VkQueueFamilyGlobalPriorityPropertiesEXT; 14396 14397 14398 14399 #define VK_EXT_image_view_min_lod 1 14400 #define VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION 1 14401 #define VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME "VK_EXT_image_view_min_lod" 14402 typedef struct VkPhysicalDeviceImageViewMinLodFeaturesEXT { 14403 VkStructureType sType; 14404 void* pNext; 14405 VkBool32 minLod; 14406 } VkPhysicalDeviceImageViewMinLodFeaturesEXT; 14407 14408 typedef struct VkImageViewMinLodCreateInfoEXT { 14409 VkStructureType sType; 14410 const void* pNext; 14411 float minLod; 14412 } VkImageViewMinLodCreateInfoEXT; 14413 14414 14415 14416 #define VK_EXT_multi_draw 1 14417 #define VK_EXT_MULTI_DRAW_SPEC_VERSION 1 14418 #define VK_EXT_MULTI_DRAW_EXTENSION_NAME "VK_EXT_multi_draw" 14419 typedef struct VkPhysicalDeviceMultiDrawFeaturesEXT { 14420 VkStructureType sType; 14421 void* pNext; 14422 VkBool32 multiDraw; 14423 } VkPhysicalDeviceMultiDrawFeaturesEXT; 14424 14425 typedef struct VkPhysicalDeviceMultiDrawPropertiesEXT { 14426 VkStructureType sType; 14427 void* pNext; 14428 uint32_t maxMultiDrawCount; 14429 } VkPhysicalDeviceMultiDrawPropertiesEXT; 14430 14431 typedef struct VkMultiDrawInfoEXT { 14432 uint32_t firstVertex; 14433 uint32_t vertexCount; 14434 } VkMultiDrawInfoEXT; 14435 14436 typedef struct VkMultiDrawIndexedInfoEXT { 14437 uint32_t firstIndex; 14438 uint32_t indexCount; 14439 int32_t vertexOffset; 14440 } VkMultiDrawIndexedInfoEXT; 14441 14442 typedef void (VKAPI_PTR *PFN_vkCmdDrawMultiEXT)(VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawInfoEXT* pVertexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride); 14443 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); 14444 14445 #ifndef VK_NO_PROTOTYPES 14446 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiEXT( 14447 VkCommandBuffer commandBuffer, 14448 uint32_t drawCount, 14449 const VkMultiDrawInfoEXT* pVertexInfo, 14450 uint32_t instanceCount, 14451 uint32_t firstInstance, 14452 uint32_t stride); 14453 14454 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiIndexedEXT( 14455 VkCommandBuffer commandBuffer, 14456 uint32_t drawCount, 14457 const VkMultiDrawIndexedInfoEXT* pIndexInfo, 14458 uint32_t instanceCount, 14459 uint32_t firstInstance, 14460 uint32_t stride, 14461 const int32_t* pVertexOffset); 14462 #endif 14463 14464 14465 #define VK_EXT_image_2d_view_of_3d 1 14466 #define VK_EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION 1 14467 #define VK_EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME "VK_EXT_image_2d_view_of_3d" 14468 typedef struct VkPhysicalDeviceImage2DViewOf3DFeaturesEXT { 14469 VkStructureType sType; 14470 void* pNext; 14471 VkBool32 image2DViewOf3D; 14472 VkBool32 sampler2DViewOf3D; 14473 } VkPhysicalDeviceImage2DViewOf3DFeaturesEXT; 14474 14475 14476 14477 #define VK_EXT_opacity_micromap 1 14478 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkMicromapEXT) 14479 #define VK_EXT_OPACITY_MICROMAP_SPEC_VERSION 2 14480 #define VK_EXT_OPACITY_MICROMAP_EXTENSION_NAME "VK_EXT_opacity_micromap" 14481 14482 typedef enum VkMicromapTypeEXT { 14483 VK_MICROMAP_TYPE_OPACITY_MICROMAP_EXT = 0, 14484 VK_MICROMAP_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 14485 } VkMicromapTypeEXT; 14486 14487 typedef enum VkBuildMicromapModeEXT { 14488 VK_BUILD_MICROMAP_MODE_BUILD_EXT = 0, 14489 VK_BUILD_MICROMAP_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 14490 } VkBuildMicromapModeEXT; 14491 14492 typedef enum VkCopyMicromapModeEXT { 14493 VK_COPY_MICROMAP_MODE_CLONE_EXT = 0, 14494 VK_COPY_MICROMAP_MODE_SERIALIZE_EXT = 1, 14495 VK_COPY_MICROMAP_MODE_DESERIALIZE_EXT = 2, 14496 VK_COPY_MICROMAP_MODE_COMPACT_EXT = 3, 14497 VK_COPY_MICROMAP_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 14498 } VkCopyMicromapModeEXT; 14499 14500 typedef enum VkOpacityMicromapFormatEXT { 14501 VK_OPACITY_MICROMAP_FORMAT_2_STATE_EXT = 1, 14502 VK_OPACITY_MICROMAP_FORMAT_4_STATE_EXT = 2, 14503 VK_OPACITY_MICROMAP_FORMAT_MAX_ENUM_EXT = 0x7FFFFFFF 14504 } VkOpacityMicromapFormatEXT; 14505 14506 typedef enum VkOpacityMicromapSpecialIndexEXT { 14507 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_TRANSPARENT_EXT = -1, 14508 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_OPAQUE_EXT = -2, 14509 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_TRANSPARENT_EXT = -3, 14510 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_OPAQUE_EXT = -4, 14511 VK_OPACITY_MICROMAP_SPECIAL_INDEX_MAX_ENUM_EXT = 0x7FFFFFFF 14512 } VkOpacityMicromapSpecialIndexEXT; 14513 14514 typedef enum VkAccelerationStructureCompatibilityKHR { 14515 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR = 0, 14516 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR = 1, 14517 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR = 0x7FFFFFFF 14518 } VkAccelerationStructureCompatibilityKHR; 14519 14520 typedef enum VkAccelerationStructureBuildTypeKHR { 14521 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0, 14522 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1, 14523 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR = 2, 14524 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 14525 } VkAccelerationStructureBuildTypeKHR; 14526 14527 typedef enum VkBuildMicromapFlagBitsEXT { 14528 VK_BUILD_MICROMAP_PREFER_FAST_TRACE_BIT_EXT = 0x00000001, 14529 VK_BUILD_MICROMAP_PREFER_FAST_BUILD_BIT_EXT = 0x00000002, 14530 VK_BUILD_MICROMAP_ALLOW_COMPACTION_BIT_EXT = 0x00000004, 14531 VK_BUILD_MICROMAP_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 14532 } VkBuildMicromapFlagBitsEXT; 14533 typedef VkFlags VkBuildMicromapFlagsEXT; 14534 14535 typedef enum VkMicromapCreateFlagBitsEXT { 14536 VK_MICROMAP_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = 0x00000001, 14537 VK_MICROMAP_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 14538 } VkMicromapCreateFlagBitsEXT; 14539 typedef VkFlags VkMicromapCreateFlagsEXT; 14540 typedef struct VkMicromapUsageEXT { 14541 uint32_t count; 14542 uint32_t subdivisionLevel; 14543 uint32_t format; 14544 } VkMicromapUsageEXT; 14545 14546 typedef union VkDeviceOrHostAddressKHR { 14547 VkDeviceAddress deviceAddress; 14548 void* hostAddress; 14549 } VkDeviceOrHostAddressKHR; 14550 14551 typedef struct VkMicromapBuildInfoEXT { 14552 VkStructureType sType; 14553 const void* pNext; 14554 VkMicromapTypeEXT type; 14555 VkBuildMicromapFlagsEXT flags; 14556 VkBuildMicromapModeEXT mode; 14557 VkMicromapEXT dstMicromap; 14558 uint32_t usageCountsCount; 14559 const VkMicromapUsageEXT* pUsageCounts; 14560 const VkMicromapUsageEXT* const* ppUsageCounts; 14561 VkDeviceOrHostAddressConstKHR data; 14562 VkDeviceOrHostAddressKHR scratchData; 14563 VkDeviceOrHostAddressConstKHR triangleArray; 14564 VkDeviceSize triangleArrayStride; 14565 } VkMicromapBuildInfoEXT; 14566 14567 typedef struct VkMicromapCreateInfoEXT { 14568 VkStructureType sType; 14569 const void* pNext; 14570 VkMicromapCreateFlagsEXT createFlags; 14571 VkBuffer buffer; 14572 VkDeviceSize offset; 14573 VkDeviceSize size; 14574 VkMicromapTypeEXT type; 14575 VkDeviceAddress deviceAddress; 14576 } VkMicromapCreateInfoEXT; 14577 14578 typedef struct VkPhysicalDeviceOpacityMicromapFeaturesEXT { 14579 VkStructureType sType; 14580 void* pNext; 14581 VkBool32 micromap; 14582 VkBool32 micromapCaptureReplay; 14583 VkBool32 micromapHostCommands; 14584 } VkPhysicalDeviceOpacityMicromapFeaturesEXT; 14585 14586 typedef struct VkPhysicalDeviceOpacityMicromapPropertiesEXT { 14587 VkStructureType sType; 14588 void* pNext; 14589 uint32_t maxOpacity2StateSubdivisionLevel; 14590 uint32_t maxOpacity4StateSubdivisionLevel; 14591 } VkPhysicalDeviceOpacityMicromapPropertiesEXT; 14592 14593 typedef struct VkMicromapVersionInfoEXT { 14594 VkStructureType sType; 14595 const void* pNext; 14596 const uint8_t* pVersionData; 14597 } VkMicromapVersionInfoEXT; 14598 14599 typedef struct VkCopyMicromapToMemoryInfoEXT { 14600 VkStructureType sType; 14601 const void* pNext; 14602 VkMicromapEXT src; 14603 VkDeviceOrHostAddressKHR dst; 14604 VkCopyMicromapModeEXT mode; 14605 } VkCopyMicromapToMemoryInfoEXT; 14606 14607 typedef struct VkCopyMemoryToMicromapInfoEXT { 14608 VkStructureType sType; 14609 const void* pNext; 14610 VkDeviceOrHostAddressConstKHR src; 14611 VkMicromapEXT dst; 14612 VkCopyMicromapModeEXT mode; 14613 } VkCopyMemoryToMicromapInfoEXT; 14614 14615 typedef struct VkCopyMicromapInfoEXT { 14616 VkStructureType sType; 14617 const void* pNext; 14618 VkMicromapEXT src; 14619 VkMicromapEXT dst; 14620 VkCopyMicromapModeEXT mode; 14621 } VkCopyMicromapInfoEXT; 14622 14623 typedef struct VkMicromapBuildSizesInfoEXT { 14624 VkStructureType sType; 14625 const void* pNext; 14626 VkDeviceSize micromapSize; 14627 VkDeviceSize buildScratchSize; 14628 VkBool32 discardable; 14629 } VkMicromapBuildSizesInfoEXT; 14630 14631 typedef struct VkAccelerationStructureTrianglesOpacityMicromapEXT { 14632 VkStructureType sType; 14633 void* pNext; 14634 VkIndexType indexType; 14635 VkDeviceOrHostAddressConstKHR indexBuffer; 14636 VkDeviceSize indexStride; 14637 uint32_t baseTriangle; 14638 uint32_t usageCountsCount; 14639 const VkMicromapUsageEXT* pUsageCounts; 14640 const VkMicromapUsageEXT* const* ppUsageCounts; 14641 VkMicromapEXT micromap; 14642 } VkAccelerationStructureTrianglesOpacityMicromapEXT; 14643 14644 typedef struct VkMicromapTriangleEXT { 14645 uint32_t dataOffset; 14646 uint16_t subdivisionLevel; 14647 uint16_t format; 14648 } VkMicromapTriangleEXT; 14649 14650 typedef VkResult (VKAPI_PTR *PFN_vkCreateMicromapEXT)(VkDevice device, const VkMicromapCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkMicromapEXT* pMicromap); 14651 typedef void (VKAPI_PTR *PFN_vkDestroyMicromapEXT)(VkDevice device, VkMicromapEXT micromap, const VkAllocationCallbacks* pAllocator); 14652 typedef void (VKAPI_PTR *PFN_vkCmdBuildMicromapsEXT)(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkMicromapBuildInfoEXT* pInfos); 14653 typedef VkResult (VKAPI_PTR *PFN_vkBuildMicromapsEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkMicromapBuildInfoEXT* pInfos); 14654 typedef VkResult (VKAPI_PTR *PFN_vkCopyMicromapEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapInfoEXT* pInfo); 14655 typedef VkResult (VKAPI_PTR *PFN_vkCopyMicromapToMemoryEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapToMemoryInfoEXT* pInfo); 14656 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToMicromapEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToMicromapInfoEXT* pInfo); 14657 typedef VkResult (VKAPI_PTR *PFN_vkWriteMicromapsPropertiesEXT)(VkDevice device, uint32_t micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, size_t dataSize, void* pData, size_t stride); 14658 typedef void (VKAPI_PTR *PFN_vkCmdCopyMicromapEXT)(VkCommandBuffer commandBuffer, const VkCopyMicromapInfoEXT* pInfo); 14659 typedef void (VKAPI_PTR *PFN_vkCmdCopyMicromapToMemoryEXT)(VkCommandBuffer commandBuffer, const VkCopyMicromapToMemoryInfoEXT* pInfo); 14660 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToMicromapEXT)(VkCommandBuffer commandBuffer, const VkCopyMemoryToMicromapInfoEXT* pInfo); 14661 typedef void (VKAPI_PTR *PFN_vkCmdWriteMicromapsPropertiesEXT)(VkCommandBuffer commandBuffer, uint32_t micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery); 14662 typedef void (VKAPI_PTR *PFN_vkGetDeviceMicromapCompatibilityEXT)(VkDevice device, const VkMicromapVersionInfoEXT* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility); 14663 typedef void (VKAPI_PTR *PFN_vkGetMicromapBuildSizesEXT)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkMicromapBuildInfoEXT* pBuildInfo, VkMicromapBuildSizesInfoEXT* pSizeInfo); 14664 14665 #ifndef VK_NO_PROTOTYPES 14666 VKAPI_ATTR VkResult VKAPI_CALL vkCreateMicromapEXT( 14667 VkDevice device, 14668 const VkMicromapCreateInfoEXT* pCreateInfo, 14669 const VkAllocationCallbacks* pAllocator, 14670 VkMicromapEXT* pMicromap); 14671 14672 VKAPI_ATTR void VKAPI_CALL vkDestroyMicromapEXT( 14673 VkDevice device, 14674 VkMicromapEXT micromap, 14675 const VkAllocationCallbacks* pAllocator); 14676 14677 VKAPI_ATTR void VKAPI_CALL vkCmdBuildMicromapsEXT( 14678 VkCommandBuffer commandBuffer, 14679 uint32_t infoCount, 14680 const VkMicromapBuildInfoEXT* pInfos); 14681 14682 VKAPI_ATTR VkResult VKAPI_CALL vkBuildMicromapsEXT( 14683 VkDevice device, 14684 VkDeferredOperationKHR deferredOperation, 14685 uint32_t infoCount, 14686 const VkMicromapBuildInfoEXT* pInfos); 14687 14688 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMicromapEXT( 14689 VkDevice device, 14690 VkDeferredOperationKHR deferredOperation, 14691 const VkCopyMicromapInfoEXT* pInfo); 14692 14693 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMicromapToMemoryEXT( 14694 VkDevice device, 14695 VkDeferredOperationKHR deferredOperation, 14696 const VkCopyMicromapToMemoryInfoEXT* pInfo); 14697 14698 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToMicromapEXT( 14699 VkDevice device, 14700 VkDeferredOperationKHR deferredOperation, 14701 const VkCopyMemoryToMicromapInfoEXT* pInfo); 14702 14703 VKAPI_ATTR VkResult VKAPI_CALL vkWriteMicromapsPropertiesEXT( 14704 VkDevice device, 14705 uint32_t micromapCount, 14706 const VkMicromapEXT* pMicromaps, 14707 VkQueryType queryType, 14708 size_t dataSize, 14709 void* pData, 14710 size_t stride); 14711 14712 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMicromapEXT( 14713 VkCommandBuffer commandBuffer, 14714 const VkCopyMicromapInfoEXT* pInfo); 14715 14716 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMicromapToMemoryEXT( 14717 VkCommandBuffer commandBuffer, 14718 const VkCopyMicromapToMemoryInfoEXT* pInfo); 14719 14720 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToMicromapEXT( 14721 VkCommandBuffer commandBuffer, 14722 const VkCopyMemoryToMicromapInfoEXT* pInfo); 14723 14724 VKAPI_ATTR void VKAPI_CALL vkCmdWriteMicromapsPropertiesEXT( 14725 VkCommandBuffer commandBuffer, 14726 uint32_t micromapCount, 14727 const VkMicromapEXT* pMicromaps, 14728 VkQueryType queryType, 14729 VkQueryPool queryPool, 14730 uint32_t firstQuery); 14731 14732 VKAPI_ATTR void VKAPI_CALL vkGetDeviceMicromapCompatibilityEXT( 14733 VkDevice device, 14734 const VkMicromapVersionInfoEXT* pVersionInfo, 14735 VkAccelerationStructureCompatibilityKHR* pCompatibility); 14736 14737 VKAPI_ATTR void VKAPI_CALL vkGetMicromapBuildSizesEXT( 14738 VkDevice device, 14739 VkAccelerationStructureBuildTypeKHR buildType, 14740 const VkMicromapBuildInfoEXT* pBuildInfo, 14741 VkMicromapBuildSizesInfoEXT* pSizeInfo); 14742 #endif 14743 14744 14745 #define VK_EXT_load_store_op_none 1 14746 #define VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION 1 14747 #define VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME "VK_EXT_load_store_op_none" 14748 14749 14750 #define VK_EXT_border_color_swizzle 1 14751 #define VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION 1 14752 #define VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME "VK_EXT_border_color_swizzle" 14753 typedef struct VkPhysicalDeviceBorderColorSwizzleFeaturesEXT { 14754 VkStructureType sType; 14755 void* pNext; 14756 VkBool32 borderColorSwizzle; 14757 VkBool32 borderColorSwizzleFromImage; 14758 } VkPhysicalDeviceBorderColorSwizzleFeaturesEXT; 14759 14760 typedef struct VkSamplerBorderColorComponentMappingCreateInfoEXT { 14761 VkStructureType sType; 14762 const void* pNext; 14763 VkComponentMapping components; 14764 VkBool32 srgb; 14765 } VkSamplerBorderColorComponentMappingCreateInfoEXT; 14766 14767 14768 14769 #define VK_EXT_pageable_device_local_memory 1 14770 #define VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION 1 14771 #define VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME "VK_EXT_pageable_device_local_memory" 14772 typedef struct VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT { 14773 VkStructureType sType; 14774 void* pNext; 14775 VkBool32 pageableDeviceLocalMemory; 14776 } VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT; 14777 14778 typedef void (VKAPI_PTR *PFN_vkSetDeviceMemoryPriorityEXT)(VkDevice device, VkDeviceMemory memory, float priority); 14779 14780 #ifndef VK_NO_PROTOTYPES 14781 VKAPI_ATTR void VKAPI_CALL vkSetDeviceMemoryPriorityEXT( 14782 VkDevice device, 14783 VkDeviceMemory memory, 14784 float priority); 14785 #endif 14786 14787 14788 #define VK_VALVE_descriptor_set_host_mapping 1 14789 #define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION 1 14790 #define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME "VK_VALVE_descriptor_set_host_mapping" 14791 typedef struct VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE { 14792 VkStructureType sType; 14793 void* pNext; 14794 VkBool32 descriptorSetHostMapping; 14795 } VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE; 14796 14797 typedef struct VkDescriptorSetBindingReferenceVALVE { 14798 VkStructureType sType; 14799 const void* pNext; 14800 VkDescriptorSetLayout descriptorSetLayout; 14801 uint32_t binding; 14802 } VkDescriptorSetBindingReferenceVALVE; 14803 14804 typedef struct VkDescriptorSetLayoutHostMappingInfoVALVE { 14805 VkStructureType sType; 14806 void* pNext; 14807 size_t descriptorOffset; 14808 uint32_t descriptorSize; 14809 } VkDescriptorSetLayoutHostMappingInfoVALVE; 14810 14811 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE)(VkDevice device, const VkDescriptorSetBindingReferenceVALVE* pBindingReference, VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping); 14812 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetHostMappingVALVE)(VkDevice device, VkDescriptorSet descriptorSet, void** ppData); 14813 14814 #ifndef VK_NO_PROTOTYPES 14815 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutHostMappingInfoVALVE( 14816 VkDevice device, 14817 const VkDescriptorSetBindingReferenceVALVE* pBindingReference, 14818 VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping); 14819 14820 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetHostMappingVALVE( 14821 VkDevice device, 14822 VkDescriptorSet descriptorSet, 14823 void** ppData); 14824 #endif 14825 14826 14827 #define VK_EXT_depth_clamp_zero_one 1 14828 #define VK_EXT_DEPTH_CLAMP_ZERO_ONE_SPEC_VERSION 1 14829 #define VK_EXT_DEPTH_CLAMP_ZERO_ONE_EXTENSION_NAME "VK_EXT_depth_clamp_zero_one" 14830 typedef struct VkPhysicalDeviceDepthClampZeroOneFeaturesEXT { 14831 VkStructureType sType; 14832 void* pNext; 14833 VkBool32 depthClampZeroOne; 14834 } VkPhysicalDeviceDepthClampZeroOneFeaturesEXT; 14835 14836 14837 14838 #define VK_EXT_non_seamless_cube_map 1 14839 #define VK_EXT_NON_SEAMLESS_CUBE_MAP_SPEC_VERSION 1 14840 #define VK_EXT_NON_SEAMLESS_CUBE_MAP_EXTENSION_NAME "VK_EXT_non_seamless_cube_map" 14841 typedef struct VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT { 14842 VkStructureType sType; 14843 void* pNext; 14844 VkBool32 nonSeamlessCubeMap; 14845 } VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT; 14846 14847 14848 14849 #define VK_QCOM_fragment_density_map_offset 1 14850 #define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION 1 14851 #define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME "VK_QCOM_fragment_density_map_offset" 14852 typedef struct VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM { 14853 VkStructureType sType; 14854 void* pNext; 14855 VkBool32 fragmentDensityMapOffset; 14856 } VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM; 14857 14858 typedef struct VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM { 14859 VkStructureType sType; 14860 void* pNext; 14861 VkExtent2D fragmentDensityOffsetGranularity; 14862 } VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM; 14863 14864 typedef struct VkSubpassFragmentDensityMapOffsetEndInfoQCOM { 14865 VkStructureType sType; 14866 const void* pNext; 14867 uint32_t fragmentDensityOffsetCount; 14868 const VkOffset2D* pFragmentDensityOffsets; 14869 } VkSubpassFragmentDensityMapOffsetEndInfoQCOM; 14870 14871 14872 14873 #define VK_NV_linear_color_attachment 1 14874 #define VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION 1 14875 #define VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME "VK_NV_linear_color_attachment" 14876 typedef struct VkPhysicalDeviceLinearColorAttachmentFeaturesNV { 14877 VkStructureType sType; 14878 void* pNext; 14879 VkBool32 linearColorAttachment; 14880 } VkPhysicalDeviceLinearColorAttachmentFeaturesNV; 14881 14882 14883 14884 #define VK_GOOGLE_surfaceless_query 1 14885 #define VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION 2 14886 #define VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME "VK_GOOGLE_surfaceless_query" 14887 14888 14889 #define VK_EXT_image_compression_control_swapchain 1 14890 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_SPEC_VERSION 1 14891 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_EXTENSION_NAME "VK_EXT_image_compression_control_swapchain" 14892 typedef struct VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT { 14893 VkStructureType sType; 14894 void* pNext; 14895 VkBool32 imageCompressionControlSwapchain; 14896 } VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT; 14897 14898 14899 14900 #define VK_QCOM_image_processing 1 14901 #define VK_QCOM_IMAGE_PROCESSING_SPEC_VERSION 1 14902 #define VK_QCOM_IMAGE_PROCESSING_EXTENSION_NAME "VK_QCOM_image_processing" 14903 typedef struct VkImageViewSampleWeightCreateInfoQCOM { 14904 VkStructureType sType; 14905 const void* pNext; 14906 VkOffset2D filterCenter; 14907 VkExtent2D filterSize; 14908 uint32_t numPhases; 14909 } VkImageViewSampleWeightCreateInfoQCOM; 14910 14911 typedef struct VkPhysicalDeviceImageProcessingFeaturesQCOM { 14912 VkStructureType sType; 14913 void* pNext; 14914 VkBool32 textureSampleWeighted; 14915 VkBool32 textureBoxFilter; 14916 VkBool32 textureBlockMatch; 14917 } VkPhysicalDeviceImageProcessingFeaturesQCOM; 14918 14919 typedef struct VkPhysicalDeviceImageProcessingPropertiesQCOM { 14920 VkStructureType sType; 14921 void* pNext; 14922 uint32_t maxWeightFilterPhases; 14923 VkExtent2D maxWeightFilterDimension; 14924 VkExtent2D maxBlockMatchRegion; 14925 VkExtent2D maxBoxFilterBlockSize; 14926 } VkPhysicalDeviceImageProcessingPropertiesQCOM; 14927 14928 14929 14930 #define VK_EXT_extended_dynamic_state3 1 14931 #define VK_EXT_EXTENDED_DYNAMIC_STATE_3_SPEC_VERSION 2 14932 #define VK_EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME "VK_EXT_extended_dynamic_state3" 14933 typedef struct VkPhysicalDeviceExtendedDynamicState3FeaturesEXT { 14934 VkStructureType sType; 14935 void* pNext; 14936 VkBool32 extendedDynamicState3TessellationDomainOrigin; 14937 VkBool32 extendedDynamicState3DepthClampEnable; 14938 VkBool32 extendedDynamicState3PolygonMode; 14939 VkBool32 extendedDynamicState3RasterizationSamples; 14940 VkBool32 extendedDynamicState3SampleMask; 14941 VkBool32 extendedDynamicState3AlphaToCoverageEnable; 14942 VkBool32 extendedDynamicState3AlphaToOneEnable; 14943 VkBool32 extendedDynamicState3LogicOpEnable; 14944 VkBool32 extendedDynamicState3ColorBlendEnable; 14945 VkBool32 extendedDynamicState3ColorBlendEquation; 14946 VkBool32 extendedDynamicState3ColorWriteMask; 14947 VkBool32 extendedDynamicState3RasterizationStream; 14948 VkBool32 extendedDynamicState3ConservativeRasterizationMode; 14949 VkBool32 extendedDynamicState3ExtraPrimitiveOverestimationSize; 14950 VkBool32 extendedDynamicState3DepthClipEnable; 14951 VkBool32 extendedDynamicState3SampleLocationsEnable; 14952 VkBool32 extendedDynamicState3ColorBlendAdvanced; 14953 VkBool32 extendedDynamicState3ProvokingVertexMode; 14954 VkBool32 extendedDynamicState3LineRasterizationMode; 14955 VkBool32 extendedDynamicState3LineStippleEnable; 14956 VkBool32 extendedDynamicState3DepthClipNegativeOneToOne; 14957 VkBool32 extendedDynamicState3ViewportWScalingEnable; 14958 VkBool32 extendedDynamicState3ViewportSwizzle; 14959 VkBool32 extendedDynamicState3CoverageToColorEnable; 14960 VkBool32 extendedDynamicState3CoverageToColorLocation; 14961 VkBool32 extendedDynamicState3CoverageModulationMode; 14962 VkBool32 extendedDynamicState3CoverageModulationTableEnable; 14963 VkBool32 extendedDynamicState3CoverageModulationTable; 14964 VkBool32 extendedDynamicState3CoverageReductionMode; 14965 VkBool32 extendedDynamicState3RepresentativeFragmentTestEnable; 14966 VkBool32 extendedDynamicState3ShadingRateImageEnable; 14967 } VkPhysicalDeviceExtendedDynamicState3FeaturesEXT; 14968 14969 typedef struct VkPhysicalDeviceExtendedDynamicState3PropertiesEXT { 14970 VkStructureType sType; 14971 void* pNext; 14972 VkBool32 dynamicPrimitiveTopologyUnrestricted; 14973 } VkPhysicalDeviceExtendedDynamicState3PropertiesEXT; 14974 14975 typedef struct VkColorBlendEquationEXT { 14976 VkBlendFactor srcColorBlendFactor; 14977 VkBlendFactor dstColorBlendFactor; 14978 VkBlendOp colorBlendOp; 14979 VkBlendFactor srcAlphaBlendFactor; 14980 VkBlendFactor dstAlphaBlendFactor; 14981 VkBlendOp alphaBlendOp; 14982 } VkColorBlendEquationEXT; 14983 14984 typedef struct VkColorBlendAdvancedEXT { 14985 VkBlendOp advancedBlendOp; 14986 VkBool32 srcPremultiplied; 14987 VkBool32 dstPremultiplied; 14988 VkBlendOverlapEXT blendOverlap; 14989 VkBool32 clampResults; 14990 } VkColorBlendAdvancedEXT; 14991 14992 typedef void (VKAPI_PTR *PFN_vkCmdSetTessellationDomainOriginEXT)(VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin); 14993 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClampEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthClampEnable); 14994 typedef void (VKAPI_PTR *PFN_vkCmdSetPolygonModeEXT)(VkCommandBuffer commandBuffer, VkPolygonMode polygonMode); 14995 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizationSamplesEXT)(VkCommandBuffer commandBuffer, VkSampleCountFlagBits rasterizationSamples); 14996 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleMaskEXT)(VkCommandBuffer commandBuffer, VkSampleCountFlagBits samples, const VkSampleMask* pSampleMask); 14997 typedef void (VKAPI_PTR *PFN_vkCmdSetAlphaToCoverageEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 alphaToCoverageEnable); 14998 typedef void (VKAPI_PTR *PFN_vkCmdSetAlphaToOneEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 alphaToOneEnable); 14999 typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 logicOpEnable); 15000 typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendEnableEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkBool32* pColorBlendEnables); 15001 typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendEquationEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendEquationEXT* pColorBlendEquations); 15002 typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteMaskEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorComponentFlags* pColorWriteMasks); 15003 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizationStreamEXT)(VkCommandBuffer commandBuffer, uint32_t rasterizationStream); 15004 typedef void (VKAPI_PTR *PFN_vkCmdSetConservativeRasterizationModeEXT)(VkCommandBuffer commandBuffer, VkConservativeRasterizationModeEXT conservativeRasterizationMode); 15005 typedef void (VKAPI_PTR *PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT)(VkCommandBuffer commandBuffer, float extraPrimitiveOverestimationSize); 15006 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClipEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthClipEnable); 15007 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 sampleLocationsEnable); 15008 typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendAdvancedEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendAdvancedEXT* pColorBlendAdvanced); 15009 typedef void (VKAPI_PTR *PFN_vkCmdSetProvokingVertexModeEXT)(VkCommandBuffer commandBuffer, VkProvokingVertexModeEXT provokingVertexMode); 15010 typedef void (VKAPI_PTR *PFN_vkCmdSetLineRasterizationModeEXT)(VkCommandBuffer commandBuffer, VkLineRasterizationModeEXT lineRasterizationMode); 15011 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stippledLineEnable); 15012 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClipNegativeOneToOneEXT)(VkCommandBuffer commandBuffer, VkBool32 negativeOneToOne); 15013 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingEnableNV)(VkCommandBuffer commandBuffer, VkBool32 viewportWScalingEnable); 15014 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportSwizzleNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportSwizzleNV* pViewportSwizzles); 15015 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageToColorEnableNV)(VkCommandBuffer commandBuffer, VkBool32 coverageToColorEnable); 15016 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageToColorLocationNV)(VkCommandBuffer commandBuffer, uint32_t coverageToColorLocation); 15017 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageModulationModeNV)(VkCommandBuffer commandBuffer, VkCoverageModulationModeNV coverageModulationMode); 15018 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageModulationTableEnableNV)(VkCommandBuffer commandBuffer, VkBool32 coverageModulationTableEnable); 15019 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageModulationTableNV)(VkCommandBuffer commandBuffer, uint32_t coverageModulationTableCount, const float* pCoverageModulationTable); 15020 typedef void (VKAPI_PTR *PFN_vkCmdSetShadingRateImageEnableNV)(VkCommandBuffer commandBuffer, VkBool32 shadingRateImageEnable); 15021 typedef void (VKAPI_PTR *PFN_vkCmdSetRepresentativeFragmentTestEnableNV)(VkCommandBuffer commandBuffer, VkBool32 representativeFragmentTestEnable); 15022 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageReductionModeNV)(VkCommandBuffer commandBuffer, VkCoverageReductionModeNV coverageReductionMode); 15023 15024 #ifndef VK_NO_PROTOTYPES 15025 VKAPI_ATTR void VKAPI_CALL vkCmdSetTessellationDomainOriginEXT( 15026 VkCommandBuffer commandBuffer, 15027 VkTessellationDomainOrigin domainOrigin); 15028 15029 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClampEnableEXT( 15030 VkCommandBuffer commandBuffer, 15031 VkBool32 depthClampEnable); 15032 15033 VKAPI_ATTR void VKAPI_CALL vkCmdSetPolygonModeEXT( 15034 VkCommandBuffer commandBuffer, 15035 VkPolygonMode polygonMode); 15036 15037 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizationSamplesEXT( 15038 VkCommandBuffer commandBuffer, 15039 VkSampleCountFlagBits rasterizationSamples); 15040 15041 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleMaskEXT( 15042 VkCommandBuffer commandBuffer, 15043 VkSampleCountFlagBits samples, 15044 const VkSampleMask* pSampleMask); 15045 15046 VKAPI_ATTR void VKAPI_CALL vkCmdSetAlphaToCoverageEnableEXT( 15047 VkCommandBuffer commandBuffer, 15048 VkBool32 alphaToCoverageEnable); 15049 15050 VKAPI_ATTR void VKAPI_CALL vkCmdSetAlphaToOneEnableEXT( 15051 VkCommandBuffer commandBuffer, 15052 VkBool32 alphaToOneEnable); 15053 15054 VKAPI_ATTR void VKAPI_CALL vkCmdSetLogicOpEnableEXT( 15055 VkCommandBuffer commandBuffer, 15056 VkBool32 logicOpEnable); 15057 15058 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorBlendEnableEXT( 15059 VkCommandBuffer commandBuffer, 15060 uint32_t firstAttachment, 15061 uint32_t attachmentCount, 15062 const VkBool32* pColorBlendEnables); 15063 15064 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorBlendEquationEXT( 15065 VkCommandBuffer commandBuffer, 15066 uint32_t firstAttachment, 15067 uint32_t attachmentCount, 15068 const VkColorBlendEquationEXT* pColorBlendEquations); 15069 15070 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteMaskEXT( 15071 VkCommandBuffer commandBuffer, 15072 uint32_t firstAttachment, 15073 uint32_t attachmentCount, 15074 const VkColorComponentFlags* pColorWriteMasks); 15075 15076 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizationStreamEXT( 15077 VkCommandBuffer commandBuffer, 15078 uint32_t rasterizationStream); 15079 15080 VKAPI_ATTR void VKAPI_CALL vkCmdSetConservativeRasterizationModeEXT( 15081 VkCommandBuffer commandBuffer, 15082 VkConservativeRasterizationModeEXT conservativeRasterizationMode); 15083 15084 VKAPI_ATTR void VKAPI_CALL vkCmdSetExtraPrimitiveOverestimationSizeEXT( 15085 VkCommandBuffer commandBuffer, 15086 float extraPrimitiveOverestimationSize); 15087 15088 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClipEnableEXT( 15089 VkCommandBuffer commandBuffer, 15090 VkBool32 depthClipEnable); 15091 15092 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEnableEXT( 15093 VkCommandBuffer commandBuffer, 15094 VkBool32 sampleLocationsEnable); 15095 15096 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorBlendAdvancedEXT( 15097 VkCommandBuffer commandBuffer, 15098 uint32_t firstAttachment, 15099 uint32_t attachmentCount, 15100 const VkColorBlendAdvancedEXT* pColorBlendAdvanced); 15101 15102 VKAPI_ATTR void VKAPI_CALL vkCmdSetProvokingVertexModeEXT( 15103 VkCommandBuffer commandBuffer, 15104 VkProvokingVertexModeEXT provokingVertexMode); 15105 15106 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineRasterizationModeEXT( 15107 VkCommandBuffer commandBuffer, 15108 VkLineRasterizationModeEXT lineRasterizationMode); 15109 15110 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEnableEXT( 15111 VkCommandBuffer commandBuffer, 15112 VkBool32 stippledLineEnable); 15113 15114 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClipNegativeOneToOneEXT( 15115 VkCommandBuffer commandBuffer, 15116 VkBool32 negativeOneToOne); 15117 15118 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingEnableNV( 15119 VkCommandBuffer commandBuffer, 15120 VkBool32 viewportWScalingEnable); 15121 15122 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportSwizzleNV( 15123 VkCommandBuffer commandBuffer, 15124 uint32_t firstViewport, 15125 uint32_t viewportCount, 15126 const VkViewportSwizzleNV* pViewportSwizzles); 15127 15128 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageToColorEnableNV( 15129 VkCommandBuffer commandBuffer, 15130 VkBool32 coverageToColorEnable); 15131 15132 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageToColorLocationNV( 15133 VkCommandBuffer commandBuffer, 15134 uint32_t coverageToColorLocation); 15135 15136 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageModulationModeNV( 15137 VkCommandBuffer commandBuffer, 15138 VkCoverageModulationModeNV coverageModulationMode); 15139 15140 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageModulationTableEnableNV( 15141 VkCommandBuffer commandBuffer, 15142 VkBool32 coverageModulationTableEnable); 15143 15144 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageModulationTableNV( 15145 VkCommandBuffer commandBuffer, 15146 uint32_t coverageModulationTableCount, 15147 const float* pCoverageModulationTable); 15148 15149 VKAPI_ATTR void VKAPI_CALL vkCmdSetShadingRateImageEnableNV( 15150 VkCommandBuffer commandBuffer, 15151 VkBool32 shadingRateImageEnable); 15152 15153 VKAPI_ATTR void VKAPI_CALL vkCmdSetRepresentativeFragmentTestEnableNV( 15154 VkCommandBuffer commandBuffer, 15155 VkBool32 representativeFragmentTestEnable); 15156 15157 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageReductionModeNV( 15158 VkCommandBuffer commandBuffer, 15159 VkCoverageReductionModeNV coverageReductionMode); 15160 #endif 15161 15162 15163 #define VK_EXT_subpass_merge_feedback 1 15164 #define VK_EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION 2 15165 #define VK_EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME "VK_EXT_subpass_merge_feedback" 15166 15167 typedef enum VkSubpassMergeStatusEXT { 15168 VK_SUBPASS_MERGE_STATUS_MERGED_EXT = 0, 15169 VK_SUBPASS_MERGE_STATUS_DISALLOWED_EXT = 1, 15170 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SIDE_EFFECTS_EXT = 2, 15171 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SAMPLES_MISMATCH_EXT = 3, 15172 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_VIEWS_MISMATCH_EXT = 4, 15173 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_ALIASING_EXT = 5, 15174 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPENDENCIES_EXT = 6, 15175 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INCOMPATIBLE_INPUT_ATTACHMENT_EXT = 7, 15176 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_TOO_MANY_ATTACHMENTS_EXT = 8, 15177 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INSUFFICIENT_STORAGE_EXT = 9, 15178 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPTH_STENCIL_COUNT_EXT = 10, 15179 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_RESOLVE_ATTACHMENT_REUSE_EXT = 11, 15180 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SINGLE_SUBPASS_EXT = 12, 15181 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_UNSPECIFIED_EXT = 13, 15182 VK_SUBPASS_MERGE_STATUS_MAX_ENUM_EXT = 0x7FFFFFFF 15183 } VkSubpassMergeStatusEXT; 15184 typedef struct VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT { 15185 VkStructureType sType; 15186 void* pNext; 15187 VkBool32 subpassMergeFeedback; 15188 } VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT; 15189 15190 typedef struct VkRenderPassCreationControlEXT { 15191 VkStructureType sType; 15192 const void* pNext; 15193 VkBool32 disallowMerging; 15194 } VkRenderPassCreationControlEXT; 15195 15196 typedef struct VkRenderPassCreationFeedbackInfoEXT { 15197 uint32_t postMergeSubpassCount; 15198 } VkRenderPassCreationFeedbackInfoEXT; 15199 15200 typedef struct VkRenderPassCreationFeedbackCreateInfoEXT { 15201 VkStructureType sType; 15202 const void* pNext; 15203 VkRenderPassCreationFeedbackInfoEXT* pRenderPassFeedback; 15204 } VkRenderPassCreationFeedbackCreateInfoEXT; 15205 15206 typedef struct VkRenderPassSubpassFeedbackInfoEXT { 15207 VkSubpassMergeStatusEXT subpassMergeStatus; 15208 char description[VK_MAX_DESCRIPTION_SIZE]; 15209 uint32_t postMergeIndex; 15210 } VkRenderPassSubpassFeedbackInfoEXT; 15211 15212 typedef struct VkRenderPassSubpassFeedbackCreateInfoEXT { 15213 VkStructureType sType; 15214 const void* pNext; 15215 VkRenderPassSubpassFeedbackInfoEXT* pSubpassFeedback; 15216 } VkRenderPassSubpassFeedbackCreateInfoEXT; 15217 15218 15219 15220 #define VK_EXT_shader_module_identifier 1 15221 #define VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT 32U 15222 #define VK_EXT_SHADER_MODULE_IDENTIFIER_SPEC_VERSION 1 15223 #define VK_EXT_SHADER_MODULE_IDENTIFIER_EXTENSION_NAME "VK_EXT_shader_module_identifier" 15224 typedef struct VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT { 15225 VkStructureType sType; 15226 void* pNext; 15227 VkBool32 shaderModuleIdentifier; 15228 } VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT; 15229 15230 typedef struct VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT { 15231 VkStructureType sType; 15232 void* pNext; 15233 uint8_t shaderModuleIdentifierAlgorithmUUID[VK_UUID_SIZE]; 15234 } VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT; 15235 15236 typedef struct VkPipelineShaderStageModuleIdentifierCreateInfoEXT { 15237 VkStructureType sType; 15238 const void* pNext; 15239 uint32_t identifierSize; 15240 const uint8_t* pIdentifier; 15241 } VkPipelineShaderStageModuleIdentifierCreateInfoEXT; 15242 15243 typedef struct VkShaderModuleIdentifierEXT { 15244 VkStructureType sType; 15245 void* pNext; 15246 uint32_t identifierSize; 15247 uint8_t identifier[VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT]; 15248 } VkShaderModuleIdentifierEXT; 15249 15250 typedef void (VKAPI_PTR *PFN_vkGetShaderModuleIdentifierEXT)(VkDevice device, VkShaderModule shaderModule, VkShaderModuleIdentifierEXT* pIdentifier); 15251 typedef void (VKAPI_PTR *PFN_vkGetShaderModuleCreateInfoIdentifierEXT)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, VkShaderModuleIdentifierEXT* pIdentifier); 15252 15253 #ifndef VK_NO_PROTOTYPES 15254 VKAPI_ATTR void VKAPI_CALL vkGetShaderModuleIdentifierEXT( 15255 VkDevice device, 15256 VkShaderModule shaderModule, 15257 VkShaderModuleIdentifierEXT* pIdentifier); 15258 15259 VKAPI_ATTR void VKAPI_CALL vkGetShaderModuleCreateInfoIdentifierEXT( 15260 VkDevice device, 15261 const VkShaderModuleCreateInfo* pCreateInfo, 15262 VkShaderModuleIdentifierEXT* pIdentifier); 15263 #endif 15264 15265 15266 #define VK_EXT_rasterization_order_attachment_access 1 15267 #define VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION 1 15268 #define VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME "VK_EXT_rasterization_order_attachment_access" 15269 15270 15271 #define VK_NV_optical_flow 1 15272 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkOpticalFlowSessionNV) 15273 #define VK_NV_OPTICAL_FLOW_SPEC_VERSION 1 15274 #define VK_NV_OPTICAL_FLOW_EXTENSION_NAME "VK_NV_optical_flow" 15275 15276 typedef enum VkOpticalFlowPerformanceLevelNV { 15277 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_UNKNOWN_NV = 0, 15278 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_SLOW_NV = 1, 15279 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MEDIUM_NV = 2, 15280 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_FAST_NV = 3, 15281 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MAX_ENUM_NV = 0x7FFFFFFF 15282 } VkOpticalFlowPerformanceLevelNV; 15283 15284 typedef enum VkOpticalFlowSessionBindingPointNV { 15285 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_UNKNOWN_NV = 0, 15286 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_INPUT_NV = 1, 15287 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_REFERENCE_NV = 2, 15288 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_HINT_NV = 3, 15289 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_FLOW_VECTOR_NV = 4, 15290 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_FLOW_VECTOR_NV = 5, 15291 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_COST_NV = 6, 15292 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_COST_NV = 7, 15293 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_GLOBAL_FLOW_NV = 8, 15294 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_MAX_ENUM_NV = 0x7FFFFFFF 15295 } VkOpticalFlowSessionBindingPointNV; 15296 15297 typedef enum VkOpticalFlowGridSizeFlagBitsNV { 15298 VK_OPTICAL_FLOW_GRID_SIZE_UNKNOWN_NV = 0, 15299 VK_OPTICAL_FLOW_GRID_SIZE_1X1_BIT_NV = 0x00000001, 15300 VK_OPTICAL_FLOW_GRID_SIZE_2X2_BIT_NV = 0x00000002, 15301 VK_OPTICAL_FLOW_GRID_SIZE_4X4_BIT_NV = 0x00000004, 15302 VK_OPTICAL_FLOW_GRID_SIZE_8X8_BIT_NV = 0x00000008, 15303 VK_OPTICAL_FLOW_GRID_SIZE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 15304 } VkOpticalFlowGridSizeFlagBitsNV; 15305 typedef VkFlags VkOpticalFlowGridSizeFlagsNV; 15306 15307 typedef enum VkOpticalFlowUsageFlagBitsNV { 15308 VK_OPTICAL_FLOW_USAGE_UNKNOWN_NV = 0, 15309 VK_OPTICAL_FLOW_USAGE_INPUT_BIT_NV = 0x00000001, 15310 VK_OPTICAL_FLOW_USAGE_OUTPUT_BIT_NV = 0x00000002, 15311 VK_OPTICAL_FLOW_USAGE_HINT_BIT_NV = 0x00000004, 15312 VK_OPTICAL_FLOW_USAGE_COST_BIT_NV = 0x00000008, 15313 VK_OPTICAL_FLOW_USAGE_GLOBAL_FLOW_BIT_NV = 0x00000010, 15314 VK_OPTICAL_FLOW_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 15315 } VkOpticalFlowUsageFlagBitsNV; 15316 typedef VkFlags VkOpticalFlowUsageFlagsNV; 15317 15318 typedef enum VkOpticalFlowSessionCreateFlagBitsNV { 15319 VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_HINT_BIT_NV = 0x00000001, 15320 VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_COST_BIT_NV = 0x00000002, 15321 VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_GLOBAL_FLOW_BIT_NV = 0x00000004, 15322 VK_OPTICAL_FLOW_SESSION_CREATE_ALLOW_REGIONS_BIT_NV = 0x00000008, 15323 VK_OPTICAL_FLOW_SESSION_CREATE_BOTH_DIRECTIONS_BIT_NV = 0x00000010, 15324 VK_OPTICAL_FLOW_SESSION_CREATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 15325 } VkOpticalFlowSessionCreateFlagBitsNV; 15326 typedef VkFlags VkOpticalFlowSessionCreateFlagsNV; 15327 15328 typedef enum VkOpticalFlowExecuteFlagBitsNV { 15329 VK_OPTICAL_FLOW_EXECUTE_DISABLE_TEMPORAL_HINTS_BIT_NV = 0x00000001, 15330 VK_OPTICAL_FLOW_EXECUTE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 15331 } VkOpticalFlowExecuteFlagBitsNV; 15332 typedef VkFlags VkOpticalFlowExecuteFlagsNV; 15333 typedef struct VkPhysicalDeviceOpticalFlowFeaturesNV { 15334 VkStructureType sType; 15335 void* pNext; 15336 VkBool32 opticalFlow; 15337 } VkPhysicalDeviceOpticalFlowFeaturesNV; 15338 15339 typedef struct VkPhysicalDeviceOpticalFlowPropertiesNV { 15340 VkStructureType sType; 15341 void* pNext; 15342 VkOpticalFlowGridSizeFlagsNV supportedOutputGridSizes; 15343 VkOpticalFlowGridSizeFlagsNV supportedHintGridSizes; 15344 VkBool32 hintSupported; 15345 VkBool32 costSupported; 15346 VkBool32 bidirectionalFlowSupported; 15347 VkBool32 globalFlowSupported; 15348 uint32_t minWidth; 15349 uint32_t minHeight; 15350 uint32_t maxWidth; 15351 uint32_t maxHeight; 15352 uint32_t maxNumRegionsOfInterest; 15353 } VkPhysicalDeviceOpticalFlowPropertiesNV; 15354 15355 typedef struct VkOpticalFlowImageFormatInfoNV { 15356 VkStructureType sType; 15357 const void* pNext; 15358 VkOpticalFlowUsageFlagsNV usage; 15359 } VkOpticalFlowImageFormatInfoNV; 15360 15361 typedef struct VkOpticalFlowImageFormatPropertiesNV { 15362 VkStructureType sType; 15363 const void* pNext; 15364 VkFormat format; 15365 } VkOpticalFlowImageFormatPropertiesNV; 15366 15367 typedef struct VkOpticalFlowSessionCreateInfoNV { 15368 VkStructureType sType; 15369 void* pNext; 15370 uint32_t width; 15371 uint32_t height; 15372 VkFormat imageFormat; 15373 VkFormat flowVectorFormat; 15374 VkFormat costFormat; 15375 VkOpticalFlowGridSizeFlagsNV outputGridSize; 15376 VkOpticalFlowGridSizeFlagsNV hintGridSize; 15377 VkOpticalFlowPerformanceLevelNV performanceLevel; 15378 VkOpticalFlowSessionCreateFlagsNV flags; 15379 } VkOpticalFlowSessionCreateInfoNV; 15380 15381 typedef struct VkOpticalFlowSessionCreatePrivateDataInfoNV { 15382 VkStructureType sType; 15383 void* pNext; 15384 uint32_t id; 15385 uint32_t size; 15386 const void* pPrivateData; 15387 } VkOpticalFlowSessionCreatePrivateDataInfoNV; 15388 15389 typedef struct VkOpticalFlowExecuteInfoNV { 15390 VkStructureType sType; 15391 void* pNext; 15392 VkOpticalFlowExecuteFlagsNV flags; 15393 uint32_t regionCount; 15394 const VkRect2D* pRegions; 15395 } VkOpticalFlowExecuteInfoNV; 15396 15397 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV)(VkPhysicalDevice physicalDevice, const VkOpticalFlowImageFormatInfoNV* pOpticalFlowImageFormatInfo, uint32_t* pFormatCount, VkOpticalFlowImageFormatPropertiesNV* pImageFormatProperties); 15398 typedef VkResult (VKAPI_PTR *PFN_vkCreateOpticalFlowSessionNV)(VkDevice device, const VkOpticalFlowSessionCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkOpticalFlowSessionNV* pSession); 15399 typedef void (VKAPI_PTR *PFN_vkDestroyOpticalFlowSessionNV)(VkDevice device, VkOpticalFlowSessionNV session, const VkAllocationCallbacks* pAllocator); 15400 typedef VkResult (VKAPI_PTR *PFN_vkBindOpticalFlowSessionImageNV)(VkDevice device, VkOpticalFlowSessionNV session, VkOpticalFlowSessionBindingPointNV bindingPoint, VkImageView view, VkImageLayout layout); 15401 typedef void (VKAPI_PTR *PFN_vkCmdOpticalFlowExecuteNV)(VkCommandBuffer commandBuffer, VkOpticalFlowSessionNV session, const VkOpticalFlowExecuteInfoNV* pExecuteInfo); 15402 15403 #ifndef VK_NO_PROTOTYPES 15404 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceOpticalFlowImageFormatsNV( 15405 VkPhysicalDevice physicalDevice, 15406 const VkOpticalFlowImageFormatInfoNV* pOpticalFlowImageFormatInfo, 15407 uint32_t* pFormatCount, 15408 VkOpticalFlowImageFormatPropertiesNV* pImageFormatProperties); 15409 15410 VKAPI_ATTR VkResult VKAPI_CALL vkCreateOpticalFlowSessionNV( 15411 VkDevice device, 15412 const VkOpticalFlowSessionCreateInfoNV* pCreateInfo, 15413 const VkAllocationCallbacks* pAllocator, 15414 VkOpticalFlowSessionNV* pSession); 15415 15416 VKAPI_ATTR void VKAPI_CALL vkDestroyOpticalFlowSessionNV( 15417 VkDevice device, 15418 VkOpticalFlowSessionNV session, 15419 const VkAllocationCallbacks* pAllocator); 15420 15421 VKAPI_ATTR VkResult VKAPI_CALL vkBindOpticalFlowSessionImageNV( 15422 VkDevice device, 15423 VkOpticalFlowSessionNV session, 15424 VkOpticalFlowSessionBindingPointNV bindingPoint, 15425 VkImageView view, 15426 VkImageLayout layout); 15427 15428 VKAPI_ATTR void VKAPI_CALL vkCmdOpticalFlowExecuteNV( 15429 VkCommandBuffer commandBuffer, 15430 VkOpticalFlowSessionNV session, 15431 const VkOpticalFlowExecuteInfoNV* pExecuteInfo); 15432 #endif 15433 15434 15435 #define VK_EXT_legacy_dithering 1 15436 #define VK_EXT_LEGACY_DITHERING_SPEC_VERSION 1 15437 #define VK_EXT_LEGACY_DITHERING_EXTENSION_NAME "VK_EXT_legacy_dithering" 15438 typedef struct VkPhysicalDeviceLegacyDitheringFeaturesEXT { 15439 VkStructureType sType; 15440 void* pNext; 15441 VkBool32 legacyDithering; 15442 } VkPhysicalDeviceLegacyDitheringFeaturesEXT; 15443 15444 15445 15446 #define VK_EXT_pipeline_protected_access 1 15447 #define VK_EXT_PIPELINE_PROTECTED_ACCESS_SPEC_VERSION 1 15448 #define VK_EXT_PIPELINE_PROTECTED_ACCESS_EXTENSION_NAME "VK_EXT_pipeline_protected_access" 15449 typedef struct VkPhysicalDevicePipelineProtectedAccessFeaturesEXT { 15450 VkStructureType sType; 15451 void* pNext; 15452 VkBool32 pipelineProtectedAccess; 15453 } VkPhysicalDevicePipelineProtectedAccessFeaturesEXT; 15454 15455 15456 15457 #define VK_QCOM_tile_properties 1 15458 #define VK_QCOM_TILE_PROPERTIES_SPEC_VERSION 1 15459 #define VK_QCOM_TILE_PROPERTIES_EXTENSION_NAME "VK_QCOM_tile_properties" 15460 typedef struct VkPhysicalDeviceTilePropertiesFeaturesQCOM { 15461 VkStructureType sType; 15462 void* pNext; 15463 VkBool32 tileProperties; 15464 } VkPhysicalDeviceTilePropertiesFeaturesQCOM; 15465 15466 typedef struct VkTilePropertiesQCOM { 15467 VkStructureType sType; 15468 void* pNext; 15469 VkExtent3D tileSize; 15470 VkExtent2D apronSize; 15471 VkOffset2D origin; 15472 } VkTilePropertiesQCOM; 15473 15474 typedef VkResult (VKAPI_PTR *PFN_vkGetFramebufferTilePropertiesQCOM)(VkDevice device, VkFramebuffer framebuffer, uint32_t* pPropertiesCount, VkTilePropertiesQCOM* pProperties); 15475 typedef VkResult (VKAPI_PTR *PFN_vkGetDynamicRenderingTilePropertiesQCOM)(VkDevice device, const VkRenderingInfo* pRenderingInfo, VkTilePropertiesQCOM* pProperties); 15476 15477 #ifndef VK_NO_PROTOTYPES 15478 VKAPI_ATTR VkResult VKAPI_CALL vkGetFramebufferTilePropertiesQCOM( 15479 VkDevice device, 15480 VkFramebuffer framebuffer, 15481 uint32_t* pPropertiesCount, 15482 VkTilePropertiesQCOM* pProperties); 15483 15484 VKAPI_ATTR VkResult VKAPI_CALL vkGetDynamicRenderingTilePropertiesQCOM( 15485 VkDevice device, 15486 const VkRenderingInfo* pRenderingInfo, 15487 VkTilePropertiesQCOM* pProperties); 15488 #endif 15489 15490 15491 #define VK_SEC_amigo_profiling 1 15492 #define VK_SEC_AMIGO_PROFILING_SPEC_VERSION 1 15493 #define VK_SEC_AMIGO_PROFILING_EXTENSION_NAME "VK_SEC_amigo_profiling" 15494 typedef struct VkPhysicalDeviceAmigoProfilingFeaturesSEC { 15495 VkStructureType sType; 15496 void* pNext; 15497 VkBool32 amigoProfiling; 15498 } VkPhysicalDeviceAmigoProfilingFeaturesSEC; 15499 15500 typedef struct VkAmigoProfilingSubmitInfoSEC { 15501 VkStructureType sType; 15502 const void* pNext; 15503 uint64_t firstDrawTimestamp; 15504 uint64_t swapBufferTimestamp; 15505 } VkAmigoProfilingSubmitInfoSEC; 15506 15507 15508 15509 #define VK_EXT_mutable_descriptor_type 1 15510 #define VK_EXT_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1 15511 #define VK_EXT_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_EXT_mutable_descriptor_type" 15512 15513 15514 #define VK_ARM_shader_core_builtins 1 15515 #define VK_ARM_SHADER_CORE_BUILTINS_SPEC_VERSION 1 15516 #define VK_ARM_SHADER_CORE_BUILTINS_EXTENSION_NAME "VK_ARM_shader_core_builtins" 15517 typedef struct VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM { 15518 VkStructureType sType; 15519 void* pNext; 15520 VkBool32 shaderCoreBuiltins; 15521 } VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM; 15522 15523 typedef struct VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM { 15524 VkStructureType sType; 15525 void* pNext; 15526 uint32_t shaderCoreCount; 15527 uint32_t shaderWarpsPerCore; 15528 } VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM; 15529 15530 15531 15532 #define VK_KHR_acceleration_structure 1 15533 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR) 15534 #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 13 15535 #define VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_KHR_acceleration_structure" 15536 15537 typedef enum VkBuildAccelerationStructureModeKHR { 15538 VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR = 0, 15539 VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR = 1, 15540 VK_BUILD_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 15541 } VkBuildAccelerationStructureModeKHR; 15542 15543 typedef enum VkAccelerationStructureCreateFlagBitsKHR { 15544 VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 0x00000001, 15545 VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 0x00000004, 15546 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 15547 } VkAccelerationStructureCreateFlagBitsKHR; 15548 typedef VkFlags VkAccelerationStructureCreateFlagsKHR; 15549 typedef struct VkAccelerationStructureBuildRangeInfoKHR { 15550 uint32_t primitiveCount; 15551 uint32_t primitiveOffset; 15552 uint32_t firstVertex; 15553 uint32_t transformOffset; 15554 } VkAccelerationStructureBuildRangeInfoKHR; 15555 15556 typedef struct VkAccelerationStructureGeometryTrianglesDataKHR { 15557 VkStructureType sType; 15558 const void* pNext; 15559 VkFormat vertexFormat; 15560 VkDeviceOrHostAddressConstKHR vertexData; 15561 VkDeviceSize vertexStride; 15562 uint32_t maxVertex; 15563 VkIndexType indexType; 15564 VkDeviceOrHostAddressConstKHR indexData; 15565 VkDeviceOrHostAddressConstKHR transformData; 15566 } VkAccelerationStructureGeometryTrianglesDataKHR; 15567 15568 typedef struct VkAccelerationStructureGeometryAabbsDataKHR { 15569 VkStructureType sType; 15570 const void* pNext; 15571 VkDeviceOrHostAddressConstKHR data; 15572 VkDeviceSize stride; 15573 } VkAccelerationStructureGeometryAabbsDataKHR; 15574 15575 typedef struct VkAccelerationStructureGeometryInstancesDataKHR { 15576 VkStructureType sType; 15577 const void* pNext; 15578 VkBool32 arrayOfPointers; 15579 VkDeviceOrHostAddressConstKHR data; 15580 } VkAccelerationStructureGeometryInstancesDataKHR; 15581 15582 typedef union VkAccelerationStructureGeometryDataKHR { 15583 VkAccelerationStructureGeometryTrianglesDataKHR triangles; 15584 VkAccelerationStructureGeometryAabbsDataKHR aabbs; 15585 VkAccelerationStructureGeometryInstancesDataKHR instances; 15586 } VkAccelerationStructureGeometryDataKHR; 15587 15588 typedef struct VkAccelerationStructureGeometryKHR { 15589 VkStructureType sType; 15590 const void* pNext; 15591 VkGeometryTypeKHR geometryType; 15592 VkAccelerationStructureGeometryDataKHR geometry; 15593 VkGeometryFlagsKHR flags; 15594 } VkAccelerationStructureGeometryKHR; 15595 15596 typedef struct VkAccelerationStructureBuildGeometryInfoKHR { 15597 VkStructureType sType; 15598 const void* pNext; 15599 VkAccelerationStructureTypeKHR type; 15600 VkBuildAccelerationStructureFlagsKHR flags; 15601 VkBuildAccelerationStructureModeKHR mode; 15602 VkAccelerationStructureKHR srcAccelerationStructure; 15603 VkAccelerationStructureKHR dstAccelerationStructure; 15604 uint32_t geometryCount; 15605 const VkAccelerationStructureGeometryKHR* pGeometries; 15606 const VkAccelerationStructureGeometryKHR* const* ppGeometries; 15607 VkDeviceOrHostAddressKHR scratchData; 15608 } VkAccelerationStructureBuildGeometryInfoKHR; 15609 15610 typedef struct VkAccelerationStructureCreateInfoKHR { 15611 VkStructureType sType; 15612 const void* pNext; 15613 VkAccelerationStructureCreateFlagsKHR createFlags; 15614 VkBuffer buffer; 15615 VkDeviceSize offset; 15616 VkDeviceSize size; 15617 VkAccelerationStructureTypeKHR type; 15618 VkDeviceAddress deviceAddress; 15619 } VkAccelerationStructureCreateInfoKHR; 15620 15621 typedef struct VkWriteDescriptorSetAccelerationStructureKHR { 15622 VkStructureType sType; 15623 const void* pNext; 15624 uint32_t accelerationStructureCount; 15625 const VkAccelerationStructureKHR* pAccelerationStructures; 15626 } VkWriteDescriptorSetAccelerationStructureKHR; 15627 15628 typedef struct VkPhysicalDeviceAccelerationStructureFeaturesKHR { 15629 VkStructureType sType; 15630 void* pNext; 15631 VkBool32 accelerationStructure; 15632 VkBool32 accelerationStructureCaptureReplay; 15633 VkBool32 accelerationStructureIndirectBuild; 15634 VkBool32 accelerationStructureHostCommands; 15635 VkBool32 descriptorBindingAccelerationStructureUpdateAfterBind; 15636 } VkPhysicalDeviceAccelerationStructureFeaturesKHR; 15637 15638 typedef struct VkPhysicalDeviceAccelerationStructurePropertiesKHR { 15639 VkStructureType sType; 15640 void* pNext; 15641 uint64_t maxGeometryCount; 15642 uint64_t maxInstanceCount; 15643 uint64_t maxPrimitiveCount; 15644 uint32_t maxPerStageDescriptorAccelerationStructures; 15645 uint32_t maxPerStageDescriptorUpdateAfterBindAccelerationStructures; 15646 uint32_t maxDescriptorSetAccelerationStructures; 15647 uint32_t maxDescriptorSetUpdateAfterBindAccelerationStructures; 15648 uint32_t minAccelerationStructureScratchOffsetAlignment; 15649 } VkPhysicalDeviceAccelerationStructurePropertiesKHR; 15650 15651 typedef struct VkAccelerationStructureDeviceAddressInfoKHR { 15652 VkStructureType sType; 15653 const void* pNext; 15654 VkAccelerationStructureKHR accelerationStructure; 15655 } VkAccelerationStructureDeviceAddressInfoKHR; 15656 15657 typedef struct VkAccelerationStructureVersionInfoKHR { 15658 VkStructureType sType; 15659 const void* pNext; 15660 const uint8_t* pVersionData; 15661 } VkAccelerationStructureVersionInfoKHR; 15662 15663 typedef struct VkCopyAccelerationStructureToMemoryInfoKHR { 15664 VkStructureType sType; 15665 const void* pNext; 15666 VkAccelerationStructureKHR src; 15667 VkDeviceOrHostAddressKHR dst; 15668 VkCopyAccelerationStructureModeKHR mode; 15669 } VkCopyAccelerationStructureToMemoryInfoKHR; 15670 15671 typedef struct VkCopyMemoryToAccelerationStructureInfoKHR { 15672 VkStructureType sType; 15673 const void* pNext; 15674 VkDeviceOrHostAddressConstKHR src; 15675 VkAccelerationStructureKHR dst; 15676 VkCopyAccelerationStructureModeKHR mode; 15677 } VkCopyMemoryToAccelerationStructureInfoKHR; 15678 15679 typedef struct VkCopyAccelerationStructureInfoKHR { 15680 VkStructureType sType; 15681 const void* pNext; 15682 VkAccelerationStructureKHR src; 15683 VkAccelerationStructureKHR dst; 15684 VkCopyAccelerationStructureModeKHR mode; 15685 } VkCopyAccelerationStructureInfoKHR; 15686 15687 typedef struct VkAccelerationStructureBuildSizesInfoKHR { 15688 VkStructureType sType; 15689 const void* pNext; 15690 VkDeviceSize accelerationStructureSize; 15691 VkDeviceSize updateScratchSize; 15692 VkDeviceSize buildScratchSize; 15693 } VkAccelerationStructureBuildSizesInfoKHR; 15694 15695 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureKHR)(VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure); 15696 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureKHR)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator); 15697 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresKHR)(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos); 15698 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); 15699 typedef VkResult (VKAPI_PTR *PFN_vkBuildAccelerationStructuresKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos); 15700 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR* pInfo); 15701 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureToMemoryKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); 15702 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); 15703 typedef VkResult (VKAPI_PTR *PFN_vkWriteAccelerationStructuresPropertiesKHR)(VkDevice device, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, size_t dataSize, void* pData, size_t stride); 15704 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo); 15705 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureToMemoryKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); 15706 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); 15707 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetAccelerationStructureDeviceAddressKHR)(VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo); 15708 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery); 15709 typedef void (VKAPI_PTR *PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)(VkDevice device, const VkAccelerationStructureVersionInfoKHR* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility); 15710 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureBuildSizesKHR)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, const uint32_t* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo); 15711 15712 #ifndef VK_NO_PROTOTYPES 15713 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureKHR( 15714 VkDevice device, 15715 const VkAccelerationStructureCreateInfoKHR* pCreateInfo, 15716 const VkAllocationCallbacks* pAllocator, 15717 VkAccelerationStructureKHR* pAccelerationStructure); 15718 15719 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureKHR( 15720 VkDevice device, 15721 VkAccelerationStructureKHR accelerationStructure, 15722 const VkAllocationCallbacks* pAllocator); 15723 15724 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresKHR( 15725 VkCommandBuffer commandBuffer, 15726 uint32_t infoCount, 15727 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, 15728 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos); 15729 15730 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresIndirectKHR( 15731 VkCommandBuffer commandBuffer, 15732 uint32_t infoCount, 15733 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, 15734 const VkDeviceAddress* pIndirectDeviceAddresses, 15735 const uint32_t* pIndirectStrides, 15736 const uint32_t* const* ppMaxPrimitiveCounts); 15737 15738 VKAPI_ATTR VkResult VKAPI_CALL vkBuildAccelerationStructuresKHR( 15739 VkDevice device, 15740 VkDeferredOperationKHR deferredOperation, 15741 uint32_t infoCount, 15742 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, 15743 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos); 15744 15745 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureKHR( 15746 VkDevice device, 15747 VkDeferredOperationKHR deferredOperation, 15748 const VkCopyAccelerationStructureInfoKHR* pInfo); 15749 15750 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureToMemoryKHR( 15751 VkDevice device, 15752 VkDeferredOperationKHR deferredOperation, 15753 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); 15754 15755 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToAccelerationStructureKHR( 15756 VkDevice device, 15757 VkDeferredOperationKHR deferredOperation, 15758 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); 15759 15760 VKAPI_ATTR VkResult VKAPI_CALL vkWriteAccelerationStructuresPropertiesKHR( 15761 VkDevice device, 15762 uint32_t accelerationStructureCount, 15763 const VkAccelerationStructureKHR* pAccelerationStructures, 15764 VkQueryType queryType, 15765 size_t dataSize, 15766 void* pData, 15767 size_t stride); 15768 15769 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureKHR( 15770 VkCommandBuffer commandBuffer, 15771 const VkCopyAccelerationStructureInfoKHR* pInfo); 15772 15773 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureToMemoryKHR( 15774 VkCommandBuffer commandBuffer, 15775 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); 15776 15777 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToAccelerationStructureKHR( 15778 VkCommandBuffer commandBuffer, 15779 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); 15780 15781 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetAccelerationStructureDeviceAddressKHR( 15782 VkDevice device, 15783 const VkAccelerationStructureDeviceAddressInfoKHR* pInfo); 15784 15785 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesKHR( 15786 VkCommandBuffer commandBuffer, 15787 uint32_t accelerationStructureCount, 15788 const VkAccelerationStructureKHR* pAccelerationStructures, 15789 VkQueryType queryType, 15790 VkQueryPool queryPool, 15791 uint32_t firstQuery); 15792 15793 VKAPI_ATTR void VKAPI_CALL vkGetDeviceAccelerationStructureCompatibilityKHR( 15794 VkDevice device, 15795 const VkAccelerationStructureVersionInfoKHR* pVersionInfo, 15796 VkAccelerationStructureCompatibilityKHR* pCompatibility); 15797 15798 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureBuildSizesKHR( 15799 VkDevice device, 15800 VkAccelerationStructureBuildTypeKHR buildType, 15801 const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, 15802 const uint32_t* pMaxPrimitiveCounts, 15803 VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo); 15804 #endif 15805 15806 15807 #define VK_KHR_ray_tracing_pipeline 1 15808 #define VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION 1 15809 #define VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME "VK_KHR_ray_tracing_pipeline" 15810 15811 typedef enum VkShaderGroupShaderKHR { 15812 VK_SHADER_GROUP_SHADER_GENERAL_KHR = 0, 15813 VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR = 1, 15814 VK_SHADER_GROUP_SHADER_ANY_HIT_KHR = 2, 15815 VK_SHADER_GROUP_SHADER_INTERSECTION_KHR = 3, 15816 VK_SHADER_GROUP_SHADER_MAX_ENUM_KHR = 0x7FFFFFFF 15817 } VkShaderGroupShaderKHR; 15818 typedef struct VkRayTracingShaderGroupCreateInfoKHR { 15819 VkStructureType sType; 15820 const void* pNext; 15821 VkRayTracingShaderGroupTypeKHR type; 15822 uint32_t generalShader; 15823 uint32_t closestHitShader; 15824 uint32_t anyHitShader; 15825 uint32_t intersectionShader; 15826 const void* pShaderGroupCaptureReplayHandle; 15827 } VkRayTracingShaderGroupCreateInfoKHR; 15828 15829 typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR { 15830 VkStructureType sType; 15831 const void* pNext; 15832 uint32_t maxPipelineRayPayloadSize; 15833 uint32_t maxPipelineRayHitAttributeSize; 15834 } VkRayTracingPipelineInterfaceCreateInfoKHR; 15835 15836 typedef struct VkRayTracingPipelineCreateInfoKHR { 15837 VkStructureType sType; 15838 const void* pNext; 15839 VkPipelineCreateFlags flags; 15840 uint32_t stageCount; 15841 const VkPipelineShaderStageCreateInfo* pStages; 15842 uint32_t groupCount; 15843 const VkRayTracingShaderGroupCreateInfoKHR* pGroups; 15844 uint32_t maxPipelineRayRecursionDepth; 15845 const VkPipelineLibraryCreateInfoKHR* pLibraryInfo; 15846 const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface; 15847 const VkPipelineDynamicStateCreateInfo* pDynamicState; 15848 VkPipelineLayout layout; 15849 VkPipeline basePipelineHandle; 15850 int32_t basePipelineIndex; 15851 } VkRayTracingPipelineCreateInfoKHR; 15852 15853 typedef struct VkPhysicalDeviceRayTracingPipelineFeaturesKHR { 15854 VkStructureType sType; 15855 void* pNext; 15856 VkBool32 rayTracingPipeline; 15857 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplay; 15858 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplayMixed; 15859 VkBool32 rayTracingPipelineTraceRaysIndirect; 15860 VkBool32 rayTraversalPrimitiveCulling; 15861 } VkPhysicalDeviceRayTracingPipelineFeaturesKHR; 15862 15863 typedef struct VkPhysicalDeviceRayTracingPipelinePropertiesKHR { 15864 VkStructureType sType; 15865 void* pNext; 15866 uint32_t shaderGroupHandleSize; 15867 uint32_t maxRayRecursionDepth; 15868 uint32_t maxShaderGroupStride; 15869 uint32_t shaderGroupBaseAlignment; 15870 uint32_t shaderGroupHandleCaptureReplaySize; 15871 uint32_t maxRayDispatchInvocationCount; 15872 uint32_t shaderGroupHandleAlignment; 15873 uint32_t maxRayHitAttributeSize; 15874 } VkPhysicalDeviceRayTracingPipelinePropertiesKHR; 15875 15876 typedef struct VkStridedDeviceAddressRegionKHR { 15877 VkDeviceAddress deviceAddress; 15878 VkDeviceSize stride; 15879 VkDeviceSize size; 15880 } VkStridedDeviceAddressRegionKHR; 15881 15882 typedef struct VkTraceRaysIndirectCommandKHR { 15883 uint32_t width; 15884 uint32_t height; 15885 uint32_t depth; 15886 } VkTraceRaysIndirectCommandKHR; 15887 15888 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); 15889 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 15890 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData); 15891 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirectKHR)(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress); 15892 typedef VkDeviceSize (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupStackSizeKHR)(VkDevice device, VkPipeline pipeline, uint32_t group, VkShaderGroupShaderKHR groupShader); 15893 typedef void (VKAPI_PTR *PFN_vkCmdSetRayTracingPipelineStackSizeKHR)(VkCommandBuffer commandBuffer, uint32_t pipelineStackSize); 15894 15895 #ifndef VK_NO_PROTOTYPES 15896 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysKHR( 15897 VkCommandBuffer commandBuffer, 15898 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, 15899 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, 15900 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, 15901 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, 15902 uint32_t width, 15903 uint32_t height, 15904 uint32_t depth); 15905 15906 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesKHR( 15907 VkDevice device, 15908 VkDeferredOperationKHR deferredOperation, 15909 VkPipelineCache pipelineCache, 15910 uint32_t createInfoCount, 15911 const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, 15912 const VkAllocationCallbacks* pAllocator, 15913 VkPipeline* pPipelines); 15914 15915 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( 15916 VkDevice device, 15917 VkPipeline pipeline, 15918 uint32_t firstGroup, 15919 uint32_t groupCount, 15920 size_t dataSize, 15921 void* pData); 15922 15923 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirectKHR( 15924 VkCommandBuffer commandBuffer, 15925 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, 15926 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, 15927 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, 15928 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, 15929 VkDeviceAddress indirectDeviceAddress); 15930 15931 VKAPI_ATTR VkDeviceSize VKAPI_CALL vkGetRayTracingShaderGroupStackSizeKHR( 15932 VkDevice device, 15933 VkPipeline pipeline, 15934 uint32_t group, 15935 VkShaderGroupShaderKHR groupShader); 15936 15937 VKAPI_ATTR void VKAPI_CALL vkCmdSetRayTracingPipelineStackSizeKHR( 15938 VkCommandBuffer commandBuffer, 15939 uint32_t pipelineStackSize); 15940 #endif 15941 15942 15943 #define VK_KHR_ray_query 1 15944 #define VK_KHR_RAY_QUERY_SPEC_VERSION 1 15945 #define VK_KHR_RAY_QUERY_EXTENSION_NAME "VK_KHR_ray_query" 15946 typedef struct VkPhysicalDeviceRayQueryFeaturesKHR { 15947 VkStructureType sType; 15948 void* pNext; 15949 VkBool32 rayQuery; 15950 } VkPhysicalDeviceRayQueryFeaturesKHR; 15951 15952 15953 15954 #define VK_EXT_mesh_shader 1 15955 #define VK_EXT_MESH_SHADER_SPEC_VERSION 1 15956 #define VK_EXT_MESH_SHADER_EXTENSION_NAME "VK_EXT_mesh_shader" 15957 typedef struct VkPhysicalDeviceMeshShaderFeaturesEXT { 15958 VkStructureType sType; 15959 void* pNext; 15960 VkBool32 taskShader; 15961 VkBool32 meshShader; 15962 VkBool32 multiviewMeshShader; 15963 VkBool32 primitiveFragmentShadingRateMeshShader; 15964 VkBool32 meshShaderQueries; 15965 } VkPhysicalDeviceMeshShaderFeaturesEXT; 15966 15967 typedef struct VkPhysicalDeviceMeshShaderPropertiesEXT { 15968 VkStructureType sType; 15969 void* pNext; 15970 uint32_t maxTaskWorkGroupTotalCount; 15971 uint32_t maxTaskWorkGroupCount[3]; 15972 uint32_t maxTaskWorkGroupInvocations; 15973 uint32_t maxTaskWorkGroupSize[3]; 15974 uint32_t maxTaskPayloadSize; 15975 uint32_t maxTaskSharedMemorySize; 15976 uint32_t maxTaskPayloadAndSharedMemorySize; 15977 uint32_t maxMeshWorkGroupTotalCount; 15978 uint32_t maxMeshWorkGroupCount[3]; 15979 uint32_t maxMeshWorkGroupInvocations; 15980 uint32_t maxMeshWorkGroupSize[3]; 15981 uint32_t maxMeshSharedMemorySize; 15982 uint32_t maxMeshPayloadAndSharedMemorySize; 15983 uint32_t maxMeshOutputMemorySize; 15984 uint32_t maxMeshPayloadAndOutputMemorySize; 15985 uint32_t maxMeshOutputComponents; 15986 uint32_t maxMeshOutputVertices; 15987 uint32_t maxMeshOutputPrimitives; 15988 uint32_t maxMeshOutputLayers; 15989 uint32_t maxMeshMultiviewViewCount; 15990 uint32_t meshOutputPerVertexGranularity; 15991 uint32_t meshOutputPerPrimitiveGranularity; 15992 uint32_t maxPreferredTaskWorkGroupInvocations; 15993 uint32_t maxPreferredMeshWorkGroupInvocations; 15994 VkBool32 prefersLocalInvocationVertexOutput; 15995 VkBool32 prefersLocalInvocationPrimitiveOutput; 15996 VkBool32 prefersCompactVertexOutput; 15997 VkBool32 prefersCompactPrimitiveOutput; 15998 } VkPhysicalDeviceMeshShaderPropertiesEXT; 15999 16000 typedef struct VkDrawMeshTasksIndirectCommandEXT { 16001 uint32_t groupCountX; 16002 uint32_t groupCountY; 16003 uint32_t groupCountZ; 16004 } VkDrawMeshTasksIndirectCommandEXT; 16005 16006 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksEXT)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ); 16007 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectEXT)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); 16008 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountEXT)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 16009 16010 #ifndef VK_NO_PROTOTYPES 16011 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksEXT( 16012 VkCommandBuffer commandBuffer, 16013 uint32_t groupCountX, 16014 uint32_t groupCountY, 16015 uint32_t groupCountZ); 16016 16017 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectEXT( 16018 VkCommandBuffer commandBuffer, 16019 VkBuffer buffer, 16020 VkDeviceSize offset, 16021 uint32_t drawCount, 16022 uint32_t stride); 16023 16024 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountEXT( 16025 VkCommandBuffer commandBuffer, 16026 VkBuffer buffer, 16027 VkDeviceSize offset, 16028 VkBuffer countBuffer, 16029 VkDeviceSize countBufferOffset, 16030 uint32_t maxDrawCount, 16031 uint32_t stride); 16032 #endif 16033 16034 #ifdef __cplusplus 16035 } 16036 #endif 16037 16038 #endif 16039