1 #ifndef VULKAN_CORE_H_ 2 #define VULKAN_CORE_H_ 1 3 4 /* 5 ** Copyright 2015-2024 The Khronos Group Inc. 6 ** 7 ** SPDX-License-Identifier: Apache-2.0 8 */ 9 10 /* 11 ** This header is generated from the Khronos Vulkan XML API Registry. 12 ** 13 */ 14 15 16 #ifdef __cplusplus 17 extern "C" { 18 #endif 19 20 21 22 // VK_VERSION_1_0 is a preprocessor guard. Do not pass it to API calls. 23 #define VK_VERSION_1_0 1 24 #include "vk_platform.h" 25 26 #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object; 27 28 29 #ifndef VK_USE_64_BIT_PTR_DEFINES 30 #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__) || (defined(__riscv) && __riscv_xlen == 64) 31 #define VK_USE_64_BIT_PTR_DEFINES 1 32 #else 33 #define VK_USE_64_BIT_PTR_DEFINES 0 34 #endif 35 #endif 36 37 38 #ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE 39 #if (VK_USE_64_BIT_PTR_DEFINES==1) 40 #if (defined(__cplusplus) && (__cplusplus >= 201103L)) || (defined(_MSVC_LANG) && (_MSVC_LANG >= 201103L)) 41 #define VK_NULL_HANDLE nullptr 42 #else 43 #define VK_NULL_HANDLE ((void*)0) 44 #endif 45 #else 46 #define VK_NULL_HANDLE 0ULL 47 #endif 48 #endif 49 #ifndef VK_NULL_HANDLE 50 #define VK_NULL_HANDLE 0 51 #endif 52 53 54 #ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE 55 #if (VK_USE_64_BIT_PTR_DEFINES==1) 56 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object; 57 #else 58 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object; 59 #endif 60 #endif 61 62 #define VK_MAKE_API_VERSION(variant, major, minor, patch) \ 63 ((((uint32_t)(variant)) << 29U) | (((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch))) 64 65 // DEPRECATED: This define has been removed. Specific version defines (e.g. VK_API_VERSION_1_0), or the VK_MAKE_VERSION macro, should be used instead. 66 //#define VK_API_VERSION VK_MAKE_API_VERSION(0, 1, 0, 0) // Patch version should always be set to 0 67 68 // Vulkan 1.0 version number 69 #define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0 70 71 // Version of this file 72 #define VK_HEADER_VERSION 286 73 74 // Complete version of this file 75 #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) 76 77 // DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead. 78 #define VK_MAKE_VERSION(major, minor, patch) \ 79 ((((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch))) 80 81 // DEPRECATED: This define is deprecated. VK_API_VERSION_MAJOR should be used instead. 82 #define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22U) 83 84 // DEPRECATED: This define is deprecated. VK_API_VERSION_MINOR should be used instead. 85 #define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12U) & 0x3FFU) 86 87 // DEPRECATED: This define is deprecated. VK_API_VERSION_PATCH should be used instead. 88 #define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU) 89 90 #define VK_API_VERSION_VARIANT(version) ((uint32_t)(version) >> 29U) 91 #define VK_API_VERSION_MAJOR(version) (((uint32_t)(version) >> 22U) & 0x7FU) 92 #define VK_API_VERSION_MINOR(version) (((uint32_t)(version) >> 12U) & 0x3FFU) 93 #define VK_API_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU) 94 typedef uint32_t VkBool32; 95 typedef uint64_t VkDeviceAddress; 96 typedef uint64_t VkDeviceSize; 97 typedef uint32_t VkFlags; 98 typedef uint32_t VkSampleMask; 99 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer) 100 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage) 101 VK_DEFINE_HANDLE(VkInstance) 102 VK_DEFINE_HANDLE(VkPhysicalDevice) 103 VK_DEFINE_HANDLE(VkDevice) 104 VK_DEFINE_HANDLE(VkQueue) 105 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore) 106 VK_DEFINE_HANDLE(VkCommandBuffer) 107 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence) 108 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory) 109 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent) 110 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool) 111 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView) 112 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView) 113 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule) 114 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache) 115 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout) 116 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline) 117 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass) 118 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout) 119 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler) 120 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet) 121 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool) 122 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer) 123 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool) 124 #define VK_ATTACHMENT_UNUSED (~0U) 125 #define VK_FALSE 0U 126 #define VK_LOD_CLAMP_NONE 1000.0F 127 #define VK_QUEUE_FAMILY_IGNORED (~0U) 128 #define VK_REMAINING_ARRAY_LAYERS (~0U) 129 #define VK_REMAINING_MIP_LEVELS (~0U) 130 #define VK_SUBPASS_EXTERNAL (~0U) 131 #define VK_TRUE 1U 132 #define VK_WHOLE_SIZE (~0ULL) 133 #define VK_MAX_MEMORY_TYPES 32U 134 #define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256U 135 #define VK_UUID_SIZE 16U 136 #define VK_MAX_EXTENSION_NAME_SIZE 256U 137 #define VK_MAX_DESCRIPTION_SIZE 256U 138 #define VK_MAX_MEMORY_HEAPS 16U 139 140 typedef enum VkResult { 141 VK_SUCCESS = 0, 142 VK_NOT_READY = 1, 143 VK_TIMEOUT = 2, 144 VK_EVENT_SET = 3, 145 VK_EVENT_RESET = 4, 146 VK_INCOMPLETE = 5, 147 VK_ERROR_OUT_OF_HOST_MEMORY = -1, 148 VK_ERROR_OUT_OF_DEVICE_MEMORY = -2, 149 VK_ERROR_INITIALIZATION_FAILED = -3, 150 VK_ERROR_DEVICE_LOST = -4, 151 VK_ERROR_MEMORY_MAP_FAILED = -5, 152 VK_ERROR_LAYER_NOT_PRESENT = -6, 153 VK_ERROR_EXTENSION_NOT_PRESENT = -7, 154 VK_ERROR_FEATURE_NOT_PRESENT = -8, 155 VK_ERROR_INCOMPATIBLE_DRIVER = -9, 156 VK_ERROR_TOO_MANY_OBJECTS = -10, 157 VK_ERROR_FORMAT_NOT_SUPPORTED = -11, 158 VK_ERROR_FRAGMENTED_POOL = -12, 159 VK_ERROR_UNKNOWN = -13, 160 VK_ERROR_OUT_OF_POOL_MEMORY = -1000069000, 161 VK_ERROR_INVALID_EXTERNAL_HANDLE = -1000072003, 162 VK_ERROR_FRAGMENTATION = -1000161000, 163 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS = -1000257000, 164 VK_PIPELINE_COMPILE_REQUIRED = 1000297000, 165 VK_ERROR_SURFACE_LOST_KHR = -1000000000, 166 VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001, 167 VK_SUBOPTIMAL_KHR = 1000001003, 168 VK_ERROR_OUT_OF_DATE_KHR = -1000001004, 169 VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001, 170 VK_ERROR_VALIDATION_FAILED_EXT = -1000011001, 171 VK_ERROR_INVALID_SHADER_NV = -1000012000, 172 VK_ERROR_IMAGE_USAGE_NOT_SUPPORTED_KHR = -1000023000, 173 VK_ERROR_VIDEO_PICTURE_LAYOUT_NOT_SUPPORTED_KHR = -1000023001, 174 VK_ERROR_VIDEO_PROFILE_OPERATION_NOT_SUPPORTED_KHR = -1000023002, 175 VK_ERROR_VIDEO_PROFILE_FORMAT_NOT_SUPPORTED_KHR = -1000023003, 176 VK_ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR = -1000023004, 177 VK_ERROR_VIDEO_STD_VERSION_NOT_SUPPORTED_KHR = -1000023005, 178 VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000, 179 VK_ERROR_NOT_PERMITTED_KHR = -1000174001, 180 VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT = -1000255000, 181 VK_THREAD_IDLE_KHR = 1000268000, 182 VK_THREAD_DONE_KHR = 1000268001, 183 VK_OPERATION_DEFERRED_KHR = 1000268002, 184 VK_OPERATION_NOT_DEFERRED_KHR = 1000268003, 185 VK_ERROR_INVALID_VIDEO_STD_PARAMETERS_KHR = -1000299000, 186 VK_ERROR_COMPRESSION_EXHAUSTED_EXT = -1000338000, 187 VK_INCOMPATIBLE_SHADER_BINARY_EXT = 1000482000, 188 VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY, 189 VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE, 190 VK_ERROR_FRAGMENTATION_EXT = VK_ERROR_FRAGMENTATION, 191 VK_ERROR_NOT_PERMITTED_EXT = VK_ERROR_NOT_PERMITTED_KHR, 192 VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS, 193 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS, 194 VK_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED, 195 VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED, 196 VK_ERROR_INCOMPATIBLE_SHADER_BINARY_EXT = VK_INCOMPATIBLE_SHADER_BINARY_EXT, 197 VK_RESULT_MAX_ENUM = 0x7FFFFFFF 198 } VkResult; 199 200 typedef enum VkStructureType 201 { 202 VK_STRUCTURE_TYPE_APPLICATION_INFO = 0, 203 VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1, 204 VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2, 205 VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3, 206 VK_STRUCTURE_TYPE_SUBMIT_INFO = 4, 207 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5, 208 VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6, 209 VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7, 210 VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8, 211 VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9, 212 VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10, 213 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11, 214 VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12, 215 VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13, 216 VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14, 217 VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15, 218 VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16, 219 VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17, 220 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18, 221 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19, 222 VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20, 223 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21, 224 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22, 225 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23, 226 VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24, 227 VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25, 228 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26, 229 VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27, 230 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28, 231 VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29, 232 VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30, 233 VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31, 234 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32, 235 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33, 236 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34, 237 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35, 238 VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36, 239 VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37, 240 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38, 241 VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39, 242 VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40, 243 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41, 244 VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42, 245 VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43, 246 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44, 247 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45, 248 VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46, 249 VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47, 250 VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48, 251 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000, 252 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO = 1000157000, 253 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO = 1000157001, 254 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000, 255 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000, 256 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001, 257 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000, 258 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003, 259 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004, 260 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO = 1000060005, 261 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO = 1000060006, 262 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013, 263 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014, 264 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000, 265 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001, 266 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000, 267 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001, 268 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 = 1000146002, 269 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 = 1000146003, 270 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = 1000146004, 271 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000, 272 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001, 273 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002, 274 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 = 1000059003, 275 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004, 276 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 = 1000059005, 277 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006, 278 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 = 1000059007, 279 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = 1000059008, 280 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000, 281 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001, 282 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002, 283 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003, 284 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000, 285 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001, 286 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002, 287 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES = 1000120000, 288 VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO = 1000145000, 289 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001, 290 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002, 291 VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 = 1000145003, 292 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000, 293 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO = 1000156001, 294 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002, 295 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003, 296 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004, 297 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005, 298 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO = 1000085000, 299 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000, 300 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001, 301 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002, 302 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES = 1000071003, 303 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004, 304 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000, 305 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001, 306 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO = 1000072002, 307 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000, 308 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES = 1000112001, 309 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO = 1000113000, 310 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO = 1000077000, 311 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000, 312 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001, 313 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000, 314 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001, 315 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000, 316 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES = 49, 317 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES = 50, 318 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES = 51, 319 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES = 52, 320 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO = 1000147000, 321 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 = 1000109000, 322 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 = 1000109001, 323 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 = 1000109002, 324 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 = 1000109003, 325 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 = 1000109004, 326 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO = 1000109005, 327 VK_STRUCTURE_TYPE_SUBPASS_END_INFO = 1000109006, 328 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES = 1000177000, 329 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES = 1000196000, 330 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES = 1000180000, 331 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES = 1000082000, 332 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES = 1000197000, 333 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO = 1000161000, 334 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES = 1000161001, 335 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES = 1000161002, 336 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO = 1000161003, 337 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT = 1000161004, 338 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES = 1000199000, 339 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE = 1000199001, 340 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES = 1000221000, 341 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO = 1000246000, 342 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES = 1000130000, 343 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO = 1000130001, 344 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES = 1000211000, 345 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES = 1000108000, 346 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO = 1000108001, 347 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO = 1000108002, 348 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO = 1000108003, 349 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES = 1000253000, 350 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES = 1000175000, 351 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES = 1000241000, 352 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT = 1000241001, 353 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT = 1000241002, 354 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES = 1000261000, 355 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES = 1000207000, 356 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES = 1000207001, 357 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO = 1000207002, 358 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO = 1000207003, 359 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO = 1000207004, 360 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO = 1000207005, 361 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES = 1000257000, 362 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO = 1000244001, 363 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO = 1000257002, 364 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO = 1000257003, 365 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO = 1000257004, 366 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES = 53, 367 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES = 54, 368 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO = 1000192000, 369 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES = 1000215000, 370 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES = 1000245000, 371 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES = 1000276000, 372 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES = 1000295000, 373 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO = 1000295001, 374 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO = 1000295002, 375 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES = 1000297000, 376 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2 = 1000314000, 377 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2 = 1000314001, 378 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2 = 1000314002, 379 VK_STRUCTURE_TYPE_DEPENDENCY_INFO = 1000314003, 380 VK_STRUCTURE_TYPE_SUBMIT_INFO_2 = 1000314004, 381 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO = 1000314005, 382 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO = 1000314006, 383 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES = 1000314007, 384 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES = 1000325000, 385 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES = 1000335000, 386 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2 = 1000337000, 387 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2 = 1000337001, 388 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2 = 1000337002, 389 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2 = 1000337003, 390 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2 = 1000337004, 391 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2 = 1000337005, 392 VK_STRUCTURE_TYPE_BUFFER_COPY_2 = 1000337006, 393 VK_STRUCTURE_TYPE_IMAGE_COPY_2 = 1000337007, 394 VK_STRUCTURE_TYPE_IMAGE_BLIT_2 = 1000337008, 395 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2 = 1000337009, 396 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2 = 1000337010, 397 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES = 1000225000, 398 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO = 1000225001, 399 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES = 1000225002, 400 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES = 1000138000, 401 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES = 1000138001, 402 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK = 1000138002, 403 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO = 1000138003, 404 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES = 1000066000, 405 VK_STRUCTURE_TYPE_RENDERING_INFO = 1000044000, 406 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO = 1000044001, 407 VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO = 1000044002, 408 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES = 1000044003, 409 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO = 1000044004, 410 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES = 1000280000, 411 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES = 1000280001, 412 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES = 1000281001, 413 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3 = 1000360000, 414 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES = 1000413000, 415 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES = 1000413001, 416 VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS = 1000413002, 417 VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS = 1000413003, 418 VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000, 419 VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001, 420 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007, 421 VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008, 422 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009, 423 VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010, 424 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011, 425 VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012, 426 VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000, 427 VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001, 428 VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000, 429 VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000, 430 VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000, 431 VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000, 432 VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000, 433 VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000, 434 VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000, 435 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000, 436 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000, 437 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001, 438 VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002, 439 VK_STRUCTURE_TYPE_VIDEO_PROFILE_INFO_KHR = 1000023000, 440 VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR = 1000023001, 441 VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_INFO_KHR = 1000023002, 442 VK_STRUCTURE_TYPE_VIDEO_SESSION_MEMORY_REQUIREMENTS_KHR = 1000023003, 443 VK_STRUCTURE_TYPE_BIND_VIDEO_SESSION_MEMORY_INFO_KHR = 1000023004, 444 VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR = 1000023005, 445 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000023006, 446 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR = 1000023007, 447 VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR = 1000023008, 448 VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR = 1000023009, 449 VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR = 1000023010, 450 VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_INFO_KHR = 1000023011, 451 VK_STRUCTURE_TYPE_QUEUE_FAMILY_VIDEO_PROPERTIES_KHR = 1000023012, 452 VK_STRUCTURE_TYPE_VIDEO_PROFILE_LIST_INFO_KHR = 1000023013, 453 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR = 1000023014, 454 VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR = 1000023015, 455 VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR = 1000023016, 456 VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR = 1000024000, 457 VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR = 1000024001, 458 VK_STRUCTURE_TYPE_VIDEO_DECODE_USAGE_INFO_KHR = 1000024002, 459 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000, 460 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001, 461 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002, 462 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT = 1000028000, 463 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT = 1000028001, 464 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT = 1000028002, 465 VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX = 1000029000, 466 VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX = 1000029001, 467 VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX = 1000029002, 468 VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX = 1000030000, 469 VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX = 1000030001, 470 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_KHR = 1000038000, 471 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000038001, 472 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR = 1000038002, 473 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PICTURE_INFO_KHR = 1000038003, 474 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_KHR = 1000038004, 475 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_INFO_KHR = 1000038005, 476 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_GOP_REMAINING_FRAME_INFO_KHR = 1000038006, 477 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_INFO_KHR = 1000038007, 478 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_KHR = 1000038008, 479 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_KHR = 1000038009, 480 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_KHR = 1000038010, 481 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_QUALITY_LEVEL_PROPERTIES_KHR = 1000038011, 482 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_GET_INFO_KHR = 1000038012, 483 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_FEEDBACK_INFO_KHR = 1000038013, 484 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_KHR = 1000039000, 485 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000039001, 486 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR = 1000039002, 487 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PICTURE_INFO_KHR = 1000039003, 488 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_KHR = 1000039004, 489 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_KHR = 1000039005, 490 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_GOP_REMAINING_FRAME_INFO_KHR = 1000039006, 491 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_INFO_KHR = 1000039007, 492 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_KHR = 1000039009, 493 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_KHR = 1000039010, 494 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_KHR = 1000039011, 495 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_QUALITY_LEVEL_PROPERTIES_KHR = 1000039012, 496 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_GET_INFO_KHR = 1000039013, 497 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_FEEDBACK_INFO_KHR = 1000039014, 498 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_KHR = 1000040000, 499 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_KHR = 1000040001, 500 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_INFO_KHR = 1000040003, 501 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000040004, 502 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR = 1000040005, 503 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_KHR = 1000040006, 504 VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000, 505 VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000044006, 506 VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT = 1000044007, 507 VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD = 1000044008, 508 VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX = 1000044009, 509 VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000, 510 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000, 511 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000, 512 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001, 513 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000, 514 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001, 515 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000, 516 VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000, 517 VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000, 518 VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000, 519 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001, 520 VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT = 1000068000, 521 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT = 1000068001, 522 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT = 1000068002, 523 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000, 524 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001, 525 VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002, 526 VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR = 1000073003, 527 VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR = 1000074000, 528 VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR = 1000074001, 529 VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR = 1000074002, 530 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = 1000075000, 531 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078000, 532 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078001, 533 VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR = 1000078002, 534 VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = 1000078003, 535 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000, 536 VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001, 537 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000, 538 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT = 1000081000, 539 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT = 1000081001, 540 VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT = 1000081002, 541 VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000, 542 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000, 543 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT = 1000090000, 544 VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000, 545 VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001, 546 VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002, 547 VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003, 548 VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000, 549 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000, 550 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000, 551 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000, 552 VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001, 553 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000, 554 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001, 555 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT = 1000102000, 556 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT = 1000102001, 557 VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000, 558 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RELAXED_LINE_RASTERIZATION_FEATURES_IMG = 1000110000, 559 VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000, 560 VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000, 561 VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001, 562 VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR = 1000114002, 563 VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = 1000115000, 564 VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = 1000115001, 565 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR = 1000116000, 566 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR = 1000116001, 567 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR = 1000116002, 568 VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR = 1000116003, 569 VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR = 1000116004, 570 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR = 1000116005, 571 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR = 1000116006, 572 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000, 573 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001, 574 VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002, 575 VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR = 1000121000, 576 VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR = 1000121001, 577 VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR = 1000121002, 578 VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR = 1000121003, 579 VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004, 580 VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000, 581 VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000, 582 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000, 583 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT = 1000128001, 584 VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT = 1000128002, 585 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000128003, 586 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004, 587 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129000, 588 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129001, 589 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID = 1000129002, 590 VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003, 591 VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004, 592 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005, 593 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID = 1000129006, 594 #ifdef VK_ENABLE_BETA_EXTENSIONS 595 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX = 1000134000, 596 #endif 597 #ifdef VK_ENABLE_BETA_EXTENSIONS 598 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX = 1000134001, 599 #endif 600 #ifdef VK_ENABLE_BETA_EXTENSIONS 601 VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_SCRATCH_SIZE_AMDX = 1000134002, 602 #endif 603 #ifdef VK_ENABLE_BETA_EXTENSIONS 604 VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_CREATE_INFO_AMDX = 1000134003, 605 #endif 606 #ifdef VK_ENABLE_BETA_EXTENSIONS 607 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX = 1000134004, 608 #endif 609 VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000, 610 VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001, 611 VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002, 612 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003, 613 VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = 1000143004, 614 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000, 615 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001, 616 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002, 617 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000, 618 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR = 1000150007, 619 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR = 1000150000, 620 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR = 1000150002, 621 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR = 1000150003, 622 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR = 1000150004, 623 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR = 1000150005, 624 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR = 1000150006, 625 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR = 1000150009, 626 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR = 1000150010, 627 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR = 1000150011, 628 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR = 1000150012, 629 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR = 1000150013, 630 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR = 1000150014, 631 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR = 1000150017, 632 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR = 1000150020, 633 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR = 1000347000, 634 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR = 1000347001, 635 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR = 1000150015, 636 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR = 1000150016, 637 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR = 1000150018, 638 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR = 1000348013, 639 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000, 640 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV = 1000154000, 641 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV = 1000154001, 642 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT = 1000158000, 643 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT = 1000158002, 644 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT = 1000158003, 645 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT = 1000158004, 646 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158005, 647 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT = 1000158006, 648 VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000, 649 VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001, 650 #ifdef VK_ENABLE_BETA_EXTENSIONS 651 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR = 1000163000, 652 #endif 653 #ifdef VK_ENABLE_BETA_EXTENSIONS 654 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR = 1000163001, 655 #endif 656 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000, 657 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV = 1000164001, 658 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV = 1000164002, 659 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV = 1000164005, 660 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV = 1000165000, 661 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV = 1000165001, 662 VK_STRUCTURE_TYPE_GEOMETRY_NV = 1000165003, 663 VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV = 1000165004, 664 VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV = 1000165005, 665 VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV = 1000165006, 666 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV = 1000165007, 667 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV = 1000165008, 668 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV = 1000165009, 669 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV = 1000165011, 670 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV = 1000165012, 671 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV = 1000166000, 672 VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV = 1000166001, 673 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000, 674 VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001, 675 VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000, 676 VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001, 677 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002, 678 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR = 1000181000, 679 VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD = 1000183000, 680 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000, 681 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_KHR = 1000187000, 682 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000187001, 683 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR = 1000187002, 684 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_INFO_KHR = 1000187003, 685 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_KHR = 1000187004, 686 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_KHR = 1000187005, 687 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR = 1000174000, 688 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR = 1000388000, 689 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR = 1000388001, 690 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD = 1000189000, 691 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000, 692 VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP = 1000191000, 693 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = 1000201000, 694 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000, 695 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001, 696 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV = 1000204000, 697 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV = 1000205000, 698 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002, 699 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV = 1000206000, 700 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001, 701 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL = 1000209000, 702 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL = 1000210000, 703 VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL = 1000210001, 704 VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL = 1000210002, 705 VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL = 1000210003, 706 VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL = 1000210004, 707 VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL = 1000210005, 708 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT = 1000212000, 709 VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD = 1000213000, 710 VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD = 1000213001, 711 VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA = 1000214000, 712 VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT = 1000217000, 713 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT = 1000218000, 714 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT = 1000218001, 715 VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT = 1000218002, 716 VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000226000, 717 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR = 1000226001, 718 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR = 1000226002, 719 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR = 1000226003, 720 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR = 1000226004, 721 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD = 1000227000, 722 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = 1000229000, 723 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR = 1000232000, 724 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR = 1000232001, 725 VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR = 1000232002, 726 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT = 1000234000, 727 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR = 1000235000, 728 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000, 729 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT = 1000238000, 730 VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT = 1000238001, 731 VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR = 1000239000, 732 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV = 1000240000, 733 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT = 1000244000, 734 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002, 735 VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT = 1000247000, 736 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR = 1000248000, 737 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV = 1000249000, 738 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249001, 739 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249002, 740 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV = 1000250000, 741 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV = 1000250001, 742 VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV = 1000250002, 743 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT = 1000251000, 744 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000, 745 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT = 1000254000, 746 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT = 1000254001, 747 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT = 1000254002, 748 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT = 1000255000, 749 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT = 1000255002, 750 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT = 1000255001, 751 VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000, 752 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT = 1000260000, 753 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT = 1000267000, 754 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000, 755 VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR = 1000269001, 756 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR = 1000269002, 757 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR = 1000269003, 758 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR = 1000269004, 759 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR = 1000269005, 760 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES_EXT = 1000270000, 761 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES_EXT = 1000270001, 762 VK_STRUCTURE_TYPE_MEMORY_TO_IMAGE_COPY_EXT = 1000270002, 763 VK_STRUCTURE_TYPE_IMAGE_TO_MEMORY_COPY_EXT = 1000270003, 764 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_MEMORY_INFO_EXT = 1000270004, 765 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INFO_EXT = 1000270005, 766 VK_STRUCTURE_TYPE_HOST_IMAGE_LAYOUT_TRANSITION_INFO_EXT = 1000270006, 767 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_IMAGE_INFO_EXT = 1000270007, 768 VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE_EXT = 1000270008, 769 VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY_EXT = 1000270009, 770 VK_STRUCTURE_TYPE_MEMORY_MAP_INFO_KHR = 1000271000, 771 VK_STRUCTURE_TYPE_MEMORY_UNMAP_INFO_KHR = 1000271001, 772 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_FEATURES_EXT = 1000272000, 773 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_PROPERTIES_EXT = 1000272001, 774 VK_STRUCTURE_TYPE_MEMORY_MAP_PLACED_INFO_EXT = 1000272002, 775 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT = 1000273000, 776 VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT = 1000274000, 777 VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT = 1000274001, 778 VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT = 1000274002, 779 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT = 1000275000, 780 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT = 1000275001, 781 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT = 1000275002, 782 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT = 1000275003, 783 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT = 1000275004, 784 VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_EXT = 1000275005, 785 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV = 1000277000, 786 VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV = 1000277001, 787 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV = 1000277002, 788 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV = 1000277003, 789 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV = 1000277004, 790 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV = 1000277005, 791 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV = 1000277006, 792 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV = 1000277007, 793 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV = 1000278000, 794 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV = 1000278001, 795 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000, 796 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM = 1000282000, 797 VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM = 1000282001, 798 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_BIAS_CONTROL_FEATURES_EXT = 1000283000, 799 VK_STRUCTURE_TYPE_DEPTH_BIAS_INFO_EXT = 1000283001, 800 VK_STRUCTURE_TYPE_DEPTH_BIAS_REPRESENTATION_INFO_EXT = 1000283002, 801 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT = 1000284000, 802 VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT = 1000284001, 803 VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT = 1000284002, 804 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT = 1000286000, 805 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT = 1000286001, 806 VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT = 1000287000, 807 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT = 1000287001, 808 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT = 1000287002, 809 VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR = 1000290000, 810 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV = 1000292000, 811 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV = 1000292001, 812 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV = 1000292002, 813 VK_STRUCTURE_TYPE_PRESENT_ID_KHR = 1000294000, 814 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR = 1000294001, 815 VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR = 1000299000, 816 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR = 1000299001, 817 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR = 1000299002, 818 VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR = 1000299003, 819 VK_STRUCTURE_TYPE_VIDEO_ENCODE_USAGE_INFO_KHR = 1000299004, 820 VK_STRUCTURE_TYPE_QUERY_POOL_VIDEO_ENCODE_FEEDBACK_CREATE_INFO_KHR = 1000299005, 821 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR = 1000299006, 822 VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_PROPERTIES_KHR = 1000299007, 823 VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR = 1000299008, 824 VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_GET_INFO_KHR = 1000299009, 825 VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_FEEDBACK_INFO_KHR = 1000299010, 826 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000, 827 VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001, 828 VK_STRUCTURE_TYPE_CUDA_MODULE_CREATE_INFO_NV = 1000307000, 829 VK_STRUCTURE_TYPE_CUDA_FUNCTION_CREATE_INFO_NV = 1000307001, 830 VK_STRUCTURE_TYPE_CUDA_LAUNCH_INFO_NV = 1000307002, 831 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_FEATURES_NV = 1000307003, 832 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_PROPERTIES_NV = 1000307004, 833 VK_STRUCTURE_TYPE_QUERY_LOW_LATENCY_SUPPORT_NV = 1000310000, 834 VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECT_CREATE_INFO_EXT = 1000311000, 835 VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECTS_INFO_EXT = 1000311001, 836 VK_STRUCTURE_TYPE_EXPORT_METAL_DEVICE_INFO_EXT = 1000311002, 837 VK_STRUCTURE_TYPE_EXPORT_METAL_COMMAND_QUEUE_INFO_EXT = 1000311003, 838 VK_STRUCTURE_TYPE_EXPORT_METAL_BUFFER_INFO_EXT = 1000311004, 839 VK_STRUCTURE_TYPE_IMPORT_METAL_BUFFER_INFO_EXT = 1000311005, 840 VK_STRUCTURE_TYPE_EXPORT_METAL_TEXTURE_INFO_EXT = 1000311006, 841 VK_STRUCTURE_TYPE_IMPORT_METAL_TEXTURE_INFO_EXT = 1000311007, 842 VK_STRUCTURE_TYPE_EXPORT_METAL_IO_SURFACE_INFO_EXT = 1000311008, 843 VK_STRUCTURE_TYPE_IMPORT_METAL_IO_SURFACE_INFO_EXT = 1000311009, 844 VK_STRUCTURE_TYPE_EXPORT_METAL_SHARED_EVENT_INFO_EXT = 1000311010, 845 VK_STRUCTURE_TYPE_IMPORT_METAL_SHARED_EVENT_INFO_EXT = 1000311011, 846 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008, 847 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009, 848 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT = 1000316000, 849 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT = 1000316001, 850 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT = 1000316002, 851 VK_STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT = 1000316003, 852 VK_STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT = 1000316004, 853 VK_STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316005, 854 VK_STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316006, 855 VK_STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316007, 856 VK_STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316008, 857 VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT = 1000316010, 858 VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT = 1000316011, 859 VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT = 1000316012, 860 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316009, 861 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT = 1000320000, 862 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT = 1000320001, 863 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT = 1000320002, 864 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD = 1000321000, 865 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR = 1000203000, 866 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR = 1000322000, 867 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000, 868 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV = 1000326000, 869 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV = 1000326001, 870 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV = 1000326002, 871 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV = 1000327000, 872 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV = 1000327001, 873 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV = 1000327002, 874 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT = 1000328000, 875 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT = 1000328001, 876 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT = 1000330000, 877 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT = 1000332000, 878 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001, 879 VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM = 1000333000, 880 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR = 1000336000, 881 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT = 1000338000, 882 VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT = 1000338001, 883 VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT = 1000338004, 884 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT = 1000339000, 885 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000, 886 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT = 1000341000, 887 VK_STRUCTURE_TYPE_DEVICE_FAULT_COUNTS_EXT = 1000341001, 888 VK_STRUCTURE_TYPE_DEVICE_FAULT_INFO_EXT = 1000341002, 889 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT = 1000344000, 890 VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000, 891 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000, 892 VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001, 893 VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002, 894 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT = 1000353000, 895 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT = 1000354000, 896 VK_STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT = 1000354001, 897 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT = 1000355000, 898 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT = 1000355001, 899 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT = 1000356000, 900 VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364000, 901 VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA = 1000364001, 902 VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364002, 903 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365000, 904 VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365001, 905 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA = 1000366000, 906 VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA = 1000366001, 907 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA = 1000366002, 908 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA = 1000366003, 909 VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA = 1000366004, 910 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA = 1000366005, 911 VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA = 1000366006, 912 VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA = 1000366007, 913 VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA = 1000366008, 914 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA = 1000366009, 915 VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI = 1000369000, 916 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI = 1000369001, 917 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI = 1000369002, 918 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI = 1000370000, 919 VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV = 1000371000, 920 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV = 1000371001, 921 VK_STRUCTURE_TYPE_PIPELINE_PROPERTIES_IDENTIFIER_EXT = 1000372000, 922 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT = 1000372001, 923 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAME_BOUNDARY_FEATURES_EXT = 1000375000, 924 VK_STRUCTURE_TYPE_FRAME_BOUNDARY_EXT = 1000375001, 925 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT = 1000376000, 926 VK_STRUCTURE_TYPE_SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT = 1000376001, 927 VK_STRUCTURE_TYPE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT = 1000376002, 928 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT = 1000377000, 929 VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX = 1000378000, 930 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000, 931 VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001, 932 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT = 1000382000, 933 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR = 1000386000, 934 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT = 1000391000, 935 VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT = 1000391001, 936 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT = 1000392000, 937 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT = 1000392001, 938 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT = 1000393000, 939 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT = 1000395000, 940 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_PROPERTIES_EXT = 1000395001, 941 VK_STRUCTURE_TYPE_MICROMAP_BUILD_INFO_EXT = 1000396000, 942 VK_STRUCTURE_TYPE_MICROMAP_VERSION_INFO_EXT = 1000396001, 943 VK_STRUCTURE_TYPE_COPY_MICROMAP_INFO_EXT = 1000396002, 944 VK_STRUCTURE_TYPE_COPY_MICROMAP_TO_MEMORY_INFO_EXT = 1000396003, 945 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_MICROMAP_INFO_EXT = 1000396004, 946 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT = 1000396005, 947 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT = 1000396006, 948 VK_STRUCTURE_TYPE_MICROMAP_CREATE_INFO_EXT = 1000396007, 949 VK_STRUCTURE_TYPE_MICROMAP_BUILD_SIZES_INFO_EXT = 1000396008, 950 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT = 1000396009, 951 #ifdef VK_ENABLE_BETA_EXTENSIONS 952 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV = 1000397000, 953 #endif 954 #ifdef VK_ENABLE_BETA_EXTENSIONS 955 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV = 1000397001, 956 #endif 957 #ifdef VK_ENABLE_BETA_EXTENSIONS 958 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV = 1000397002, 959 #endif 960 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI = 1000404000, 961 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI = 1000404001, 962 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_VRS_FEATURES_HUAWEI = 1000404002, 963 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT = 1000411000, 964 VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT = 1000411001, 965 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT = 1000412000, 966 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM = 1000415000, 967 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR = 1000416000, 968 VK_STRUCTURE_TYPE_DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM = 1000417000, 969 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM = 1000417001, 970 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM = 1000417002, 971 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT = 1000418000, 972 VK_STRUCTURE_TYPE_IMAGE_VIEW_SLICED_CREATE_INFO_EXT = 1000418001, 973 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE = 1000420000, 974 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE = 1000420001, 975 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE = 1000420002, 976 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT = 1000421000, 977 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT = 1000422000, 978 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_FEATURES_ARM = 1000424000, 979 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_PROPERTIES_ARM = 1000424001, 980 VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_BEGIN_INFO_ARM = 1000424002, 981 VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_INFO_ARM = 1000424003, 982 VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_SUBMIT_INFO_ARM = 1000424004, 983 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM = 1000425000, 984 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001, 985 VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002, 986 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV = 1000426000, 987 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV = 1000426001, 988 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV = 1000427000, 989 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV = 1000427001, 990 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV = 1000428000, 991 VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV = 1000428001, 992 VK_STRUCTURE_TYPE_PIPELINE_INDIRECT_DEVICE_ADDRESS_INFO_NV = 1000428002, 993 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000, 994 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR = 1000434000, 995 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT = 1000437000, 996 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM = 1000440000, 997 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM = 1000440001, 998 VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM = 1000440002, 999 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_FEATURES_EXT = 1000451000, 1000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_PROPERTIES_EXT = 1000451001, 1001 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXT = 1000453000, 1002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT = 1000455000, 1003 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT = 1000455001, 1004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT = 1000458000, 1005 VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT = 1000458001, 1006 VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000458002, 1007 VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT = 1000458003, 1008 VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_INFO_LUNARG = 1000459000, 1009 VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG = 1000459001, 1010 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT = 1000462000, 1011 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT = 1000462001, 1012 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT = 1000462002, 1013 VK_STRUCTURE_TYPE_SHADER_MODULE_IDENTIFIER_EXT = 1000462003, 1014 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT = 1000342000, 1015 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV = 1000464000, 1016 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV = 1000464001, 1017 VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV = 1000464002, 1018 VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV = 1000464003, 1019 VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_INFO_NV = 1000464004, 1020 VK_STRUCTURE_TYPE_OPTICAL_FLOW_EXECUTE_INFO_NV = 1000464005, 1021 VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV = 1000464010, 1022 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT = 1000465000, 1023 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT = 1000466000, 1024 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_FEATURES_ANDROID = 1000468000, 1025 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_PROPERTIES_ANDROID = 1000468001, 1026 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_RESOLVE_PROPERTIES_ANDROID = 1000468002, 1027 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR = 1000470000, 1028 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR = 1000470001, 1029 VK_STRUCTURE_TYPE_RENDERING_AREA_INFO_KHR = 1000470003, 1030 VK_STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO_KHR = 1000470004, 1031 VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_KHR = 1000338002, 1032 VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_KHR = 1000338003, 1033 VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR = 1000470005, 1034 VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR = 1000470006, 1035 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR = 1000481000, 1036 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT = 1000482000, 1037 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT = 1000482001, 1038 VK_STRUCTURE_TYPE_SHADER_CREATE_INFO_EXT = 1000482002, 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_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM = 1000488000, 1044 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV = 1000490000, 1045 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV = 1000490001, 1046 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_FEATURES_NV = 1000492000, 1047 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_PROPERTIES_NV = 1000492001, 1048 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT = 1000351000, 1049 VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT = 1000351002, 1050 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_FEATURES_EXT = 1000495000, 1051 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_PROPERTIES_EXT = 1000495001, 1052 VK_STRUCTURE_TYPE_LAYER_SETTINGS_CREATE_INFO_EXT = 1000496000, 1053 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM = 1000497000, 1054 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM = 1000497001, 1055 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT = 1000498000, 1056 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT = 1000499000, 1057 VK_STRUCTURE_TYPE_LATENCY_SLEEP_MODE_INFO_NV = 1000505000, 1058 VK_STRUCTURE_TYPE_LATENCY_SLEEP_INFO_NV = 1000505001, 1059 VK_STRUCTURE_TYPE_SET_LATENCY_MARKER_INFO_NV = 1000505002, 1060 VK_STRUCTURE_TYPE_GET_LATENCY_MARKER_INFO_NV = 1000505003, 1061 VK_STRUCTURE_TYPE_LATENCY_TIMINGS_FRAME_REPORT_NV = 1000505004, 1062 VK_STRUCTURE_TYPE_LATENCY_SUBMISSION_PRESENT_ID_NV = 1000505005, 1063 VK_STRUCTURE_TYPE_OUT_OF_BAND_QUEUE_TYPE_INFO_NV = 1000505006, 1064 VK_STRUCTURE_TYPE_SWAPCHAIN_LATENCY_CREATE_INFO_NV = 1000505007, 1065 VK_STRUCTURE_TYPE_LATENCY_SURFACE_CAPABILITIES_NV = 1000505008, 1066 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR = 1000506000, 1067 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_KHR = 1000506001, 1068 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR = 1000506002, 1069 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM = 1000510000, 1070 VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM = 1000510001, 1071 VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_CAPABILITIES_KHR = 1000512000, 1072 VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PICTURE_INFO_KHR = 1000512001, 1073 VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PROFILE_INFO_KHR = 1000512003, 1074 VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000512004, 1075 VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_DPB_SLOT_INFO_KHR = 1000512005, 1076 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_1_FEATURES_KHR = 1000515000, 1077 VK_STRUCTURE_TYPE_VIDEO_INLINE_QUERY_INFO_KHR = 1000515001, 1078 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV = 1000516000, 1079 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM = 1000518000, 1080 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_PROPERTIES_QCOM = 1000518001, 1081 VK_STRUCTURE_TYPE_SAMPLER_BLOCK_MATCH_WINDOW_CREATE_INFO_QCOM = 1000518002, 1082 VK_STRUCTURE_TYPE_SAMPLER_CUBIC_WEIGHTS_CREATE_INFO_QCOM = 1000519000, 1083 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_WEIGHTS_FEATURES_QCOM = 1000519001, 1084 VK_STRUCTURE_TYPE_BLIT_IMAGE_CUBIC_WEIGHTS_INFO_QCOM = 1000519002, 1085 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_DEGAMMA_FEATURES_QCOM = 1000520000, 1086 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_YCBCR_DEGAMMA_CREATE_INFO_QCOM = 1000520001, 1087 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_CLAMP_FEATURES_QCOM = 1000521000, 1088 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_FEATURES_EXT = 1000524000, 1089 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_KHR = 1000525000, 1090 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_KHR = 1000190001, 1091 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR = 1000190002, 1092 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR = 1000528000, 1093 VK_STRUCTURE_TYPE_SCREEN_BUFFER_PROPERTIES_QNX = 1000529000, 1094 VK_STRUCTURE_TYPE_SCREEN_BUFFER_FORMAT_PROPERTIES_QNX = 1000529001, 1095 VK_STRUCTURE_TYPE_IMPORT_SCREEN_BUFFER_INFO_QNX = 1000529002, 1096 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_QNX = 1000529003, 1097 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCREEN_BUFFER_FEATURES_QNX = 1000529004, 1098 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT = 1000530000, 1099 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR = 1000265000, 1100 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR = 1000259000, 1101 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR = 1000259001, 1102 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR = 1000259002, 1103 VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_KHR = 1000184000, 1104 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR = 1000544000, 1105 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR = 1000545000, 1106 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR = 1000545001, 1107 VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR = 1000545002, 1108 VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO_KHR = 1000545003, 1109 VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO_KHR = 1000545004, 1110 VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO_KHR = 1000545005, 1111 VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO_KHR = 1000545006, 1112 VK_STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT = 1000545007, 1113 VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT = 1000545008, 1114 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV = 1000546000, 1115 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAW_ACCESS_CHAINS_FEATURES_NV = 1000555000, 1116 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV = 1000563000, 1117 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_REPLICATED_COMPOSITES_FEATURES_EXT = 1000564000, 1118 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV = 1000568000, 1119 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_FEATURES_MESA = 1000575000, 1120 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_PROPERTIES_MESA = 1000575001, 1121 VK_STRUCTURE_TYPE_IMAGE_ALIGNMENT_CONTROL_CREATE_INFO_MESA = 1000575002, 1122 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, 1123 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, 1124 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT, 1125 VK_STRUCTURE_TYPE_RENDERING_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_INFO, 1126 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO, 1127 VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO, 1128 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES, 1129 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO, 1130 VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_NV = VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD, 1131 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO, 1132 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES, 1133 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES, 1134 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2, 1135 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2, 1136 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2, 1137 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2, 1138 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2, 1139 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2, 1140 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2, 1141 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2, 1142 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2, 1143 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO, 1144 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO, 1145 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO, 1146 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO, 1147 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO, 1148 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO, 1149 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO, 1150 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES, 1151 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES, 1152 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO, 1153 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO, 1154 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES, 1155 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO, 1156 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES, 1157 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES, 1158 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO, 1159 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO, 1160 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO, 1161 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO, 1162 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES, 1163 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO, 1164 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES, 1165 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES, 1166 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES, 1167 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO, 1168 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT, 1169 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES, 1170 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO, 1171 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO, 1172 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO, 1173 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2, 1174 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, 1175 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2, 1176 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2, 1177 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2, 1178 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO, 1179 VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO, 1180 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO, 1181 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES, 1182 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO, 1183 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES, 1184 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO, 1185 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO, 1186 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO, 1187 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, 1188 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR, 1189 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS, 1190 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO, 1191 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES, 1192 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO, 1193 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES, 1194 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES, 1195 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK, 1196 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO, 1197 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2, 1198 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2, 1199 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2, 1200 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2, 1201 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2, 1202 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO, 1203 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO, 1204 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO, 1205 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO, 1206 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO, 1207 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES, 1208 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES, 1209 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO, 1210 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO, 1211 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO, 1212 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES, 1213 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES, 1214 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO, 1215 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT, 1216 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES, 1217 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT, 1218 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR, 1219 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES, 1220 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES, 1221 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES, 1222 VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_KHR, 1223 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_KHR, 1224 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR, 1225 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO, 1226 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES, 1227 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES, 1228 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES, 1229 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE, 1230 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR, 1231 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES, 1232 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES, 1233 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO, 1234 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO, 1235 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO, 1236 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO, 1237 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL, 1238 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES, 1239 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES, 1240 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES, 1241 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES, 1242 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO, 1243 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES, 1244 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES, 1245 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT, 1246 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT, 1247 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT, 1248 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO, 1249 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES, 1250 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO, 1251 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES, 1252 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES, 1253 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO, 1254 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO, 1255 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO, 1256 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO, 1257 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR, 1258 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR, 1259 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR, 1260 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES, 1261 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR, 1262 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES, 1263 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES, 1264 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES, 1265 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES, 1266 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES, 1267 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO, 1268 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO, 1269 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES, 1270 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_MEMORY_BARRIER_2, 1271 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2, 1272 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2, 1273 VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR = VK_STRUCTURE_TYPE_DEPENDENCY_INFO, 1274 VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR = VK_STRUCTURE_TYPE_SUBMIT_INFO_2, 1275 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO, 1276 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO, 1277 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES, 1278 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES, 1279 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES, 1280 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2, 1281 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2, 1282 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2, 1283 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2, 1284 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2, 1285 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2, 1286 VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_COPY_2, 1287 VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_IMAGE_COPY_2, 1288 VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR = VK_STRUCTURE_TYPE_IMAGE_BLIT_2, 1289 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2, 1290 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2, 1291 VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT = VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_KHR, 1292 VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT = VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_KHR, 1293 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT, 1294 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT, 1295 VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT, 1296 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3, 1297 VK_STRUCTURE_TYPE_PIPELINE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR, 1298 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR, 1299 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR, 1300 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES, 1301 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES, 1302 VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS, 1303 VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS, 1304 VK_STRUCTURE_TYPE_SHADER_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO, 1305 VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF 1306 } VkStructureType; 1307 1308 typedef enum VkPipelineCacheHeaderVersion { 1309 VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1, 1310 VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF 1311 } VkPipelineCacheHeaderVersion; 1312 1313 typedef enum VkImageLayout { 1314 VK_IMAGE_LAYOUT_UNDEFINED = 0, 1315 VK_IMAGE_LAYOUT_GENERAL = 1, 1316 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2, 1317 VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3, 1318 VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4, 1319 VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5, 1320 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6, 1321 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7, 1322 VK_IMAGE_LAYOUT_PREINITIALIZED = 8, 1323 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000, 1324 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001, 1325 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000, 1326 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001, 1327 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002, 1328 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003, 1329 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL = 1000314000, 1330 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL = 1000314001, 1331 VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002, 1332 VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR = 1000024000, 1333 VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR = 1000024001, 1334 VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR = 1000024002, 1335 VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000, 1336 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000, 1337 VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003, 1338 VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR = 1000232000, 1339 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR = 1000299000, 1340 VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR = 1000299001, 1341 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR = 1000299002, 1342 VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT = 1000339000, 1343 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL, 1344 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, 1345 VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR, 1346 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, 1347 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, 1348 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, 1349 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL, 1350 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL, 1351 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL, 1352 VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF 1353 } VkImageLayout; 1354 1355 typedef enum VkObjectType { 1356 VK_OBJECT_TYPE_UNKNOWN = 0, 1357 VK_OBJECT_TYPE_INSTANCE = 1, 1358 VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2, 1359 VK_OBJECT_TYPE_DEVICE = 3, 1360 VK_OBJECT_TYPE_QUEUE = 4, 1361 VK_OBJECT_TYPE_SEMAPHORE = 5, 1362 VK_OBJECT_TYPE_COMMAND_BUFFER = 6, 1363 VK_OBJECT_TYPE_FENCE = 7, 1364 VK_OBJECT_TYPE_DEVICE_MEMORY = 8, 1365 VK_OBJECT_TYPE_BUFFER = 9, 1366 VK_OBJECT_TYPE_IMAGE = 10, 1367 VK_OBJECT_TYPE_EVENT = 11, 1368 VK_OBJECT_TYPE_QUERY_POOL = 12, 1369 VK_OBJECT_TYPE_BUFFER_VIEW = 13, 1370 VK_OBJECT_TYPE_IMAGE_VIEW = 14, 1371 VK_OBJECT_TYPE_SHADER_MODULE = 15, 1372 VK_OBJECT_TYPE_PIPELINE_CACHE = 16, 1373 VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17, 1374 VK_OBJECT_TYPE_RENDER_PASS = 18, 1375 VK_OBJECT_TYPE_PIPELINE = 19, 1376 VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20, 1377 VK_OBJECT_TYPE_SAMPLER = 21, 1378 VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22, 1379 VK_OBJECT_TYPE_DESCRIPTOR_SET = 23, 1380 VK_OBJECT_TYPE_FRAMEBUFFER = 24, 1381 VK_OBJECT_TYPE_COMMAND_POOL = 25, 1382 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000, 1383 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000, 1384 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT = 1000295000, 1385 VK_OBJECT_TYPE_SURFACE_KHR = 1000000000, 1386 VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000, 1387 VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000, 1388 VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001, 1389 VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000, 1390 VK_OBJECT_TYPE_VIDEO_SESSION_KHR = 1000023000, 1391 VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR = 1000023001, 1392 VK_OBJECT_TYPE_CU_MODULE_NVX = 1000029000, 1393 VK_OBJECT_TYPE_CU_FUNCTION_NVX = 1000029001, 1394 VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000, 1395 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000, 1396 VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000, 1397 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000, 1398 VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000, 1399 VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000, 1400 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000, 1401 VK_OBJECT_TYPE_CUDA_MODULE_NV = 1000307000, 1402 VK_OBJECT_TYPE_CUDA_FUNCTION_NV = 1000307001, 1403 VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA = 1000366000, 1404 VK_OBJECT_TYPE_MICROMAP_EXT = 1000396000, 1405 VK_OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV = 1000464000, 1406 VK_OBJECT_TYPE_SHADER_EXT = 1000482000, 1407 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE, 1408 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION, 1409 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = VK_OBJECT_TYPE_PRIVATE_DATA_SLOT, 1410 VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF 1411 } VkObjectType; 1412 1413 typedef enum VkVendorId 1414 { 1415 VK_VENDOR_ID_KHRONOS = 0x10000, 1416 VK_VENDOR_ID_VIV = 0x10001, 1417 VK_VENDOR_ID_VSI = 0x10002, 1418 VK_VENDOR_ID_KAZAN = 0x10003, 1419 VK_VENDOR_ID_CODEPLAY = 0x10004, 1420 VK_VENDOR_ID_MESA = 0x10005, 1421 VK_VENDOR_ID_POCL = 0x10006, 1422 VK_VENDOR_ID_MOBILEYE = 0x10007, 1423 VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF 1424 } VkVendorId; 1425 1426 typedef enum VkSystemAllocationScope { 1427 VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0, 1428 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1, 1429 VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2, 1430 VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3, 1431 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4, 1432 VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF 1433 } VkSystemAllocationScope; 1434 1435 typedef enum VkInternalAllocationType { 1436 VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0, 1437 VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF 1438 } VkInternalAllocationType; 1439 1440 typedef enum VkFormat 1441 { 1442 VK_FORMAT_UNDEFINED = 0, 1443 VK_FORMAT_R4G4_UNORM_PACK8 = 1, 1444 VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2, 1445 VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3, 1446 VK_FORMAT_R5G6B5_UNORM_PACK16 = 4, 1447 VK_FORMAT_B5G6R5_UNORM_PACK16 = 5, 1448 VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6, 1449 VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7, 1450 VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8, 1451 VK_FORMAT_R8_UNORM = 9, 1452 VK_FORMAT_R8_SNORM = 10, 1453 VK_FORMAT_R8_USCALED = 11, 1454 VK_FORMAT_R8_SSCALED = 12, 1455 VK_FORMAT_R8_UINT = 13, 1456 VK_FORMAT_R8_SINT = 14, 1457 VK_FORMAT_R8_SRGB = 15, 1458 VK_FORMAT_R8G8_UNORM = 16, 1459 VK_FORMAT_R8G8_SNORM = 17, 1460 VK_FORMAT_R8G8_USCALED = 18, 1461 VK_FORMAT_R8G8_SSCALED = 19, 1462 VK_FORMAT_R8G8_UINT = 20, 1463 VK_FORMAT_R8G8_SINT = 21, 1464 VK_FORMAT_R8G8_SRGB = 22, 1465 VK_FORMAT_R8G8B8_UNORM = 23, 1466 VK_FORMAT_R8G8B8_SNORM = 24, 1467 VK_FORMAT_R8G8B8_USCALED = 25, 1468 VK_FORMAT_R8G8B8_SSCALED = 26, 1469 VK_FORMAT_R8G8B8_UINT = 27, 1470 VK_FORMAT_R8G8B8_SINT = 28, 1471 VK_FORMAT_R8G8B8_SRGB = 29, 1472 VK_FORMAT_B8G8R8_UNORM = 30, 1473 VK_FORMAT_B8G8R8_SNORM = 31, 1474 VK_FORMAT_B8G8R8_USCALED = 32, 1475 VK_FORMAT_B8G8R8_SSCALED = 33, 1476 VK_FORMAT_B8G8R8_UINT = 34, 1477 VK_FORMAT_B8G8R8_SINT = 35, 1478 VK_FORMAT_B8G8R8_SRGB = 36, 1479 VK_FORMAT_R8G8B8A8_UNORM = 37, 1480 VK_FORMAT_R8G8B8A8_SNORM = 38, 1481 VK_FORMAT_R8G8B8A8_USCALED = 39, 1482 VK_FORMAT_R8G8B8A8_SSCALED = 40, 1483 VK_FORMAT_R8G8B8A8_UINT = 41, 1484 VK_FORMAT_R8G8B8A8_SINT = 42, 1485 VK_FORMAT_R8G8B8A8_SRGB = 43, 1486 VK_FORMAT_B8G8R8A8_UNORM = 44, 1487 VK_FORMAT_B8G8R8A8_SNORM = 45, 1488 VK_FORMAT_B8G8R8A8_USCALED = 46, 1489 VK_FORMAT_B8G8R8A8_SSCALED = 47, 1490 VK_FORMAT_B8G8R8A8_UINT = 48, 1491 VK_FORMAT_B8G8R8A8_SINT = 49, 1492 VK_FORMAT_B8G8R8A8_SRGB = 50, 1493 VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51, 1494 VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52, 1495 VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53, 1496 VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54, 1497 VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55, 1498 VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56, 1499 VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57, 1500 VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58, 1501 VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59, 1502 VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60, 1503 VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61, 1504 VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62, 1505 VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63, 1506 VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64, 1507 VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65, 1508 VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66, 1509 VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67, 1510 VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68, 1511 VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69, 1512 VK_FORMAT_R16_UNORM = 70, 1513 VK_FORMAT_R16_SNORM = 71, 1514 VK_FORMAT_R16_USCALED = 72, 1515 VK_FORMAT_R16_SSCALED = 73, 1516 VK_FORMAT_R16_UINT = 74, 1517 VK_FORMAT_R16_SINT = 75, 1518 VK_FORMAT_R16_SFLOAT = 76, 1519 VK_FORMAT_R16G16_UNORM = 77, 1520 VK_FORMAT_R16G16_SNORM = 78, 1521 VK_FORMAT_R16G16_USCALED = 79, 1522 VK_FORMAT_R16G16_SSCALED = 80, 1523 VK_FORMAT_R16G16_UINT = 81, 1524 VK_FORMAT_R16G16_SINT = 82, 1525 VK_FORMAT_R16G16_SFLOAT = 83, 1526 VK_FORMAT_R16G16B16_UNORM = 84, 1527 VK_FORMAT_R16G16B16_SNORM = 85, 1528 VK_FORMAT_R16G16B16_USCALED = 86, 1529 VK_FORMAT_R16G16B16_SSCALED = 87, 1530 VK_FORMAT_R16G16B16_UINT = 88, 1531 VK_FORMAT_R16G16B16_SINT = 89, 1532 VK_FORMAT_R16G16B16_SFLOAT = 90, 1533 VK_FORMAT_R16G16B16A16_UNORM = 91, 1534 VK_FORMAT_R16G16B16A16_SNORM = 92, 1535 VK_FORMAT_R16G16B16A16_USCALED = 93, 1536 VK_FORMAT_R16G16B16A16_SSCALED = 94, 1537 VK_FORMAT_R16G16B16A16_UINT = 95, 1538 VK_FORMAT_R16G16B16A16_SINT = 96, 1539 VK_FORMAT_R16G16B16A16_SFLOAT = 97, 1540 VK_FORMAT_R32_UINT = 98, 1541 VK_FORMAT_R32_SINT = 99, 1542 VK_FORMAT_R32_SFLOAT = 100, 1543 VK_FORMAT_R32G32_UINT = 101, 1544 VK_FORMAT_R32G32_SINT = 102, 1545 VK_FORMAT_R32G32_SFLOAT = 103, 1546 VK_FORMAT_R32G32B32_UINT = 104, 1547 VK_FORMAT_R32G32B32_SINT = 105, 1548 VK_FORMAT_R32G32B32_SFLOAT = 106, 1549 VK_FORMAT_R32G32B32A32_UINT = 107, 1550 VK_FORMAT_R32G32B32A32_SINT = 108, 1551 VK_FORMAT_R32G32B32A32_SFLOAT = 109, 1552 VK_FORMAT_R64_UINT = 110, 1553 VK_FORMAT_R64_SINT = 111, 1554 VK_FORMAT_R64_SFLOAT = 112, 1555 VK_FORMAT_R64G64_UINT = 113, 1556 VK_FORMAT_R64G64_SINT = 114, 1557 VK_FORMAT_R64G64_SFLOAT = 115, 1558 VK_FORMAT_R64G64B64_UINT = 116, 1559 VK_FORMAT_R64G64B64_SINT = 117, 1560 VK_FORMAT_R64G64B64_SFLOAT = 118, 1561 VK_FORMAT_R64G64B64A64_UINT = 119, 1562 VK_FORMAT_R64G64B64A64_SINT = 120, 1563 VK_FORMAT_R64G64B64A64_SFLOAT = 121, 1564 VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122, 1565 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123, 1566 VK_FORMAT_D16_UNORM = 124, 1567 VK_FORMAT_X8_D24_UNORM_PACK32 = 125, 1568 VK_FORMAT_D32_SFLOAT = 126, 1569 VK_FORMAT_S8_UINT = 127, 1570 VK_FORMAT_D16_UNORM_S8_UINT = 128, 1571 VK_FORMAT_D24_UNORM_S8_UINT = 129, 1572 VK_FORMAT_D32_SFLOAT_S8_UINT = 130, 1573 VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131, 1574 VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132, 1575 VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133, 1576 VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134, 1577 VK_FORMAT_BC2_UNORM_BLOCK = 135, 1578 VK_FORMAT_BC2_SRGB_BLOCK = 136, 1579 VK_FORMAT_BC3_UNORM_BLOCK = 137, 1580 VK_FORMAT_BC3_SRGB_BLOCK = 138, 1581 VK_FORMAT_BC4_UNORM_BLOCK = 139, 1582 VK_FORMAT_BC4_SNORM_BLOCK = 140, 1583 VK_FORMAT_BC5_UNORM_BLOCK = 141, 1584 VK_FORMAT_BC5_SNORM_BLOCK = 142, 1585 VK_FORMAT_BC6H_UFLOAT_BLOCK = 143, 1586 VK_FORMAT_BC6H_SFLOAT_BLOCK = 144, 1587 VK_FORMAT_BC7_UNORM_BLOCK = 145, 1588 VK_FORMAT_BC7_SRGB_BLOCK = 146, 1589 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147, 1590 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148, 1591 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149, 1592 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150, 1593 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151, 1594 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152, 1595 VK_FORMAT_EAC_R11_UNORM_BLOCK = 153, 1596 VK_FORMAT_EAC_R11_SNORM_BLOCK = 154, 1597 VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155, 1598 VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156, 1599 VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157, 1600 VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158, 1601 VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159, 1602 VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160, 1603 VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161, 1604 VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162, 1605 VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163, 1606 VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164, 1607 VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165, 1608 VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166, 1609 VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167, 1610 VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168, 1611 VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169, 1612 VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170, 1613 VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171, 1614 VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172, 1615 VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173, 1616 VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174, 1617 VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175, 1618 VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176, 1619 VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177, 1620 VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178, 1621 VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179, 1622 VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180, 1623 VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181, 1624 VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182, 1625 VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183, 1626 VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184, 1627 VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000, 1628 VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001, 1629 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002, 1630 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003, 1631 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004, 1632 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005, 1633 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006, 1634 VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007, 1635 VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008, 1636 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009, 1637 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010, 1638 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011, 1639 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012, 1640 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013, 1641 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014, 1642 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015, 1643 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016, 1644 VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017, 1645 VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018, 1646 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019, 1647 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020, 1648 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021, 1649 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022, 1650 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023, 1651 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024, 1652 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025, 1653 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026, 1654 VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027, 1655 VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028, 1656 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029, 1657 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030, 1658 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031, 1659 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032, 1660 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033, 1661 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM = 1000330000, 1662 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 = 1000330001, 1663 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 = 1000330002, 1664 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM = 1000330003, 1665 VK_FORMAT_A4R4G4B4_UNORM_PACK16 = 1000340000, 1666 VK_FORMAT_A4B4G4R4_UNORM_PACK16 = 1000340001, 1667 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK = 1000066000, 1668 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK = 1000066001, 1669 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK = 1000066002, 1670 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK = 1000066003, 1671 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK = 1000066004, 1672 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK = 1000066005, 1673 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK = 1000066006, 1674 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK = 1000066007, 1675 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK = 1000066008, 1676 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK = 1000066009, 1677 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK = 1000066010, 1678 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK = 1000066011, 1679 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK = 1000066012, 1680 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK = 1000066013, 1681 VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000, 1682 VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001, 1683 VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002, 1684 VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003, 1685 VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004, 1686 VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005, 1687 VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006, 1688 VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007, 1689 VK_FORMAT_R16G16_SFIXED5_NV = 1000464000, 1690 VK_FORMAT_A1B5G5R5_UNORM_PACK16_KHR = 1000470000, 1691 VK_FORMAT_A8_UNORM_KHR = 1000470001, 1692 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK, 1693 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK, 1694 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK, 1695 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK, 1696 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK, 1697 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK, 1698 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK, 1699 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK, 1700 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK, 1701 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK, 1702 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK, 1703 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK, 1704 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK, 1705 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK, 1706 VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM, 1707 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM, 1708 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM, 1709 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM, 1710 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM, 1711 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM, 1712 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM, 1713 VK_FORMAT_R10X6_UNORM_PACK16_KHR = VK_FORMAT_R10X6_UNORM_PACK16, 1714 VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16, 1715 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16, 1716 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16, 1717 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16, 1718 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16, 1719 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16, 1720 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16, 1721 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16, 1722 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16, 1723 VK_FORMAT_R12X4_UNORM_PACK16_KHR = VK_FORMAT_R12X4_UNORM_PACK16, 1724 VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16, 1725 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16, 1726 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16, 1727 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16, 1728 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16, 1729 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16, 1730 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16, 1731 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16, 1732 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16, 1733 VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VK_FORMAT_G16B16G16R16_422_UNORM, 1734 VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VK_FORMAT_B16G16R16G16_422_UNORM, 1735 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM, 1736 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM, 1737 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM, 1738 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM, 1739 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM, 1740 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT = VK_FORMAT_G8_B8R8_2PLANE_444_UNORM, 1741 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16, 1742 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16, 1743 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT = VK_FORMAT_G16_B16R16_2PLANE_444_UNORM, 1744 VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT = VK_FORMAT_A4R4G4B4_UNORM_PACK16, 1745 VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT = VK_FORMAT_A4B4G4R4_UNORM_PACK16, 1746 VK_FORMAT_R16G16_S10_5_NV = VK_FORMAT_R16G16_SFIXED5_NV, 1747 VK_FORMAT_MAX_ENUM = 0x7FFFFFFF 1748 } VkFormat; 1749 1750 typedef enum VkImageTiling { 1751 VK_IMAGE_TILING_OPTIMAL = 0, 1752 VK_IMAGE_TILING_LINEAR = 1, 1753 VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000, 1754 VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF 1755 } VkImageTiling; 1756 1757 typedef enum VkImageType { 1758 VK_IMAGE_TYPE_1D = 0, 1759 VK_IMAGE_TYPE_2D = 1, 1760 VK_IMAGE_TYPE_3D = 2, 1761 VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF 1762 } VkImageType; 1763 1764 typedef enum VkPhysicalDeviceType { 1765 VK_PHYSICAL_DEVICE_TYPE_OTHER = 0, 1766 VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1, 1767 VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2, 1768 VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3, 1769 VK_PHYSICAL_DEVICE_TYPE_CPU = 4, 1770 VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF 1771 } VkPhysicalDeviceType; 1772 1773 typedef enum VkQueryType { 1774 VK_QUERY_TYPE_OCCLUSION = 0, 1775 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1, 1776 VK_QUERY_TYPE_TIMESTAMP = 2, 1777 VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR = 1000023000, 1778 VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004, 1779 VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000, 1780 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000150000, 1781 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150001, 1782 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000, 1783 VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000, 1784 VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR = 1000299000, 1785 VK_QUERY_TYPE_MESH_PRIMITIVES_GENERATED_EXT = 1000328000, 1786 VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT = 1000382000, 1787 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR = 1000386000, 1788 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR = 1000386001, 1789 VK_QUERY_TYPE_MICROMAP_SERIALIZATION_SIZE_EXT = 1000396000, 1790 VK_QUERY_TYPE_MICROMAP_COMPACTED_SIZE_EXT = 1000396001, 1791 VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF 1792 } VkQueryType; 1793 1794 typedef enum VkSharingMode { 1795 VK_SHARING_MODE_EXCLUSIVE = 0, 1796 VK_SHARING_MODE_CONCURRENT = 1, 1797 VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF 1798 } VkSharingMode; 1799 1800 typedef enum VkComponentSwizzle { 1801 VK_COMPONENT_SWIZZLE_IDENTITY = 0, 1802 VK_COMPONENT_SWIZZLE_ZERO = 1, 1803 VK_COMPONENT_SWIZZLE_ONE = 2, 1804 VK_COMPONENT_SWIZZLE_R = 3, 1805 VK_COMPONENT_SWIZZLE_G = 4, 1806 VK_COMPONENT_SWIZZLE_B = 5, 1807 VK_COMPONENT_SWIZZLE_A = 6, 1808 VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF 1809 } VkComponentSwizzle; 1810 1811 typedef enum VkImageViewType { 1812 VK_IMAGE_VIEW_TYPE_1D = 0, 1813 VK_IMAGE_VIEW_TYPE_2D = 1, 1814 VK_IMAGE_VIEW_TYPE_3D = 2, 1815 VK_IMAGE_VIEW_TYPE_CUBE = 3, 1816 VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4, 1817 VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5, 1818 VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6, 1819 VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF 1820 } VkImageViewType; 1821 1822 typedef enum VkBlendFactor { 1823 VK_BLEND_FACTOR_ZERO = 0, 1824 VK_BLEND_FACTOR_ONE = 1, 1825 VK_BLEND_FACTOR_SRC_COLOR = 2, 1826 VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3, 1827 VK_BLEND_FACTOR_DST_COLOR = 4, 1828 VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5, 1829 VK_BLEND_FACTOR_SRC_ALPHA = 6, 1830 VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7, 1831 VK_BLEND_FACTOR_DST_ALPHA = 8, 1832 VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9, 1833 VK_BLEND_FACTOR_CONSTANT_COLOR = 10, 1834 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11, 1835 VK_BLEND_FACTOR_CONSTANT_ALPHA = 12, 1836 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13, 1837 VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14, 1838 VK_BLEND_FACTOR_SRC1_COLOR = 15, 1839 VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16, 1840 VK_BLEND_FACTOR_SRC1_ALPHA = 17, 1841 VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18, 1842 VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF 1843 } VkBlendFactor; 1844 1845 typedef enum VkBlendOp { 1846 VK_BLEND_OP_ADD = 0, 1847 VK_BLEND_OP_SUBTRACT = 1, 1848 VK_BLEND_OP_REVERSE_SUBTRACT = 2, 1849 VK_BLEND_OP_MIN = 3, 1850 VK_BLEND_OP_MAX = 4, 1851 VK_BLEND_OP_ZERO_EXT = 1000148000, 1852 VK_BLEND_OP_SRC_EXT = 1000148001, 1853 VK_BLEND_OP_DST_EXT = 1000148002, 1854 VK_BLEND_OP_SRC_OVER_EXT = 1000148003, 1855 VK_BLEND_OP_DST_OVER_EXT = 1000148004, 1856 VK_BLEND_OP_SRC_IN_EXT = 1000148005, 1857 VK_BLEND_OP_DST_IN_EXT = 1000148006, 1858 VK_BLEND_OP_SRC_OUT_EXT = 1000148007, 1859 VK_BLEND_OP_DST_OUT_EXT = 1000148008, 1860 VK_BLEND_OP_SRC_ATOP_EXT = 1000148009, 1861 VK_BLEND_OP_DST_ATOP_EXT = 1000148010, 1862 VK_BLEND_OP_XOR_EXT = 1000148011, 1863 VK_BLEND_OP_MULTIPLY_EXT = 1000148012, 1864 VK_BLEND_OP_SCREEN_EXT = 1000148013, 1865 VK_BLEND_OP_OVERLAY_EXT = 1000148014, 1866 VK_BLEND_OP_DARKEN_EXT = 1000148015, 1867 VK_BLEND_OP_LIGHTEN_EXT = 1000148016, 1868 VK_BLEND_OP_COLORDODGE_EXT = 1000148017, 1869 VK_BLEND_OP_COLORBURN_EXT = 1000148018, 1870 VK_BLEND_OP_HARDLIGHT_EXT = 1000148019, 1871 VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020, 1872 VK_BLEND_OP_DIFFERENCE_EXT = 1000148021, 1873 VK_BLEND_OP_EXCLUSION_EXT = 1000148022, 1874 VK_BLEND_OP_INVERT_EXT = 1000148023, 1875 VK_BLEND_OP_INVERT_RGB_EXT = 1000148024, 1876 VK_BLEND_OP_LINEARDODGE_EXT = 1000148025, 1877 VK_BLEND_OP_LINEARBURN_EXT = 1000148026, 1878 VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027, 1879 VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028, 1880 VK_BLEND_OP_PINLIGHT_EXT = 1000148029, 1881 VK_BLEND_OP_HARDMIX_EXT = 1000148030, 1882 VK_BLEND_OP_HSL_HUE_EXT = 1000148031, 1883 VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032, 1884 VK_BLEND_OP_HSL_COLOR_EXT = 1000148033, 1885 VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034, 1886 VK_BLEND_OP_PLUS_EXT = 1000148035, 1887 VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036, 1888 VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037, 1889 VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038, 1890 VK_BLEND_OP_MINUS_EXT = 1000148039, 1891 VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040, 1892 VK_BLEND_OP_CONTRAST_EXT = 1000148041, 1893 VK_BLEND_OP_INVERT_OVG_EXT = 1000148042, 1894 VK_BLEND_OP_RED_EXT = 1000148043, 1895 VK_BLEND_OP_GREEN_EXT = 1000148044, 1896 VK_BLEND_OP_BLUE_EXT = 1000148045, 1897 VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF 1898 } VkBlendOp; 1899 1900 typedef enum VkCompareOp { 1901 VK_COMPARE_OP_NEVER = 0, 1902 VK_COMPARE_OP_LESS = 1, 1903 VK_COMPARE_OP_EQUAL = 2, 1904 VK_COMPARE_OP_LESS_OR_EQUAL = 3, 1905 VK_COMPARE_OP_GREATER = 4, 1906 VK_COMPARE_OP_NOT_EQUAL = 5, 1907 VK_COMPARE_OP_GREATER_OR_EQUAL = 6, 1908 VK_COMPARE_OP_ALWAYS = 7, 1909 VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF 1910 } VkCompareOp; 1911 1912 typedef enum VkDynamicState { 1913 VK_DYNAMIC_STATE_VIEWPORT = 0, 1914 VK_DYNAMIC_STATE_SCISSOR = 1, 1915 VK_DYNAMIC_STATE_LINE_WIDTH = 2, 1916 VK_DYNAMIC_STATE_DEPTH_BIAS = 3, 1917 VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4, 1918 VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5, 1919 VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6, 1920 VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7, 1921 VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8, 1922 VK_DYNAMIC_STATE_CULL_MODE = 1000267000, 1923 VK_DYNAMIC_STATE_FRONT_FACE = 1000267001, 1924 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY = 1000267002, 1925 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT = 1000267003, 1926 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT = 1000267004, 1927 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE = 1000267005, 1928 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE = 1000267006, 1929 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE = 1000267007, 1930 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP = 1000267008, 1931 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE = 1000267009, 1932 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE = 1000267010, 1933 VK_DYNAMIC_STATE_STENCIL_OP = 1000267011, 1934 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE = 1000377001, 1935 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE = 1000377002, 1936 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE = 1000377004, 1937 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000, 1938 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000, 1939 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT = 1000099001, 1940 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT = 1000099002, 1941 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000, 1942 VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000, 1943 VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004, 1944 VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006, 1945 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV = 1000205000, 1946 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001, 1947 VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000, 1948 VK_DYNAMIC_STATE_VERTEX_INPUT_EXT = 1000352000, 1949 VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000, 1950 VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003, 1951 VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000, 1952 VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT = 1000455003, 1953 VK_DYNAMIC_STATE_POLYGON_MODE_EXT = 1000455004, 1954 VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT = 1000455005, 1955 VK_DYNAMIC_STATE_SAMPLE_MASK_EXT = 1000455006, 1956 VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT = 1000455007, 1957 VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT = 1000455008, 1958 VK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT = 1000455009, 1959 VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT = 1000455010, 1960 VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT = 1000455011, 1961 VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT = 1000455012, 1962 VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT = 1000455002, 1963 VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT = 1000455013, 1964 VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT = 1000455014, 1965 VK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT = 1000455015, 1966 VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT = 1000455016, 1967 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT = 1000455017, 1968 VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT = 1000455018, 1969 VK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT = 1000455019, 1970 VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT = 1000455020, 1971 VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT = 1000455021, 1972 VK_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT = 1000455022, 1973 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV = 1000455023, 1974 VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV = 1000455024, 1975 VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV = 1000455025, 1976 VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV = 1000455026, 1977 VK_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV = 1000455027, 1978 VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV = 1000455028, 1979 VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV = 1000455029, 1980 VK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV = 1000455030, 1981 VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV = 1000455031, 1982 VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV = 1000455032, 1983 VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT = 1000524000, 1984 VK_DYNAMIC_STATE_LINE_STIPPLE_KHR = 1000259000, 1985 VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = VK_DYNAMIC_STATE_LINE_STIPPLE_KHR, 1986 VK_DYNAMIC_STATE_CULL_MODE_EXT = VK_DYNAMIC_STATE_CULL_MODE, 1987 VK_DYNAMIC_STATE_FRONT_FACE_EXT = VK_DYNAMIC_STATE_FRONT_FACE, 1988 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY, 1989 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT = VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT, 1990 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT = VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT, 1991 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT = VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE, 1992 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE, 1993 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE, 1994 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT = VK_DYNAMIC_STATE_DEPTH_COMPARE_OP, 1995 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE, 1996 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE, 1997 VK_DYNAMIC_STATE_STENCIL_OP_EXT = VK_DYNAMIC_STATE_STENCIL_OP, 1998 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT = VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE, 1999 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE, 2000 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT = VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE, 2001 VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF 2002 } VkDynamicState; 2003 2004 typedef enum VkFrontFace { 2005 VK_FRONT_FACE_COUNTER_CLOCKWISE = 0, 2006 VK_FRONT_FACE_CLOCKWISE = 1, 2007 VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF 2008 } VkFrontFace; 2009 2010 typedef enum VkVertexInputRate { 2011 VK_VERTEX_INPUT_RATE_VERTEX = 0, 2012 VK_VERTEX_INPUT_RATE_INSTANCE = 1, 2013 VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF 2014 } VkVertexInputRate; 2015 2016 typedef enum VkPrimitiveTopology { 2017 VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0, 2018 VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1, 2019 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2, 2020 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3, 2021 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4, 2022 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5, 2023 VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6, 2024 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7, 2025 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8, 2026 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9, 2027 VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10, 2028 VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF 2029 } VkPrimitiveTopology; 2030 2031 typedef enum VkPolygonMode { 2032 VK_POLYGON_MODE_FILL = 0, 2033 VK_POLYGON_MODE_LINE = 1, 2034 VK_POLYGON_MODE_POINT = 2, 2035 VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000, 2036 VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF 2037 } VkPolygonMode; 2038 2039 typedef enum VkStencilOp { 2040 VK_STENCIL_OP_KEEP = 0, 2041 VK_STENCIL_OP_ZERO = 1, 2042 VK_STENCIL_OP_REPLACE = 2, 2043 VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3, 2044 VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4, 2045 VK_STENCIL_OP_INVERT = 5, 2046 VK_STENCIL_OP_INCREMENT_AND_WRAP = 6, 2047 VK_STENCIL_OP_DECREMENT_AND_WRAP = 7, 2048 VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF 2049 } VkStencilOp; 2050 2051 typedef enum VkLogicOp { 2052 VK_LOGIC_OP_CLEAR = 0, 2053 VK_LOGIC_OP_AND = 1, 2054 VK_LOGIC_OP_AND_REVERSE = 2, 2055 VK_LOGIC_OP_COPY = 3, 2056 VK_LOGIC_OP_AND_INVERTED = 4, 2057 VK_LOGIC_OP_NO_OP = 5, 2058 VK_LOGIC_OP_XOR = 6, 2059 VK_LOGIC_OP_OR = 7, 2060 VK_LOGIC_OP_NOR = 8, 2061 VK_LOGIC_OP_EQUIVALENT = 9, 2062 VK_LOGIC_OP_INVERT = 10, 2063 VK_LOGIC_OP_OR_REVERSE = 11, 2064 VK_LOGIC_OP_COPY_INVERTED = 12, 2065 VK_LOGIC_OP_OR_INVERTED = 13, 2066 VK_LOGIC_OP_NAND = 14, 2067 VK_LOGIC_OP_SET = 15, 2068 VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF 2069 } VkLogicOp; 2070 2071 typedef enum VkBorderColor { 2072 VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0, 2073 VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1, 2074 VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2, 2075 VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3, 2076 VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4, 2077 VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5, 2078 VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003, 2079 VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004, 2080 VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF 2081 } VkBorderColor; 2082 2083 typedef enum VkFilter { 2084 VK_FILTER_NEAREST = 0, 2085 VK_FILTER_LINEAR = 1, 2086 VK_FILTER_CUBIC_EXT = 1000015000, 2087 VK_FILTER_CUBIC_IMG = VK_FILTER_CUBIC_EXT, 2088 VK_FILTER_MAX_ENUM = 0x7FFFFFFF 2089 } VkFilter; 2090 2091 typedef enum VkSamplerAddressMode { 2092 VK_SAMPLER_ADDRESS_MODE_REPEAT = 0, 2093 VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1, 2094 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2, 2095 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3, 2096 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4, 2097 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE, 2098 VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF 2099 } VkSamplerAddressMode; 2100 2101 typedef enum VkSamplerMipmapMode { 2102 VK_SAMPLER_MIPMAP_MODE_NEAREST = 0, 2103 VK_SAMPLER_MIPMAP_MODE_LINEAR = 1, 2104 VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF 2105 } VkSamplerMipmapMode; 2106 2107 typedef enum VkDescriptorType { 2108 VK_DESCRIPTOR_TYPE_SAMPLER = 0, 2109 VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1, 2110 VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2, 2111 VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3, 2112 VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4, 2113 VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5, 2114 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6, 2115 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7, 2116 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8, 2117 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9, 2118 VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10, 2119 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK = 1000138000, 2120 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000, 2121 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000, 2122 VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM = 1000440000, 2123 VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM = 1000440001, 2124 VK_DESCRIPTOR_TYPE_MUTABLE_EXT = 1000351000, 2125 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK, 2126 VK_DESCRIPTOR_TYPE_MUTABLE_VALVE = VK_DESCRIPTOR_TYPE_MUTABLE_EXT, 2127 VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF 2128 } VkDescriptorType; 2129 2130 typedef enum VkAttachmentLoadOp { 2131 VK_ATTACHMENT_LOAD_OP_LOAD = 0, 2132 VK_ATTACHMENT_LOAD_OP_CLEAR = 1, 2133 VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2, 2134 VK_ATTACHMENT_LOAD_OP_NONE_KHR = 1000400000, 2135 VK_ATTACHMENT_LOAD_OP_NONE_EXT = VK_ATTACHMENT_LOAD_OP_NONE_KHR, 2136 VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF 2137 } VkAttachmentLoadOp; 2138 2139 typedef enum VkAttachmentStoreOp { 2140 VK_ATTACHMENT_STORE_OP_STORE = 0, 2141 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1, 2142 VK_ATTACHMENT_STORE_OP_NONE = 1000301000, 2143 VK_ATTACHMENT_STORE_OP_NONE_KHR = VK_ATTACHMENT_STORE_OP_NONE, 2144 VK_ATTACHMENT_STORE_OP_NONE_QCOM = VK_ATTACHMENT_STORE_OP_NONE, 2145 VK_ATTACHMENT_STORE_OP_NONE_EXT = VK_ATTACHMENT_STORE_OP_NONE, 2146 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF 2147 } VkAttachmentStoreOp; 2148 2149 typedef enum VkPipelineBindPoint { 2150 VK_PIPELINE_BIND_POINT_GRAPHICS = 0, 2151 VK_PIPELINE_BIND_POINT_COMPUTE = 1, 2152 #ifdef VK_ENABLE_BETA_EXTENSIONS 2153 VK_PIPELINE_BIND_POINT_EXECUTION_GRAPH_AMDX = 1000134000, 2154 #endif 2155 VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR = 1000165000, 2156 VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI = 1000369003, 2157 VK_PIPELINE_BIND_POINT_RAY_TRACING_NV = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR, 2158 VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF 2159 } VkPipelineBindPoint; 2160 2161 typedef enum VkCommandBufferLevel { 2162 VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0, 2163 VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1, 2164 VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF 2165 } VkCommandBufferLevel; 2166 2167 typedef enum VkIndexType { 2168 VK_INDEX_TYPE_UINT16 = 0, 2169 VK_INDEX_TYPE_UINT32 = 1, 2170 VK_INDEX_TYPE_NONE_KHR = 1000165000, 2171 VK_INDEX_TYPE_UINT8_KHR = 1000265000, 2172 VK_INDEX_TYPE_NONE_NV = VK_INDEX_TYPE_NONE_KHR, 2173 VK_INDEX_TYPE_UINT8_EXT = VK_INDEX_TYPE_UINT8_KHR, 2174 VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF 2175 } VkIndexType; 2176 2177 typedef enum VkSubpassContents { 2178 VK_SUBPASS_CONTENTS_INLINE = 0, 2179 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1, 2180 VK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_EXT = 1000451000, 2181 VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF 2182 } VkSubpassContents; 2183 2184 typedef enum VkAccessFlagBits { 2185 VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001, 2186 VK_ACCESS_INDEX_READ_BIT = 0x00000002, 2187 VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004, 2188 VK_ACCESS_UNIFORM_READ_BIT = 0x00000008, 2189 VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010, 2190 VK_ACCESS_SHADER_READ_BIT = 0x00000020, 2191 VK_ACCESS_SHADER_WRITE_BIT = 0x00000040, 2192 VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080, 2193 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100, 2194 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200, 2195 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400, 2196 VK_ACCESS_TRANSFER_READ_BIT = 0x00000800, 2197 VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000, 2198 VK_ACCESS_HOST_READ_BIT = 0x00002000, 2199 VK_ACCESS_HOST_WRITE_BIT = 0x00004000, 2200 VK_ACCESS_MEMORY_READ_BIT = 0x00008000, 2201 VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000, 2202 VK_ACCESS_NONE = 0, 2203 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000, 2204 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000, 2205 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000, 2206 VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000, 2207 VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000, 2208 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000, 2209 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000, 2210 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000, 2211 VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000, 2212 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000, 2213 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000, 2214 VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR, 2215 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR, 2216 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR, 2217 VK_ACCESS_NONE_KHR = VK_ACCESS_NONE, 2218 VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2219 } VkAccessFlagBits; 2220 typedef VkFlags VkAccessFlags; 2221 2222 typedef enum VkImageAspectFlagBits { 2223 VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001, 2224 VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002, 2225 VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004, 2226 VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008, 2227 VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010, 2228 VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020, 2229 VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040, 2230 VK_IMAGE_ASPECT_NONE = 0, 2231 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080, 2232 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100, 2233 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200, 2234 VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400, 2235 VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT, 2236 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT, 2237 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT, 2238 VK_IMAGE_ASPECT_NONE_KHR = VK_IMAGE_ASPECT_NONE, 2239 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2240 } VkImageAspectFlagBits; 2241 typedef VkFlags VkImageAspectFlags; 2242 2243 typedef enum VkFormatFeatureFlagBits { 2244 VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001, 2245 VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002, 2246 VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004, 2247 VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008, 2248 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010, 2249 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020, 2250 VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040, 2251 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080, 2252 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100, 2253 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200, 2254 VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400, 2255 VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800, 2256 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000, 2257 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000, 2258 VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000, 2259 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000, 2260 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000, 2261 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000, 2262 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000, 2263 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000, 2264 VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000, 2265 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000, 2266 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000, 2267 VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000, 2268 VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000, 2269 VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000, 2270 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = 0x00002000, 2271 VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000, 2272 VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000, 2273 VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000, 2274 VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000, 2275 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT, 2276 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT, 2277 VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT, 2278 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT, 2279 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT, 2280 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT, 2281 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT, 2282 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT, 2283 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, 2284 VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT, 2285 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT, 2286 VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2287 } VkFormatFeatureFlagBits; 2288 typedef VkFlags VkFormatFeatureFlags; 2289 2290 typedef enum VkImageCreateFlagBits { 2291 VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001, 2292 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002, 2293 VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004, 2294 VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008, 2295 VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010, 2296 VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400, 2297 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040, 2298 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020, 2299 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080, 2300 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100, 2301 VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800, 2302 VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200, 2303 VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000, 2304 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000, 2305 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000, 2306 VK_IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00010000, 2307 VK_IMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT = 0x00040000, 2308 VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT = 0x00020000, 2309 VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM = 0x00008000, 2310 VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR = 0x00100000, 2311 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT, 2312 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT, 2313 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT, 2314 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT, 2315 VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VK_IMAGE_CREATE_DISJOINT_BIT, 2316 VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT, 2317 VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2318 } VkImageCreateFlagBits; 2319 typedef VkFlags VkImageCreateFlags; 2320 2321 typedef enum VkSampleCountFlagBits { 2322 VK_SAMPLE_COUNT_1_BIT = 0x00000001, 2323 VK_SAMPLE_COUNT_2_BIT = 0x00000002, 2324 VK_SAMPLE_COUNT_4_BIT = 0x00000004, 2325 VK_SAMPLE_COUNT_8_BIT = 0x00000008, 2326 VK_SAMPLE_COUNT_16_BIT = 0x00000010, 2327 VK_SAMPLE_COUNT_32_BIT = 0x00000020, 2328 VK_SAMPLE_COUNT_64_BIT = 0x00000040, 2329 VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2330 } VkSampleCountFlagBits; 2331 typedef VkFlags VkSampleCountFlags; 2332 2333 typedef enum VkImageUsageFlagBits { 2334 VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001, 2335 VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002, 2336 VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004, 2337 VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008, 2338 VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010, 2339 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020, 2340 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040, 2341 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080, 2342 VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00000400, 2343 VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00000800, 2344 VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR = 0x00001000, 2345 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200, 2346 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00000100, 2347 VK_IMAGE_USAGE_HOST_TRANSFER_BIT_EXT = 0x00400000, 2348 VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00002000, 2349 VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00004000, 2350 VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR = 0x00008000, 2351 VK_IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x00080000, 2352 VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI = 0x00040000, 2353 VK_IMAGE_USAGE_SAMPLE_WEIGHT_BIT_QCOM = 0x00100000, 2354 VK_IMAGE_USAGE_SAMPLE_BLOCK_MATCH_BIT_QCOM = 0x00200000, 2355 VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, 2356 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2357 } VkImageUsageFlagBits; 2358 typedef VkFlags VkImageUsageFlags; 2359 2360 typedef enum VkInstanceCreateFlagBits { 2361 VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR = 0x00000001, 2362 VK_INSTANCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2363 } VkInstanceCreateFlagBits; 2364 typedef VkFlags VkInstanceCreateFlags; 2365 2366 typedef enum VkMemoryHeapFlagBits { 2367 VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001, 2368 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002, 2369 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT, 2370 VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2371 } VkMemoryHeapFlagBits; 2372 typedef VkFlags VkMemoryHeapFlags; 2373 2374 typedef enum VkMemoryPropertyFlagBits { 2375 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001, 2376 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002, 2377 VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004, 2378 VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008, 2379 VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010, 2380 VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020, 2381 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 0x00000040, 2382 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 0x00000080, 2383 VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV = 0x00000100, 2384 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2385 } VkMemoryPropertyFlagBits; 2386 typedef VkFlags VkMemoryPropertyFlags; 2387 2388 typedef enum VkQueueFlagBits { 2389 VK_QUEUE_GRAPHICS_BIT = 0x00000001, 2390 VK_QUEUE_COMPUTE_BIT = 0x00000002, 2391 VK_QUEUE_TRANSFER_BIT = 0x00000004, 2392 VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008, 2393 VK_QUEUE_PROTECTED_BIT = 0x00000010, 2394 VK_QUEUE_VIDEO_DECODE_BIT_KHR = 0x00000020, 2395 VK_QUEUE_VIDEO_ENCODE_BIT_KHR = 0x00000040, 2396 VK_QUEUE_OPTICAL_FLOW_BIT_NV = 0x00000100, 2397 VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2398 } VkQueueFlagBits; 2399 typedef VkFlags VkQueueFlags; 2400 typedef VkFlags VkDeviceCreateFlags; 2401 2402 typedef enum VkDeviceQueueCreateFlagBits { 2403 VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001, 2404 VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2405 } VkDeviceQueueCreateFlagBits; 2406 typedef VkFlags VkDeviceQueueCreateFlags; 2407 2408 typedef enum VkPipelineStageFlagBits { 2409 VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001, 2410 VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002, 2411 VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004, 2412 VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008, 2413 VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010, 2414 VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020, 2415 VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040, 2416 VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080, 2417 VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100, 2418 VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200, 2419 VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400, 2420 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800, 2421 VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000, 2422 VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000, 2423 VK_PIPELINE_STAGE_HOST_BIT = 0x00004000, 2424 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000, 2425 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000, 2426 VK_PIPELINE_STAGE_NONE = 0, 2427 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000, 2428 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000, 2429 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000, 2430 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 0x00200000, 2431 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000, 2432 VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000, 2433 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 0x00020000, 2434 VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT = 0x00080000, 2435 VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT = 0x00100000, 2436 VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, 2437 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR, 2438 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, 2439 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT, 2440 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT, 2441 VK_PIPELINE_STAGE_NONE_KHR = VK_PIPELINE_STAGE_NONE, 2442 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2443 } VkPipelineStageFlagBits; 2444 typedef VkFlags VkPipelineStageFlags; 2445 2446 typedef enum VkMemoryMapFlagBits { 2447 VK_MEMORY_MAP_PLACED_BIT_EXT = 0x00000001, 2448 VK_MEMORY_MAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2449 } VkMemoryMapFlagBits; 2450 typedef VkFlags VkMemoryMapFlags; 2451 2452 typedef enum VkSparseMemoryBindFlagBits { 2453 VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001, 2454 VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2455 } VkSparseMemoryBindFlagBits; 2456 typedef VkFlags VkSparseMemoryBindFlags; 2457 2458 typedef enum VkSparseImageFormatFlagBits { 2459 VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001, 2460 VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002, 2461 VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004, 2462 VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2463 } VkSparseImageFormatFlagBits; 2464 typedef VkFlags VkSparseImageFormatFlags; 2465 2466 typedef enum VkFenceCreateFlagBits { 2467 VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001, 2468 VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2469 } VkFenceCreateFlagBits; 2470 typedef VkFlags VkFenceCreateFlags; 2471 typedef VkFlags VkSemaphoreCreateFlags; 2472 2473 typedef enum VkEventCreateFlagBits { 2474 VK_EVENT_CREATE_DEVICE_ONLY_BIT = 0x00000001, 2475 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = VK_EVENT_CREATE_DEVICE_ONLY_BIT, 2476 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2477 } VkEventCreateFlagBits; 2478 typedef VkFlags VkEventCreateFlags; 2479 2480 typedef enum VkQueryPipelineStatisticFlagBits { 2481 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001, 2482 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002, 2483 VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004, 2484 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008, 2485 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010, 2486 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020, 2487 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040, 2488 VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080, 2489 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100, 2490 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200, 2491 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400, 2492 VK_QUERY_PIPELINE_STATISTIC_TASK_SHADER_INVOCATIONS_BIT_EXT = 0x00000800, 2493 VK_QUERY_PIPELINE_STATISTIC_MESH_SHADER_INVOCATIONS_BIT_EXT = 0x00001000, 2494 VK_QUERY_PIPELINE_STATISTIC_CLUSTER_CULLING_SHADER_INVOCATIONS_BIT_HUAWEI = 0x00002000, 2495 VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2496 } VkQueryPipelineStatisticFlagBits; 2497 typedef VkFlags VkQueryPipelineStatisticFlags; 2498 typedef VkFlags VkQueryPoolCreateFlags; 2499 2500 typedef enum VkQueryResultFlagBits { 2501 VK_QUERY_RESULT_64_BIT = 0x00000001, 2502 VK_QUERY_RESULT_WAIT_BIT = 0x00000002, 2503 VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004, 2504 VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008, 2505 VK_QUERY_RESULT_WITH_STATUS_BIT_KHR = 0x00000010, 2506 VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2507 } VkQueryResultFlagBits; 2508 typedef VkFlags VkQueryResultFlags; 2509 2510 typedef enum VkBufferCreateFlagBits { 2511 VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001, 2512 VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002, 2513 VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004, 2514 VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008, 2515 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010, 2516 VK_BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000020, 2517 VK_BUFFER_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR = 0x00000040, 2518 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, 2519 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, 2520 VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2521 } VkBufferCreateFlagBits; 2522 typedef VkFlags VkBufferCreateFlags; 2523 2524 typedef enum VkBufferUsageFlagBits { 2525 VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001, 2526 VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002, 2527 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004, 2528 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008, 2529 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010, 2530 VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020, 2531 VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040, 2532 VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080, 2533 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100, 2534 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0x00020000, 2535 VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000, 2536 VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00004000, 2537 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800, 2538 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000, 2539 VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200, 2540 #ifdef VK_ENABLE_BETA_EXTENSIONS 2541 VK_BUFFER_USAGE_EXECUTION_GRAPH_SCRATCH_BIT_AMDX = 0x02000000, 2542 #endif 2543 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000, 2544 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000, 2545 VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400, 2546 VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000, 2547 VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000, 2548 VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT = 0x00200000, 2549 VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT = 0x00400000, 2550 VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT = 0x04000000, 2551 VK_BUFFER_USAGE_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT = 0x00800000, 2552 VK_BUFFER_USAGE_MICROMAP_STORAGE_BIT_EXT = 0x01000000, 2553 VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR, 2554 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT, 2555 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT, 2556 VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2557 } VkBufferUsageFlagBits; 2558 typedef VkFlags VkBufferUsageFlags; 2559 typedef VkFlags VkBufferViewCreateFlags; 2560 2561 typedef enum VkImageViewCreateFlagBits { 2562 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001, 2563 VK_IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000004, 2564 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT = 0x00000002, 2565 VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2566 } VkImageViewCreateFlagBits; 2567 typedef VkFlags VkImageViewCreateFlags; 2568 typedef VkFlags VkShaderModuleCreateFlags; 2569 2570 typedef enum VkPipelineCacheCreateFlagBits { 2571 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT = 0x00000001, 2572 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT, 2573 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2574 } VkPipelineCacheCreateFlagBits; 2575 typedef VkFlags VkPipelineCacheCreateFlags; 2576 2577 typedef enum VkColorComponentFlagBits { 2578 VK_COLOR_COMPONENT_R_BIT = 0x00000001, 2579 VK_COLOR_COMPONENT_G_BIT = 0x00000002, 2580 VK_COLOR_COMPONENT_B_BIT = 0x00000004, 2581 VK_COLOR_COMPONENT_A_BIT = 0x00000008, 2582 VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2583 } VkColorComponentFlagBits; 2584 typedef VkFlags VkColorComponentFlags; 2585 2586 typedef enum VkPipelineCreateFlagBits { 2587 VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001, 2588 VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002, 2589 VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004, 2590 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008, 2591 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0x00000010, 2592 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = 0x00000100, 2593 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT = 0x00000200, 2594 VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00200000, 2595 VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00400000, 2596 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000, 2597 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000, 2598 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000, 2599 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000, 2600 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000, 2601 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000, 2602 VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000, 2603 VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0x00000020, 2604 VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 0x00000040, 2605 VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080, 2606 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00040000, 2607 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 0x00000800, 2608 VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT = 0x20000000, 2609 VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT = 0x00800000, 2610 VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT = 0x00000400, 2611 VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000, 2612 VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x02000000, 2613 VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x04000000, 2614 VK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT = 0x01000000, 2615 #ifdef VK_ENABLE_BETA_EXTENSIONS 2616 VK_PIPELINE_CREATE_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV = 0x10000000, 2617 #endif 2618 VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT_EXT = 0x08000000, 2619 VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT_EXT = 0x40000000, 2620 VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT, 2621 VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, 2622 VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT, 2623 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT, 2624 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE, 2625 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT, 2626 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT, 2627 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2628 } VkPipelineCreateFlagBits; 2629 typedef VkFlags VkPipelineCreateFlags; 2630 2631 typedef enum VkPipelineShaderStageCreateFlagBits { 2632 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT = 0x00000001, 2633 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT = 0x00000002, 2634 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT, 2635 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT, 2636 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2637 } VkPipelineShaderStageCreateFlagBits; 2638 typedef VkFlags VkPipelineShaderStageCreateFlags; 2639 2640 typedef enum VkShaderStageFlagBits { 2641 VK_SHADER_STAGE_VERTEX_BIT = 0x00000001, 2642 VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002, 2643 VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004, 2644 VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008, 2645 VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010, 2646 VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020, 2647 VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F, 2648 VK_SHADER_STAGE_ALL = 0x7FFFFFFF, 2649 VK_SHADER_STAGE_RAYGEN_BIT_KHR = 0x00000100, 2650 VK_SHADER_STAGE_ANY_HIT_BIT_KHR = 0x00000200, 2651 VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR = 0x00000400, 2652 VK_SHADER_STAGE_MISS_BIT_KHR = 0x00000800, 2653 VK_SHADER_STAGE_INTERSECTION_BIT_KHR = 0x00001000, 2654 VK_SHADER_STAGE_CALLABLE_BIT_KHR = 0x00002000, 2655 VK_SHADER_STAGE_TASK_BIT_EXT = 0x00000040, 2656 VK_SHADER_STAGE_MESH_BIT_EXT = 0x00000080, 2657 VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 0x00004000, 2658 VK_SHADER_STAGE_CLUSTER_CULLING_BIT_HUAWEI = 0x00080000, 2659 VK_SHADER_STAGE_RAYGEN_BIT_NV = VK_SHADER_STAGE_RAYGEN_BIT_KHR, 2660 VK_SHADER_STAGE_ANY_HIT_BIT_NV = VK_SHADER_STAGE_ANY_HIT_BIT_KHR, 2661 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR, 2662 VK_SHADER_STAGE_MISS_BIT_NV = VK_SHADER_STAGE_MISS_BIT_KHR, 2663 VK_SHADER_STAGE_INTERSECTION_BIT_NV = VK_SHADER_STAGE_INTERSECTION_BIT_KHR, 2664 VK_SHADER_STAGE_CALLABLE_BIT_NV = VK_SHADER_STAGE_CALLABLE_BIT_KHR, 2665 VK_SHADER_STAGE_TASK_BIT_NV = VK_SHADER_STAGE_TASK_BIT_EXT, 2666 VK_SHADER_STAGE_MESH_BIT_NV = VK_SHADER_STAGE_MESH_BIT_EXT, 2667 VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2668 } VkShaderStageFlagBits; 2669 2670 typedef enum VkCullModeFlagBits { 2671 VK_CULL_MODE_NONE = 0, 2672 VK_CULL_MODE_FRONT_BIT = 0x00000001, 2673 VK_CULL_MODE_BACK_BIT = 0x00000002, 2674 VK_CULL_MODE_FRONT_AND_BACK = 0x00000003, 2675 VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2676 } VkCullModeFlagBits; 2677 typedef VkFlags VkCullModeFlags; 2678 typedef VkFlags VkPipelineVertexInputStateCreateFlags; 2679 typedef VkFlags VkPipelineInputAssemblyStateCreateFlags; 2680 typedef VkFlags VkPipelineTessellationStateCreateFlags; 2681 typedef VkFlags VkPipelineViewportStateCreateFlags; 2682 typedef VkFlags VkPipelineRasterizationStateCreateFlags; 2683 typedef VkFlags VkPipelineMultisampleStateCreateFlags; 2684 2685 typedef enum VkPipelineDepthStencilStateCreateFlagBits { 2686 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT = 0x00000001, 2687 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT = 0x00000002, 2688 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, 2689 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, 2690 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2691 } VkPipelineDepthStencilStateCreateFlagBits; 2692 typedef VkFlags VkPipelineDepthStencilStateCreateFlags; 2693 2694 typedef enum VkPipelineColorBlendStateCreateFlagBits { 2695 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT = 0x00000001, 2696 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM = VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT, 2697 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2698 } VkPipelineColorBlendStateCreateFlagBits; 2699 typedef VkFlags VkPipelineColorBlendStateCreateFlags; 2700 typedef VkFlags VkPipelineDynamicStateCreateFlags; 2701 2702 typedef enum VkPipelineLayoutCreateFlagBits { 2703 VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT = 0x00000002, 2704 VK_PIPELINE_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2705 } VkPipelineLayoutCreateFlagBits; 2706 typedef VkFlags VkPipelineLayoutCreateFlags; 2707 typedef VkFlags VkShaderStageFlags; 2708 2709 typedef enum VkSamplerCreateFlagBits { 2710 VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0x00000001, 2711 VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002, 2712 VK_SAMPLER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000008, 2713 VK_SAMPLER_CREATE_NON_SEAMLESS_CUBE_MAP_BIT_EXT = 0x00000004, 2714 VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM = 0x00000010, 2715 VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2716 } VkSamplerCreateFlagBits; 2717 typedef VkFlags VkSamplerCreateFlags; 2718 2719 typedef enum VkDescriptorPoolCreateFlagBits { 2720 VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001, 2721 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002, 2722 VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT = 0x00000004, 2723 VK_DESCRIPTOR_POOL_CREATE_ALLOW_OVERALLOCATION_SETS_BIT_NV = 0x00000008, 2724 VK_DESCRIPTOR_POOL_CREATE_ALLOW_OVERALLOCATION_POOLS_BIT_NV = 0x00000010, 2725 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT, 2726 VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE = VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT, 2727 VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2728 } VkDescriptorPoolCreateFlagBits; 2729 typedef VkFlags VkDescriptorPoolCreateFlags; 2730 typedef VkFlags VkDescriptorPoolResetFlags; 2731 2732 typedef enum VkDescriptorSetLayoutCreateFlagBits { 2733 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002, 2734 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001, 2735 VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT = 0x00000010, 2736 VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT = 0x00000020, 2737 VK_DESCRIPTOR_SET_LAYOUT_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00000080, 2738 VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT = 0x00000004, 2739 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV = 0x00000040, 2740 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT, 2741 VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE = VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT, 2742 VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2743 } VkDescriptorSetLayoutCreateFlagBits; 2744 typedef VkFlags VkDescriptorSetLayoutCreateFlags; 2745 2746 typedef enum VkAttachmentDescriptionFlagBits { 2747 VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001, 2748 VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2749 } VkAttachmentDescriptionFlagBits; 2750 typedef VkFlags VkAttachmentDescriptionFlags; 2751 2752 typedef enum VkDependencyFlagBits { 2753 VK_DEPENDENCY_BY_REGION_BIT = 0x00000001, 2754 VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004, 2755 VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002, 2756 VK_DEPENDENCY_FEEDBACK_LOOP_BIT_EXT = 0x00000008, 2757 VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT, 2758 VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT, 2759 VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2760 } VkDependencyFlagBits; 2761 typedef VkFlags VkDependencyFlags; 2762 2763 typedef enum VkFramebufferCreateFlagBits { 2764 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0x00000001, 2765 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT, 2766 VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2767 } VkFramebufferCreateFlagBits; 2768 typedef VkFlags VkFramebufferCreateFlags; 2769 2770 typedef enum VkRenderPassCreateFlagBits { 2771 VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM = 0x00000002, 2772 VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2773 } VkRenderPassCreateFlagBits; 2774 typedef VkFlags VkRenderPassCreateFlags; 2775 2776 typedef enum VkSubpassDescriptionFlagBits { 2777 VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001, 2778 VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002, 2779 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 0x00000004, 2780 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 0x00000008, 2781 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT = 0x00000010, 2782 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT = 0x00000020, 2783 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT = 0x00000040, 2784 VK_SUBPASS_DESCRIPTION_ENABLE_LEGACY_DITHERING_BIT_EXT = 0x00000080, 2785 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT, 2786 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT, 2787 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT, 2788 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2789 } VkSubpassDescriptionFlagBits; 2790 typedef VkFlags VkSubpassDescriptionFlags; 2791 2792 typedef enum VkCommandPoolCreateFlagBits { 2793 VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001, 2794 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002, 2795 VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004, 2796 VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2797 } VkCommandPoolCreateFlagBits; 2798 typedef VkFlags VkCommandPoolCreateFlags; 2799 2800 typedef enum VkCommandPoolResetFlagBits { 2801 VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001, 2802 VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2803 } VkCommandPoolResetFlagBits; 2804 typedef VkFlags VkCommandPoolResetFlags; 2805 2806 typedef enum VkCommandBufferUsageFlagBits { 2807 VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001, 2808 VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002, 2809 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004, 2810 VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2811 } VkCommandBufferUsageFlagBits; 2812 typedef VkFlags VkCommandBufferUsageFlags; 2813 2814 typedef enum VkQueryControlFlagBits { 2815 VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001, 2816 VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2817 } VkQueryControlFlagBits; 2818 typedef VkFlags VkQueryControlFlags; 2819 2820 typedef enum VkCommandBufferResetFlagBits { 2821 VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001, 2822 VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2823 } VkCommandBufferResetFlagBits; 2824 typedef VkFlags VkCommandBufferResetFlags; 2825 2826 typedef enum VkStencilFaceFlagBits { 2827 VK_STENCIL_FACE_FRONT_BIT = 0x00000001, 2828 VK_STENCIL_FACE_BACK_BIT = 0x00000002, 2829 VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003, 2830 VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK, 2831 VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2832 } VkStencilFaceFlagBits; 2833 typedef VkFlags VkStencilFaceFlags; 2834 typedef struct VkExtent2D { 2835 uint32_t width; 2836 uint32_t height; 2837 } VkExtent2D; 2838 2839 typedef struct VkExtent3D { 2840 uint32_t width; 2841 uint32_t height; 2842 uint32_t depth; 2843 } VkExtent3D; 2844 2845 typedef struct VkOffset2D { 2846 int32_t x; 2847 int32_t y; 2848 } VkOffset2D; 2849 2850 typedef struct VkOffset3D { 2851 int32_t x; 2852 int32_t y; 2853 int32_t z; 2854 } VkOffset3D; 2855 2856 typedef struct VkRect2D { 2857 VkOffset2D offset; 2858 VkExtent2D extent; 2859 } VkRect2D; 2860 2861 typedef struct VkBaseInStructure { 2862 VkStructureType sType; 2863 const struct VkBaseInStructure* pNext; 2864 } VkBaseInStructure; 2865 2866 typedef struct VkBaseOutStructure { 2867 VkStructureType sType; 2868 struct VkBaseOutStructure* pNext; 2869 } VkBaseOutStructure; 2870 2871 typedef struct VkBufferMemoryBarrier { 2872 VkStructureType sType; 2873 const void* pNext; 2874 VkAccessFlags srcAccessMask; 2875 VkAccessFlags dstAccessMask; 2876 uint32_t srcQueueFamilyIndex; 2877 uint32_t dstQueueFamilyIndex; 2878 VkBuffer buffer; 2879 VkDeviceSize offset; 2880 VkDeviceSize size; 2881 } VkBufferMemoryBarrier; 2882 2883 typedef struct VkDispatchIndirectCommand { 2884 uint32_t x; 2885 uint32_t y; 2886 uint32_t z; 2887 } VkDispatchIndirectCommand; 2888 2889 typedef struct VkDrawIndexedIndirectCommand { 2890 uint32_t indexCount; 2891 uint32_t instanceCount; 2892 uint32_t firstIndex; 2893 int32_t vertexOffset; 2894 uint32_t firstInstance; 2895 } VkDrawIndexedIndirectCommand; 2896 2897 typedef struct VkDrawIndirectCommand { 2898 uint32_t vertexCount; 2899 uint32_t instanceCount; 2900 uint32_t firstVertex; 2901 uint32_t firstInstance; 2902 } VkDrawIndirectCommand; 2903 2904 typedef struct VkImageSubresourceRange { 2905 VkImageAspectFlags aspectMask; 2906 uint32_t baseMipLevel; 2907 uint32_t levelCount; 2908 uint32_t baseArrayLayer; 2909 uint32_t layerCount; 2910 } VkImageSubresourceRange; 2911 2912 typedef struct VkImageMemoryBarrier { 2913 VkStructureType sType; 2914 const void* pNext; 2915 VkAccessFlags srcAccessMask; 2916 VkAccessFlags dstAccessMask; 2917 VkImageLayout oldLayout; 2918 VkImageLayout newLayout; 2919 uint32_t srcQueueFamilyIndex; 2920 uint32_t dstQueueFamilyIndex; 2921 VkImage image; 2922 VkImageSubresourceRange subresourceRange; 2923 } VkImageMemoryBarrier; 2924 2925 typedef struct VkMemoryBarrier { 2926 VkStructureType sType; 2927 const void* pNext; 2928 VkAccessFlags srcAccessMask; 2929 VkAccessFlags dstAccessMask; 2930 } VkMemoryBarrier; 2931 2932 typedef struct VkPipelineCacheHeaderVersionOne { 2933 uint32_t headerSize; 2934 VkPipelineCacheHeaderVersion headerVersion; 2935 uint32_t vendorID; 2936 uint32_t deviceID; 2937 uint8_t pipelineCacheUUID[VK_UUID_SIZE]; 2938 } VkPipelineCacheHeaderVersionOne; 2939 2940 typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)( 2941 void* pUserData, 2942 size_t size, 2943 size_t alignment, 2944 VkSystemAllocationScope allocationScope); 2945 2946 typedef void (VKAPI_PTR *PFN_vkFreeFunction)( 2947 void* pUserData, 2948 void* pMemory); 2949 2950 typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)( 2951 void* pUserData, 2952 size_t size, 2953 VkInternalAllocationType allocationType, 2954 VkSystemAllocationScope allocationScope); 2955 2956 typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)( 2957 void* pUserData, 2958 size_t size, 2959 VkInternalAllocationType allocationType, 2960 VkSystemAllocationScope allocationScope); 2961 2962 typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)( 2963 void* pUserData, 2964 void* pOriginal, 2965 size_t size, 2966 size_t alignment, 2967 VkSystemAllocationScope allocationScope); 2968 2969 typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void); 2970 typedef struct VkAllocationCallbacks { 2971 void* pUserData; 2972 PFN_vkAllocationFunction pfnAllocation; 2973 PFN_vkReallocationFunction pfnReallocation; 2974 PFN_vkFreeFunction pfnFree; 2975 PFN_vkInternalAllocationNotification pfnInternalAllocation; 2976 PFN_vkInternalFreeNotification pfnInternalFree; 2977 } VkAllocationCallbacks; 2978 2979 typedef struct VkApplicationInfo { 2980 VkStructureType sType; 2981 const void* pNext; 2982 const char* pApplicationName; 2983 uint32_t applicationVersion; 2984 const char* pEngineName; 2985 uint32_t engineVersion; 2986 uint32_t apiVersion; 2987 } VkApplicationInfo; 2988 2989 typedef struct VkFormatProperties { 2990 VkFormatFeatureFlags linearTilingFeatures; 2991 VkFormatFeatureFlags optimalTilingFeatures; 2992 VkFormatFeatureFlags bufferFeatures; 2993 } VkFormatProperties; 2994 2995 typedef struct VkImageFormatProperties { 2996 VkExtent3D maxExtent; 2997 uint32_t maxMipLevels; 2998 uint32_t maxArrayLayers; 2999 VkSampleCountFlags sampleCounts; 3000 VkDeviceSize maxResourceSize; 3001 } VkImageFormatProperties; 3002 3003 typedef struct VkInstanceCreateInfo { 3004 VkStructureType sType; 3005 const void* pNext; 3006 VkInstanceCreateFlags flags; 3007 const VkApplicationInfo* pApplicationInfo; 3008 uint32_t enabledLayerCount; 3009 const char* const* ppEnabledLayerNames; 3010 uint32_t enabledExtensionCount; 3011 const char* const* ppEnabledExtensionNames; 3012 } VkInstanceCreateInfo; 3013 3014 typedef struct VkMemoryHeap { 3015 VkDeviceSize size; 3016 VkMemoryHeapFlags flags; 3017 } VkMemoryHeap; 3018 3019 typedef struct VkMemoryType { 3020 VkMemoryPropertyFlags propertyFlags; 3021 uint32_t heapIndex; 3022 } VkMemoryType; 3023 3024 typedef struct VkPhysicalDeviceFeatures { 3025 VkBool32 robustBufferAccess; 3026 VkBool32 fullDrawIndexUint32; 3027 VkBool32 imageCubeArray; 3028 VkBool32 independentBlend; 3029 VkBool32 geometryShader; 3030 VkBool32 tessellationShader; 3031 VkBool32 sampleRateShading; 3032 VkBool32 dualSrcBlend; 3033 VkBool32 logicOp; 3034 VkBool32 multiDrawIndirect; 3035 VkBool32 drawIndirectFirstInstance; 3036 VkBool32 depthClamp; 3037 VkBool32 depthBiasClamp; 3038 VkBool32 fillModeNonSolid; 3039 VkBool32 depthBounds; 3040 VkBool32 wideLines; 3041 VkBool32 largePoints; 3042 VkBool32 alphaToOne; 3043 VkBool32 multiViewport; 3044 VkBool32 samplerAnisotropy; 3045 VkBool32 textureCompressionETC2; 3046 VkBool32 textureCompressionASTC_LDR; 3047 VkBool32 textureCompressionBC; 3048 VkBool32 occlusionQueryPrecise; 3049 VkBool32 pipelineStatisticsQuery; 3050 VkBool32 vertexPipelineStoresAndAtomics; 3051 VkBool32 fragmentStoresAndAtomics; 3052 VkBool32 shaderTessellationAndGeometryPointSize; 3053 VkBool32 shaderImageGatherExtended; 3054 VkBool32 shaderStorageImageExtendedFormats; 3055 VkBool32 shaderStorageImageMultisample; 3056 VkBool32 shaderStorageImageReadWithoutFormat; 3057 VkBool32 shaderStorageImageWriteWithoutFormat; 3058 VkBool32 shaderUniformBufferArrayDynamicIndexing; 3059 VkBool32 shaderSampledImageArrayDynamicIndexing; 3060 VkBool32 shaderStorageBufferArrayDynamicIndexing; 3061 VkBool32 shaderStorageImageArrayDynamicIndexing; 3062 VkBool32 shaderClipDistance; 3063 VkBool32 shaderCullDistance; 3064 VkBool32 shaderFloat64; 3065 VkBool32 shaderInt64; 3066 VkBool32 shaderInt16; 3067 VkBool32 shaderResourceResidency; 3068 VkBool32 shaderResourceMinLod; 3069 VkBool32 sparseBinding; 3070 VkBool32 sparseResidencyBuffer; 3071 VkBool32 sparseResidencyImage2D; 3072 VkBool32 sparseResidencyImage3D; 3073 VkBool32 sparseResidency2Samples; 3074 VkBool32 sparseResidency4Samples; 3075 VkBool32 sparseResidency8Samples; 3076 VkBool32 sparseResidency16Samples; 3077 VkBool32 sparseResidencyAliased; 3078 VkBool32 variableMultisampleRate; 3079 VkBool32 inheritedQueries; 3080 } VkPhysicalDeviceFeatures; 3081 3082 typedef struct VkPhysicalDeviceLimits { 3083 uint32_t maxImageDimension1D; 3084 uint32_t maxImageDimension2D; 3085 uint32_t maxImageDimension3D; 3086 uint32_t maxImageDimensionCube; 3087 uint32_t maxImageArrayLayers; 3088 uint32_t maxTexelBufferElements; 3089 uint32_t maxUniformBufferRange; 3090 uint32_t maxStorageBufferRange; 3091 uint32_t maxPushConstantsSize; 3092 uint32_t maxMemoryAllocationCount; 3093 uint32_t maxSamplerAllocationCount; 3094 VkDeviceSize bufferImageGranularity; 3095 VkDeviceSize sparseAddressSpaceSize; 3096 uint32_t maxBoundDescriptorSets; 3097 uint32_t maxPerStageDescriptorSamplers; 3098 uint32_t maxPerStageDescriptorUniformBuffers; 3099 uint32_t maxPerStageDescriptorStorageBuffers; 3100 uint32_t maxPerStageDescriptorSampledImages; 3101 uint32_t maxPerStageDescriptorStorageImages; 3102 uint32_t maxPerStageDescriptorInputAttachments; 3103 uint32_t maxPerStageResources; 3104 uint32_t maxDescriptorSetSamplers; 3105 uint32_t maxDescriptorSetUniformBuffers; 3106 uint32_t maxDescriptorSetUniformBuffersDynamic; 3107 uint32_t maxDescriptorSetStorageBuffers; 3108 uint32_t maxDescriptorSetStorageBuffersDynamic; 3109 uint32_t maxDescriptorSetSampledImages; 3110 uint32_t maxDescriptorSetStorageImages; 3111 uint32_t maxDescriptorSetInputAttachments; 3112 uint32_t maxVertexInputAttributes; 3113 uint32_t maxVertexInputBindings; 3114 uint32_t maxVertexInputAttributeOffset; 3115 uint32_t maxVertexInputBindingStride; 3116 uint32_t maxVertexOutputComponents; 3117 uint32_t maxTessellationGenerationLevel; 3118 uint32_t maxTessellationPatchSize; 3119 uint32_t maxTessellationControlPerVertexInputComponents; 3120 uint32_t maxTessellationControlPerVertexOutputComponents; 3121 uint32_t maxTessellationControlPerPatchOutputComponents; 3122 uint32_t maxTessellationControlTotalOutputComponents; 3123 uint32_t maxTessellationEvaluationInputComponents; 3124 uint32_t maxTessellationEvaluationOutputComponents; 3125 uint32_t maxGeometryShaderInvocations; 3126 uint32_t maxGeometryInputComponents; 3127 uint32_t maxGeometryOutputComponents; 3128 uint32_t maxGeometryOutputVertices; 3129 uint32_t maxGeometryTotalOutputComponents; 3130 uint32_t maxFragmentInputComponents; 3131 uint32_t maxFragmentOutputAttachments; 3132 uint32_t maxFragmentDualSrcAttachments; 3133 uint32_t maxFragmentCombinedOutputResources; 3134 uint32_t maxComputeSharedMemorySize; 3135 uint32_t maxComputeWorkGroupCount[3]; 3136 uint32_t maxComputeWorkGroupInvocations; 3137 uint32_t maxComputeWorkGroupSize[3]; 3138 uint32_t subPixelPrecisionBits; 3139 uint32_t subTexelPrecisionBits; 3140 uint32_t mipmapPrecisionBits; 3141 uint32_t maxDrawIndexedIndexValue; 3142 uint32_t maxDrawIndirectCount; 3143 float maxSamplerLodBias; 3144 float maxSamplerAnisotropy; 3145 uint32_t maxViewports; 3146 uint32_t maxViewportDimensions[2]; 3147 float viewportBoundsRange[2]; 3148 uint32_t viewportSubPixelBits; 3149 size_t minMemoryMapAlignment; 3150 VkDeviceSize minTexelBufferOffsetAlignment; 3151 VkDeviceSize minUniformBufferOffsetAlignment; 3152 VkDeviceSize minStorageBufferOffsetAlignment; 3153 int32_t minTexelOffset; 3154 uint32_t maxTexelOffset; 3155 int32_t minTexelGatherOffset; 3156 uint32_t maxTexelGatherOffset; 3157 float minInterpolationOffset; 3158 float maxInterpolationOffset; 3159 uint32_t subPixelInterpolationOffsetBits; 3160 uint32_t maxFramebufferWidth; 3161 uint32_t maxFramebufferHeight; 3162 uint32_t maxFramebufferLayers; 3163 VkSampleCountFlags framebufferColorSampleCounts; 3164 VkSampleCountFlags framebufferDepthSampleCounts; 3165 VkSampleCountFlags framebufferStencilSampleCounts; 3166 VkSampleCountFlags framebufferNoAttachmentsSampleCounts; 3167 uint32_t maxColorAttachments; 3168 VkSampleCountFlags sampledImageColorSampleCounts; 3169 VkSampleCountFlags sampledImageIntegerSampleCounts; 3170 VkSampleCountFlags sampledImageDepthSampleCounts; 3171 VkSampleCountFlags sampledImageStencilSampleCounts; 3172 VkSampleCountFlags storageImageSampleCounts; 3173 uint32_t maxSampleMaskWords; 3174 VkBool32 timestampComputeAndGraphics; 3175 float timestampPeriod; 3176 uint32_t maxClipDistances; 3177 uint32_t maxCullDistances; 3178 uint32_t maxCombinedClipAndCullDistances; 3179 uint32_t discreteQueuePriorities; 3180 float pointSizeRange[2]; 3181 float lineWidthRange[2]; 3182 float pointSizeGranularity; 3183 float lineWidthGranularity; 3184 VkBool32 strictLines; 3185 VkBool32 standardSampleLocations; 3186 VkDeviceSize optimalBufferCopyOffsetAlignment; 3187 VkDeviceSize optimalBufferCopyRowPitchAlignment; 3188 VkDeviceSize nonCoherentAtomSize; 3189 } VkPhysicalDeviceLimits; 3190 3191 typedef struct VkPhysicalDeviceMemoryProperties { 3192 uint32_t memoryTypeCount; 3193 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES]; 3194 uint32_t memoryHeapCount; 3195 VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS]; 3196 } VkPhysicalDeviceMemoryProperties; 3197 3198 typedef struct VkPhysicalDeviceSparseProperties { 3199 VkBool32 residencyStandard2DBlockShape; 3200 VkBool32 residencyStandard2DMultisampleBlockShape; 3201 VkBool32 residencyStandard3DBlockShape; 3202 VkBool32 residencyAlignedMipSize; 3203 VkBool32 residencyNonResidentStrict; 3204 } VkPhysicalDeviceSparseProperties; 3205 3206 typedef struct VkPhysicalDeviceProperties { 3207 uint32_t apiVersion; 3208 uint32_t driverVersion; 3209 uint32_t vendorID; 3210 uint32_t deviceID; 3211 VkPhysicalDeviceType deviceType; 3212 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE]; 3213 uint8_t pipelineCacheUUID[VK_UUID_SIZE]; 3214 VkPhysicalDeviceLimits limits; 3215 VkPhysicalDeviceSparseProperties sparseProperties; 3216 } VkPhysicalDeviceProperties; 3217 3218 typedef struct VkQueueFamilyProperties { 3219 VkQueueFlags queueFlags; 3220 uint32_t queueCount; 3221 uint32_t timestampValidBits; 3222 VkExtent3D minImageTransferGranularity; 3223 } VkQueueFamilyProperties; 3224 3225 typedef struct VkDeviceQueueCreateInfo { 3226 VkStructureType sType; 3227 const void* pNext; 3228 VkDeviceQueueCreateFlags flags; 3229 uint32_t queueFamilyIndex; 3230 uint32_t queueCount; 3231 const float* pQueuePriorities; 3232 } VkDeviceQueueCreateInfo; 3233 3234 typedef struct VkDeviceCreateInfo { 3235 VkStructureType sType; 3236 const void* pNext; 3237 VkDeviceCreateFlags flags; 3238 uint32_t queueCreateInfoCount; 3239 const VkDeviceQueueCreateInfo* pQueueCreateInfos; 3240 uint32_t enabledLayerCount; 3241 const char* const* ppEnabledLayerNames; 3242 uint32_t enabledExtensionCount; 3243 const char* const* ppEnabledExtensionNames; 3244 const VkPhysicalDeviceFeatures* pEnabledFeatures; 3245 } VkDeviceCreateInfo; 3246 3247 typedef struct VkExtensionProperties { 3248 char extensionName[VK_MAX_EXTENSION_NAME_SIZE]; 3249 uint32_t specVersion; 3250 } VkExtensionProperties; 3251 3252 typedef struct VkLayerProperties { 3253 char layerName[VK_MAX_EXTENSION_NAME_SIZE]; 3254 uint32_t specVersion; 3255 uint32_t implementationVersion; 3256 char description[VK_MAX_DESCRIPTION_SIZE]; 3257 } VkLayerProperties; 3258 3259 typedef struct VkSubmitInfo { 3260 VkStructureType sType; 3261 const void* pNext; 3262 uint32_t waitSemaphoreCount; 3263 const VkSemaphore* pWaitSemaphores; 3264 const VkPipelineStageFlags* pWaitDstStageMask; 3265 uint32_t commandBufferCount; 3266 const VkCommandBuffer* pCommandBuffers; 3267 uint32_t signalSemaphoreCount; 3268 const VkSemaphore* pSignalSemaphores; 3269 } VkSubmitInfo; 3270 3271 typedef struct VkMappedMemoryRange { 3272 VkStructureType sType; 3273 const void* pNext; 3274 VkDeviceMemory memory; 3275 VkDeviceSize offset; 3276 VkDeviceSize size; 3277 } VkMappedMemoryRange; 3278 3279 typedef struct VkMemoryAllocateInfo { 3280 VkStructureType sType; 3281 const void* pNext; 3282 VkDeviceSize allocationSize; 3283 uint32_t memoryTypeIndex; 3284 } VkMemoryAllocateInfo; 3285 3286 typedef struct VkMemoryRequirements { 3287 VkDeviceSize size; 3288 VkDeviceSize alignment; 3289 uint32_t memoryTypeBits; 3290 } VkMemoryRequirements; 3291 3292 typedef struct VkSparseMemoryBind { 3293 VkDeviceSize resourceOffset; 3294 VkDeviceSize size; 3295 VkDeviceMemory memory; 3296 VkDeviceSize memoryOffset; 3297 VkSparseMemoryBindFlags flags; 3298 } VkSparseMemoryBind; 3299 3300 typedef struct VkSparseBufferMemoryBindInfo { 3301 VkBuffer buffer; 3302 uint32_t bindCount; 3303 const VkSparseMemoryBind* pBinds; 3304 } VkSparseBufferMemoryBindInfo; 3305 3306 typedef struct VkSparseImageOpaqueMemoryBindInfo { 3307 VkImage image; 3308 uint32_t bindCount; 3309 const VkSparseMemoryBind* pBinds; 3310 } VkSparseImageOpaqueMemoryBindInfo; 3311 3312 typedef struct VkImageSubresource { 3313 VkImageAspectFlags aspectMask; 3314 uint32_t mipLevel; 3315 uint32_t arrayLayer; 3316 } VkImageSubresource; 3317 3318 typedef struct VkSparseImageMemoryBind { 3319 VkImageSubresource subresource; 3320 VkOffset3D offset; 3321 VkExtent3D extent; 3322 VkDeviceMemory memory; 3323 VkDeviceSize memoryOffset; 3324 VkSparseMemoryBindFlags flags; 3325 } VkSparseImageMemoryBind; 3326 3327 typedef struct VkSparseImageMemoryBindInfo { 3328 VkImage image; 3329 uint32_t bindCount; 3330 const VkSparseImageMemoryBind* pBinds; 3331 } VkSparseImageMemoryBindInfo; 3332 3333 typedef struct VkBindSparseInfo { 3334 VkStructureType sType; 3335 const void* pNext; 3336 uint32_t waitSemaphoreCount; 3337 const VkSemaphore* pWaitSemaphores; 3338 uint32_t bufferBindCount; 3339 const VkSparseBufferMemoryBindInfo* pBufferBinds; 3340 uint32_t imageOpaqueBindCount; 3341 const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds; 3342 uint32_t imageBindCount; 3343 const VkSparseImageMemoryBindInfo* pImageBinds; 3344 uint32_t signalSemaphoreCount; 3345 const VkSemaphore* pSignalSemaphores; 3346 } VkBindSparseInfo; 3347 3348 typedef struct VkSparseImageFormatProperties { 3349 VkImageAspectFlags aspectMask; 3350 VkExtent3D imageGranularity; 3351 VkSparseImageFormatFlags flags; 3352 } VkSparseImageFormatProperties; 3353 3354 typedef struct VkSparseImageMemoryRequirements { 3355 VkSparseImageFormatProperties formatProperties; 3356 uint32_t imageMipTailFirstLod; 3357 VkDeviceSize imageMipTailSize; 3358 VkDeviceSize imageMipTailOffset; 3359 VkDeviceSize imageMipTailStride; 3360 } VkSparseImageMemoryRequirements; 3361 3362 typedef struct VkFenceCreateInfo { 3363 VkStructureType sType; 3364 const void* pNext; 3365 VkFenceCreateFlags flags; 3366 } VkFenceCreateInfo; 3367 3368 typedef struct VkSemaphoreCreateInfo { 3369 VkStructureType sType; 3370 const void* pNext; 3371 VkSemaphoreCreateFlags flags; 3372 } VkSemaphoreCreateInfo; 3373 3374 typedef struct VkEventCreateInfo { 3375 VkStructureType sType; 3376 const void* pNext; 3377 VkEventCreateFlags flags; 3378 } VkEventCreateInfo; 3379 3380 typedef struct VkQueryPoolCreateInfo { 3381 VkStructureType sType; 3382 const void* pNext; 3383 VkQueryPoolCreateFlags flags; 3384 VkQueryType queryType; 3385 uint32_t queryCount; 3386 VkQueryPipelineStatisticFlags pipelineStatistics; 3387 } VkQueryPoolCreateInfo; 3388 3389 typedef struct VkBufferCreateInfo { 3390 VkStructureType sType; 3391 const void* pNext; 3392 VkBufferCreateFlags flags; 3393 VkDeviceSize size; 3394 VkBufferUsageFlags usage; 3395 VkSharingMode sharingMode; 3396 uint32_t queueFamilyIndexCount; 3397 const uint32_t* pQueueFamilyIndices; 3398 } VkBufferCreateInfo; 3399 3400 typedef struct VkBufferViewCreateInfo { 3401 VkStructureType sType; 3402 const void* pNext; 3403 VkBufferViewCreateFlags flags; 3404 VkBuffer buffer; 3405 VkFormat format; 3406 VkDeviceSize offset; 3407 VkDeviceSize range; 3408 } VkBufferViewCreateInfo; 3409 3410 typedef struct VkImageCreateInfo { 3411 VkStructureType sType; 3412 const void* pNext; 3413 VkImageCreateFlags flags; 3414 VkImageType imageType; 3415 VkFormat format; 3416 VkExtent3D extent; 3417 uint32_t mipLevels; 3418 uint32_t arrayLayers; 3419 VkSampleCountFlagBits samples; 3420 VkImageTiling tiling; 3421 VkImageUsageFlags usage; 3422 VkSharingMode sharingMode; 3423 uint32_t queueFamilyIndexCount; 3424 const uint32_t* pQueueFamilyIndices; 3425 VkImageLayout initialLayout; 3426 } VkImageCreateInfo; 3427 3428 typedef struct VkSubresourceLayout { 3429 VkDeviceSize offset; 3430 VkDeviceSize size; 3431 VkDeviceSize rowPitch; 3432 VkDeviceSize arrayPitch; 3433 VkDeviceSize depthPitch; 3434 } VkSubresourceLayout; 3435 3436 typedef struct VkComponentMapping { 3437 VkComponentSwizzle r; 3438 VkComponentSwizzle g; 3439 VkComponentSwizzle b; 3440 VkComponentSwizzle a; 3441 } VkComponentMapping; 3442 3443 typedef struct VkImageViewCreateInfo { 3444 VkStructureType sType; 3445 const void* pNext; 3446 VkImageViewCreateFlags flags; 3447 VkImage image; 3448 VkImageViewType viewType; 3449 VkFormat format; 3450 VkComponentMapping components; 3451 VkImageSubresourceRange subresourceRange; 3452 } VkImageViewCreateInfo; 3453 3454 typedef struct VkShaderModuleCreateInfo { 3455 VkStructureType sType; 3456 const void* pNext; 3457 VkShaderModuleCreateFlags flags; 3458 size_t codeSize; 3459 const uint32_t* pCode; 3460 } VkShaderModuleCreateInfo; 3461 3462 typedef struct VkPipelineCacheCreateInfo { 3463 VkStructureType sType; 3464 const void* pNext; 3465 VkPipelineCacheCreateFlags flags; 3466 size_t initialDataSize; 3467 const void* pInitialData; 3468 } VkPipelineCacheCreateInfo; 3469 3470 typedef struct VkSpecializationMapEntry { 3471 uint32_t constantID; 3472 uint32_t offset; 3473 size_t size; 3474 } VkSpecializationMapEntry; 3475 3476 typedef struct VkSpecializationInfo { 3477 uint32_t mapEntryCount; 3478 const VkSpecializationMapEntry* pMapEntries; 3479 size_t dataSize; 3480 const void* pData; 3481 } VkSpecializationInfo; 3482 3483 typedef struct VkPipelineShaderStageCreateInfo { 3484 VkStructureType sType; 3485 const void* pNext; 3486 VkPipelineShaderStageCreateFlags flags; 3487 VkShaderStageFlagBits stage; 3488 VkShaderModule module; 3489 const char* pName; 3490 const VkSpecializationInfo* pSpecializationInfo; 3491 } VkPipelineShaderStageCreateInfo; 3492 3493 typedef struct VkComputePipelineCreateInfo { 3494 VkStructureType sType; 3495 const void* pNext; 3496 VkPipelineCreateFlags flags; 3497 VkPipelineShaderStageCreateInfo stage; 3498 VkPipelineLayout layout; 3499 VkPipeline basePipelineHandle; 3500 int32_t basePipelineIndex; 3501 } VkComputePipelineCreateInfo; 3502 3503 typedef struct VkVertexInputBindingDescription { 3504 uint32_t binding; 3505 uint32_t stride; 3506 VkVertexInputRate inputRate; 3507 } VkVertexInputBindingDescription; 3508 3509 typedef struct VkVertexInputAttributeDescription { 3510 uint32_t location; 3511 uint32_t binding; 3512 VkFormat format; 3513 uint32_t offset; 3514 } VkVertexInputAttributeDescription; 3515 3516 typedef struct VkPipelineVertexInputStateCreateInfo { 3517 VkStructureType sType; 3518 const void* pNext; 3519 VkPipelineVertexInputStateCreateFlags flags; 3520 uint32_t vertexBindingDescriptionCount; 3521 const VkVertexInputBindingDescription* pVertexBindingDescriptions; 3522 uint32_t vertexAttributeDescriptionCount; 3523 const VkVertexInputAttributeDescription* pVertexAttributeDescriptions; 3524 } VkPipelineVertexInputStateCreateInfo; 3525 3526 typedef struct VkPipelineInputAssemblyStateCreateInfo { 3527 VkStructureType sType; 3528 const void* pNext; 3529 VkPipelineInputAssemblyStateCreateFlags flags; 3530 VkPrimitiveTopology topology; 3531 VkBool32 primitiveRestartEnable; 3532 } VkPipelineInputAssemblyStateCreateInfo; 3533 3534 typedef struct VkPipelineTessellationStateCreateInfo { 3535 VkStructureType sType; 3536 const void* pNext; 3537 VkPipelineTessellationStateCreateFlags flags; 3538 uint32_t patchControlPoints; 3539 } VkPipelineTessellationStateCreateInfo; 3540 3541 typedef struct VkViewport { 3542 float x; 3543 float y; 3544 float width; 3545 float height; 3546 float minDepth; 3547 float maxDepth; 3548 } VkViewport; 3549 3550 typedef struct VkPipelineViewportStateCreateInfo { 3551 VkStructureType sType; 3552 const void* pNext; 3553 VkPipelineViewportStateCreateFlags flags; 3554 uint32_t viewportCount; 3555 const VkViewport* pViewports; 3556 uint32_t scissorCount; 3557 const VkRect2D* pScissors; 3558 } VkPipelineViewportStateCreateInfo; 3559 3560 typedef struct VkPipelineRasterizationStateCreateInfo { 3561 VkStructureType sType; 3562 const void* pNext; 3563 VkPipelineRasterizationStateCreateFlags flags; 3564 VkBool32 depthClampEnable; 3565 VkBool32 rasterizerDiscardEnable; 3566 VkPolygonMode polygonMode; 3567 VkCullModeFlags cullMode; 3568 VkFrontFace frontFace; 3569 VkBool32 depthBiasEnable; 3570 float depthBiasConstantFactor; 3571 float depthBiasClamp; 3572 float depthBiasSlopeFactor; 3573 float lineWidth; 3574 } VkPipelineRasterizationStateCreateInfo; 3575 3576 typedef struct VkPipelineMultisampleStateCreateInfo { 3577 VkStructureType sType; 3578 const void* pNext; 3579 VkPipelineMultisampleStateCreateFlags flags; 3580 VkSampleCountFlagBits rasterizationSamples; 3581 VkBool32 sampleShadingEnable; 3582 float minSampleShading; 3583 const VkSampleMask* pSampleMask; 3584 VkBool32 alphaToCoverageEnable; 3585 VkBool32 alphaToOneEnable; 3586 } VkPipelineMultisampleStateCreateInfo; 3587 3588 typedef struct VkStencilOpState { 3589 VkStencilOp failOp; 3590 VkStencilOp passOp; 3591 VkStencilOp depthFailOp; 3592 VkCompareOp compareOp; 3593 uint32_t compareMask; 3594 uint32_t writeMask; 3595 uint32_t reference; 3596 } VkStencilOpState; 3597 3598 typedef struct VkPipelineDepthStencilStateCreateInfo { 3599 VkStructureType sType; 3600 const void* pNext; 3601 VkPipelineDepthStencilStateCreateFlags flags; 3602 VkBool32 depthTestEnable; 3603 VkBool32 depthWriteEnable; 3604 VkCompareOp depthCompareOp; 3605 VkBool32 depthBoundsTestEnable; 3606 VkBool32 stencilTestEnable; 3607 VkStencilOpState front; 3608 VkStencilOpState back; 3609 float minDepthBounds; 3610 float maxDepthBounds; 3611 } VkPipelineDepthStencilStateCreateInfo; 3612 3613 typedef struct VkPipelineColorBlendAttachmentState { 3614 VkBool32 blendEnable; 3615 VkBlendFactor srcColorBlendFactor; 3616 VkBlendFactor dstColorBlendFactor; 3617 VkBlendOp colorBlendOp; 3618 VkBlendFactor srcAlphaBlendFactor; 3619 VkBlendFactor dstAlphaBlendFactor; 3620 VkBlendOp alphaBlendOp; 3621 VkColorComponentFlags colorWriteMask; 3622 } VkPipelineColorBlendAttachmentState; 3623 3624 typedef struct VkPipelineColorBlendStateCreateInfo { 3625 VkStructureType sType; 3626 const void* pNext; 3627 VkPipelineColorBlendStateCreateFlags flags; 3628 VkBool32 logicOpEnable; 3629 VkLogicOp logicOp; 3630 uint32_t attachmentCount; 3631 const VkPipelineColorBlendAttachmentState* pAttachments; 3632 float blendConstants[4]; 3633 } VkPipelineColorBlendStateCreateInfo; 3634 3635 typedef struct VkPipelineDynamicStateCreateInfo { 3636 VkStructureType sType; 3637 const void* pNext; 3638 VkPipelineDynamicStateCreateFlags flags; 3639 uint32_t dynamicStateCount; 3640 const VkDynamicState* pDynamicStates; 3641 } VkPipelineDynamicStateCreateInfo; 3642 3643 typedef struct VkGraphicsPipelineCreateInfo { 3644 VkStructureType sType; 3645 const void* pNext; 3646 VkPipelineCreateFlags flags; 3647 uint32_t stageCount; 3648 const VkPipelineShaderStageCreateInfo* pStages; 3649 const VkPipelineVertexInputStateCreateInfo* pVertexInputState; 3650 const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState; 3651 const VkPipelineTessellationStateCreateInfo* pTessellationState; 3652 const VkPipelineViewportStateCreateInfo* pViewportState; 3653 const VkPipelineRasterizationStateCreateInfo* pRasterizationState; 3654 const VkPipelineMultisampleStateCreateInfo* pMultisampleState; 3655 const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState; 3656 const VkPipelineColorBlendStateCreateInfo* pColorBlendState; 3657 const VkPipelineDynamicStateCreateInfo* pDynamicState; 3658 VkPipelineLayout layout; 3659 VkRenderPass renderPass; 3660 uint32_t subpass; 3661 VkPipeline basePipelineHandle; 3662 int32_t basePipelineIndex; 3663 } VkGraphicsPipelineCreateInfo; 3664 3665 typedef struct VkPushConstantRange { 3666 VkShaderStageFlags stageFlags; 3667 uint32_t offset; 3668 uint32_t size; 3669 } VkPushConstantRange; 3670 3671 typedef struct VkPipelineLayoutCreateInfo { 3672 VkStructureType sType; 3673 const void* pNext; 3674 VkPipelineLayoutCreateFlags flags; 3675 uint32_t setLayoutCount; 3676 const VkDescriptorSetLayout* pSetLayouts; 3677 uint32_t pushConstantRangeCount; 3678 const VkPushConstantRange* pPushConstantRanges; 3679 } VkPipelineLayoutCreateInfo; 3680 3681 typedef struct VkSamplerCreateInfo { 3682 VkStructureType sType; 3683 const void* pNext; 3684 VkSamplerCreateFlags flags; 3685 VkFilter magFilter; 3686 VkFilter minFilter; 3687 VkSamplerMipmapMode mipmapMode; 3688 VkSamplerAddressMode addressModeU; 3689 VkSamplerAddressMode addressModeV; 3690 VkSamplerAddressMode addressModeW; 3691 float mipLodBias; 3692 VkBool32 anisotropyEnable; 3693 float maxAnisotropy; 3694 VkBool32 compareEnable; 3695 VkCompareOp compareOp; 3696 float minLod; 3697 float maxLod; 3698 VkBorderColor borderColor; 3699 VkBool32 unnormalizedCoordinates; 3700 } VkSamplerCreateInfo; 3701 3702 typedef struct VkCopyDescriptorSet { 3703 VkStructureType sType; 3704 const void* pNext; 3705 VkDescriptorSet srcSet; 3706 uint32_t srcBinding; 3707 uint32_t srcArrayElement; 3708 VkDescriptorSet dstSet; 3709 uint32_t dstBinding; 3710 uint32_t dstArrayElement; 3711 uint32_t descriptorCount; 3712 } VkCopyDescriptorSet; 3713 3714 typedef struct VkDescriptorBufferInfo { 3715 VkBuffer buffer; 3716 VkDeviceSize offset; 3717 VkDeviceSize range; 3718 } VkDescriptorBufferInfo; 3719 3720 typedef struct VkDescriptorImageInfo { 3721 VkSampler sampler; 3722 VkImageView imageView; 3723 VkImageLayout imageLayout; 3724 } VkDescriptorImageInfo; 3725 3726 typedef struct VkDescriptorPoolSize { 3727 VkDescriptorType type; 3728 uint32_t descriptorCount; 3729 } VkDescriptorPoolSize; 3730 3731 typedef struct VkDescriptorPoolCreateInfo { 3732 VkStructureType sType; 3733 const void* pNext; 3734 VkDescriptorPoolCreateFlags flags; 3735 uint32_t maxSets; 3736 uint32_t poolSizeCount; 3737 const VkDescriptorPoolSize* pPoolSizes; 3738 } VkDescriptorPoolCreateInfo; 3739 3740 typedef struct VkDescriptorSetAllocateInfo { 3741 VkStructureType sType; 3742 const void* pNext; 3743 VkDescriptorPool descriptorPool; 3744 uint32_t descriptorSetCount; 3745 const VkDescriptorSetLayout* pSetLayouts; 3746 } VkDescriptorSetAllocateInfo; 3747 3748 typedef struct VkDescriptorSetLayoutBinding { 3749 uint32_t binding; 3750 VkDescriptorType descriptorType; 3751 uint32_t descriptorCount; 3752 VkShaderStageFlags stageFlags; 3753 const VkSampler* pImmutableSamplers; 3754 } VkDescriptorSetLayoutBinding; 3755 3756 typedef struct VkDescriptorSetLayoutCreateInfo { 3757 VkStructureType sType; 3758 const void* pNext; 3759 VkDescriptorSetLayoutCreateFlags flags; 3760 uint32_t bindingCount; 3761 const VkDescriptorSetLayoutBinding* pBindings; 3762 } VkDescriptorSetLayoutCreateInfo; 3763 3764 typedef struct VkWriteDescriptorSet { 3765 VkStructureType sType; 3766 const void* pNext; 3767 VkDescriptorSet dstSet; 3768 uint32_t dstBinding; 3769 uint32_t dstArrayElement; 3770 uint32_t descriptorCount; 3771 VkDescriptorType descriptorType; 3772 const VkDescriptorImageInfo* pImageInfo; 3773 const VkDescriptorBufferInfo* pBufferInfo; 3774 const VkBufferView* pTexelBufferView; 3775 } VkWriteDescriptorSet; 3776 3777 typedef struct VkAttachmentDescription { 3778 VkAttachmentDescriptionFlags flags; 3779 VkFormat format; 3780 VkSampleCountFlagBits samples; 3781 VkAttachmentLoadOp loadOp; 3782 VkAttachmentStoreOp storeOp; 3783 VkAttachmentLoadOp stencilLoadOp; 3784 VkAttachmentStoreOp stencilStoreOp; 3785 VkImageLayout initialLayout; 3786 VkImageLayout finalLayout; 3787 } VkAttachmentDescription; 3788 3789 typedef struct VkAttachmentReference { 3790 uint32_t attachment; 3791 VkImageLayout layout; 3792 } VkAttachmentReference; 3793 3794 typedef struct VkFramebufferCreateInfo { 3795 VkStructureType sType; 3796 const void* pNext; 3797 VkFramebufferCreateFlags flags; 3798 VkRenderPass renderPass; 3799 uint32_t attachmentCount; 3800 const VkImageView* pAttachments; 3801 uint32_t width; 3802 uint32_t height; 3803 uint32_t layers; 3804 } VkFramebufferCreateInfo; 3805 3806 typedef struct VkSubpassDescription { 3807 VkSubpassDescriptionFlags flags; 3808 VkPipelineBindPoint pipelineBindPoint; 3809 uint32_t inputAttachmentCount; 3810 const VkAttachmentReference* pInputAttachments; 3811 uint32_t colorAttachmentCount; 3812 const VkAttachmentReference* pColorAttachments; 3813 const VkAttachmentReference* pResolveAttachments; 3814 const VkAttachmentReference* pDepthStencilAttachment; 3815 uint32_t preserveAttachmentCount; 3816 const uint32_t* pPreserveAttachments; 3817 } VkSubpassDescription; 3818 3819 typedef struct VkSubpassDependency { 3820 uint32_t srcSubpass; 3821 uint32_t dstSubpass; 3822 VkPipelineStageFlags srcStageMask; 3823 VkPipelineStageFlags dstStageMask; 3824 VkAccessFlags srcAccessMask; 3825 VkAccessFlags dstAccessMask; 3826 VkDependencyFlags dependencyFlags; 3827 } VkSubpassDependency; 3828 3829 typedef struct VkRenderPassCreateInfo { 3830 VkStructureType sType; 3831 const void* pNext; 3832 VkRenderPassCreateFlags flags; 3833 uint32_t attachmentCount; 3834 const VkAttachmentDescription* pAttachments; 3835 uint32_t subpassCount; 3836 const VkSubpassDescription* pSubpasses; 3837 uint32_t dependencyCount; 3838 const VkSubpassDependency* pDependencies; 3839 } VkRenderPassCreateInfo; 3840 3841 typedef struct VkCommandPoolCreateInfo { 3842 VkStructureType sType; 3843 const void* pNext; 3844 VkCommandPoolCreateFlags flags; 3845 uint32_t queueFamilyIndex; 3846 } VkCommandPoolCreateInfo; 3847 3848 typedef struct VkCommandBufferAllocateInfo { 3849 VkStructureType sType; 3850 const void* pNext; 3851 VkCommandPool commandPool; 3852 VkCommandBufferLevel level; 3853 uint32_t commandBufferCount; 3854 } VkCommandBufferAllocateInfo; 3855 3856 typedef struct VkCommandBufferInheritanceInfo { 3857 VkStructureType sType; 3858 const void* pNext; 3859 VkRenderPass renderPass; 3860 uint32_t subpass; 3861 VkFramebuffer framebuffer; 3862 VkBool32 occlusionQueryEnable; 3863 VkQueryControlFlags queryFlags; 3864 VkQueryPipelineStatisticFlags pipelineStatistics; 3865 } VkCommandBufferInheritanceInfo; 3866 3867 typedef struct VkCommandBufferBeginInfo { 3868 VkStructureType sType; 3869 const void* pNext; 3870 VkCommandBufferUsageFlags flags; 3871 const VkCommandBufferInheritanceInfo* pInheritanceInfo; 3872 } VkCommandBufferBeginInfo; 3873 3874 typedef struct VkBufferCopy { 3875 VkDeviceSize srcOffset; 3876 VkDeviceSize dstOffset; 3877 VkDeviceSize size; 3878 } VkBufferCopy; 3879 3880 typedef struct VkImageSubresourceLayers { 3881 VkImageAspectFlags aspectMask; 3882 uint32_t mipLevel; 3883 uint32_t baseArrayLayer; 3884 uint32_t layerCount; 3885 } VkImageSubresourceLayers; 3886 3887 typedef struct VkBufferImageCopy { 3888 VkDeviceSize bufferOffset; 3889 uint32_t bufferRowLength; 3890 uint32_t bufferImageHeight; 3891 VkImageSubresourceLayers imageSubresource; 3892 VkOffset3D imageOffset; 3893 VkExtent3D imageExtent; 3894 } VkBufferImageCopy; 3895 3896 typedef union VkClearColorValue { 3897 float float32[4]; 3898 int32_t int32[4]; 3899 uint32_t uint32[4]; 3900 } VkClearColorValue; 3901 3902 typedef struct VkClearDepthStencilValue { 3903 float depth; 3904 uint32_t stencil; 3905 } VkClearDepthStencilValue; 3906 3907 typedef union VkClearValue { 3908 VkClearColorValue color; 3909 VkClearDepthStencilValue depthStencil; 3910 } VkClearValue; 3911 3912 typedef struct VkClearAttachment { 3913 VkImageAspectFlags aspectMask; 3914 uint32_t colorAttachment; 3915 VkClearValue clearValue; 3916 } VkClearAttachment; 3917 3918 typedef struct VkClearRect { 3919 VkRect2D rect; 3920 uint32_t baseArrayLayer; 3921 uint32_t layerCount; 3922 } VkClearRect; 3923 3924 typedef struct VkImageBlit { 3925 VkImageSubresourceLayers srcSubresource; 3926 VkOffset3D srcOffsets[2]; 3927 VkImageSubresourceLayers dstSubresource; 3928 VkOffset3D dstOffsets[2]; 3929 } VkImageBlit; 3930 3931 typedef struct VkImageCopy { 3932 VkImageSubresourceLayers srcSubresource; 3933 VkOffset3D srcOffset; 3934 VkImageSubresourceLayers dstSubresource; 3935 VkOffset3D dstOffset; 3936 VkExtent3D extent; 3937 } VkImageCopy; 3938 3939 typedef struct VkImageResolve { 3940 VkImageSubresourceLayers srcSubresource; 3941 VkOffset3D srcOffset; 3942 VkImageSubresourceLayers dstSubresource; 3943 VkOffset3D dstOffset; 3944 VkExtent3D extent; 3945 } VkImageResolve; 3946 3947 typedef struct VkRenderPassBeginInfo { 3948 VkStructureType sType; 3949 const void* pNext; 3950 VkRenderPass renderPass; 3951 VkFramebuffer framebuffer; 3952 VkRect2D renderArea; 3953 uint32_t clearValueCount; 3954 const VkClearValue* pClearValues; 3955 } VkRenderPassBeginInfo; 3956 3957 typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance); 3958 typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator); 3959 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices); 3960 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures); 3961 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties); 3962 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties); 3963 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties); 3964 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties); 3965 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties); 3966 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName); 3967 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName); 3968 typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice); 3969 typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator); 3970 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties); 3971 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties); 3972 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(uint32_t* pPropertyCount, VkLayerProperties* pProperties); 3973 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties); 3974 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue); 3975 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence); 3976 typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue); 3977 typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device); 3978 typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory); 3979 typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator); 3980 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData); 3981 typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory); 3982 typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges); 3983 typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges); 3984 typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes); 3985 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset); 3986 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset); 3987 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements); 3988 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements); 3989 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements); 3990 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties); 3991 typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence); 3992 typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); 3993 typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator); 3994 typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences); 3995 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence); 3996 typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout); 3997 typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore); 3998 typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator); 3999 typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent); 4000 typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator); 4001 typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event); 4002 typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event); 4003 typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event); 4004 typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool); 4005 typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator); 4006 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); 4007 typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer); 4008 typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator); 4009 typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView); 4010 typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator); 4011 typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage); 4012 typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator); 4013 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout); 4014 typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView); 4015 typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator); 4016 typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule); 4017 typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator); 4018 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache); 4019 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator); 4020 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData); 4021 typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches); 4022 typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 4023 typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 4024 typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator); 4025 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout); 4026 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator); 4027 typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler); 4028 typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator); 4029 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout); 4030 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator); 4031 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool); 4032 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator); 4033 typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags); 4034 typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets); 4035 typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets); 4036 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies); 4037 typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer); 4038 typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator); 4039 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); 4040 typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator); 4041 typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity); 4042 typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool); 4043 typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator); 4044 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags); 4045 typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers); 4046 typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers); 4047 typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo); 4048 typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer); 4049 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags); 4050 typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline); 4051 typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports); 4052 typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors); 4053 typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth); 4054 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor); 4055 typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]); 4056 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds); 4057 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask); 4058 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask); 4059 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference); 4060 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); 4061 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType); 4062 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets); 4063 typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance); 4064 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance); 4065 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); 4066 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); 4067 typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ); 4068 typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset); 4069 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions); 4070 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions); 4071 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter); 4072 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions); 4073 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions); 4074 typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData); 4075 typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data); 4076 typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); 4077 typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); 4078 typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects); 4079 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions); 4080 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask); 4081 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask); 4082 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); 4083 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); 4084 typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags); 4085 typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query); 4086 typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount); 4087 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query); 4088 typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags); 4089 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues); 4090 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents); 4091 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents); 4092 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer); 4093 typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers); 4094 4095 #ifndef VK_NO_PROTOTYPES 4096 VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance( 4097 const VkInstanceCreateInfo* pCreateInfo, 4098 const VkAllocationCallbacks* pAllocator, 4099 VkInstance* pInstance); 4100 4101 VKAPI_ATTR void VKAPI_CALL vkDestroyInstance( 4102 VkInstance instance, 4103 const VkAllocationCallbacks* pAllocator); 4104 4105 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices( 4106 VkInstance instance, 4107 uint32_t* pPhysicalDeviceCount, 4108 VkPhysicalDevice* pPhysicalDevices); 4109 4110 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures( 4111 VkPhysicalDevice physicalDevice, 4112 VkPhysicalDeviceFeatures* pFeatures); 4113 4114 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties( 4115 VkPhysicalDevice physicalDevice, 4116 VkFormat format, 4117 VkFormatProperties* pFormatProperties); 4118 4119 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties( 4120 VkPhysicalDevice physicalDevice, 4121 VkFormat format, 4122 VkImageType type, 4123 VkImageTiling tiling, 4124 VkImageUsageFlags usage, 4125 VkImageCreateFlags flags, 4126 VkImageFormatProperties* pImageFormatProperties); 4127 4128 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties( 4129 VkPhysicalDevice physicalDevice, 4130 VkPhysicalDeviceProperties* pProperties); 4131 4132 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties( 4133 VkPhysicalDevice physicalDevice, 4134 uint32_t* pQueueFamilyPropertyCount, 4135 VkQueueFamilyProperties* pQueueFamilyProperties); 4136 4137 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties( 4138 VkPhysicalDevice physicalDevice, 4139 VkPhysicalDeviceMemoryProperties* pMemoryProperties); 4140 4141 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr( 4142 VkInstance instance, 4143 const char* pName); 4144 4145 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr( 4146 VkDevice device, 4147 const char* pName); 4148 4149 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice( 4150 VkPhysicalDevice physicalDevice, 4151 const VkDeviceCreateInfo* pCreateInfo, 4152 const VkAllocationCallbacks* pAllocator, 4153 VkDevice* pDevice); 4154 4155 VKAPI_ATTR void VKAPI_CALL vkDestroyDevice( 4156 VkDevice device, 4157 const VkAllocationCallbacks* pAllocator); 4158 4159 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties( 4160 const char* pLayerName, 4161 uint32_t* pPropertyCount, 4162 VkExtensionProperties* pProperties); 4163 4164 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties( 4165 VkPhysicalDevice physicalDevice, 4166 const char* pLayerName, 4167 uint32_t* pPropertyCount, 4168 VkExtensionProperties* pProperties); 4169 4170 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties( 4171 uint32_t* pPropertyCount, 4172 VkLayerProperties* pProperties); 4173 4174 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties( 4175 VkPhysicalDevice physicalDevice, 4176 uint32_t* pPropertyCount, 4177 VkLayerProperties* pProperties); 4178 4179 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue( 4180 VkDevice device, 4181 uint32_t queueFamilyIndex, 4182 uint32_t queueIndex, 4183 VkQueue* pQueue); 4184 4185 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit( 4186 VkQueue queue, 4187 uint32_t submitCount, 4188 const VkSubmitInfo* pSubmits, 4189 VkFence fence); 4190 4191 VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle( 4192 VkQueue queue); 4193 4194 VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle( 4195 VkDevice device); 4196 4197 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory( 4198 VkDevice device, 4199 const VkMemoryAllocateInfo* pAllocateInfo, 4200 const VkAllocationCallbacks* pAllocator, 4201 VkDeviceMemory* pMemory); 4202 4203 VKAPI_ATTR void VKAPI_CALL vkFreeMemory( 4204 VkDevice device, 4205 VkDeviceMemory memory, 4206 const VkAllocationCallbacks* pAllocator); 4207 4208 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory( 4209 VkDevice device, 4210 VkDeviceMemory memory, 4211 VkDeviceSize offset, 4212 VkDeviceSize size, 4213 VkMemoryMapFlags flags, 4214 void** ppData); 4215 4216 VKAPI_ATTR void VKAPI_CALL vkUnmapMemory( 4217 VkDevice device, 4218 VkDeviceMemory memory); 4219 4220 VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges( 4221 VkDevice device, 4222 uint32_t memoryRangeCount, 4223 const VkMappedMemoryRange* pMemoryRanges); 4224 4225 VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges( 4226 VkDevice device, 4227 uint32_t memoryRangeCount, 4228 const VkMappedMemoryRange* pMemoryRanges); 4229 4230 VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment( 4231 VkDevice device, 4232 VkDeviceMemory memory, 4233 VkDeviceSize* pCommittedMemoryInBytes); 4234 4235 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory( 4236 VkDevice device, 4237 VkBuffer buffer, 4238 VkDeviceMemory memory, 4239 VkDeviceSize memoryOffset); 4240 4241 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory( 4242 VkDevice device, 4243 VkImage image, 4244 VkDeviceMemory memory, 4245 VkDeviceSize memoryOffset); 4246 4247 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements( 4248 VkDevice device, 4249 VkBuffer buffer, 4250 VkMemoryRequirements* pMemoryRequirements); 4251 4252 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements( 4253 VkDevice device, 4254 VkImage image, 4255 VkMemoryRequirements* pMemoryRequirements); 4256 4257 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements( 4258 VkDevice device, 4259 VkImage image, 4260 uint32_t* pSparseMemoryRequirementCount, 4261 VkSparseImageMemoryRequirements* pSparseMemoryRequirements); 4262 4263 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties( 4264 VkPhysicalDevice physicalDevice, 4265 VkFormat format, 4266 VkImageType type, 4267 VkSampleCountFlagBits samples, 4268 VkImageUsageFlags usage, 4269 VkImageTiling tiling, 4270 uint32_t* pPropertyCount, 4271 VkSparseImageFormatProperties* pProperties); 4272 4273 VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse( 4274 VkQueue queue, 4275 uint32_t bindInfoCount, 4276 const VkBindSparseInfo* pBindInfo, 4277 VkFence fence); 4278 4279 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence( 4280 VkDevice device, 4281 const VkFenceCreateInfo* pCreateInfo, 4282 const VkAllocationCallbacks* pAllocator, 4283 VkFence* pFence); 4284 4285 VKAPI_ATTR void VKAPI_CALL vkDestroyFence( 4286 VkDevice device, 4287 VkFence fence, 4288 const VkAllocationCallbacks* pAllocator); 4289 4290 VKAPI_ATTR VkResult VKAPI_CALL vkResetFences( 4291 VkDevice device, 4292 uint32_t fenceCount, 4293 const VkFence* pFences); 4294 4295 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus( 4296 VkDevice device, 4297 VkFence fence); 4298 4299 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences( 4300 VkDevice device, 4301 uint32_t fenceCount, 4302 const VkFence* pFences, 4303 VkBool32 waitAll, 4304 uint64_t timeout); 4305 4306 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore( 4307 VkDevice device, 4308 const VkSemaphoreCreateInfo* pCreateInfo, 4309 const VkAllocationCallbacks* pAllocator, 4310 VkSemaphore* pSemaphore); 4311 4312 VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore( 4313 VkDevice device, 4314 VkSemaphore semaphore, 4315 const VkAllocationCallbacks* pAllocator); 4316 4317 VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent( 4318 VkDevice device, 4319 const VkEventCreateInfo* pCreateInfo, 4320 const VkAllocationCallbacks* pAllocator, 4321 VkEvent* pEvent); 4322 4323 VKAPI_ATTR void VKAPI_CALL vkDestroyEvent( 4324 VkDevice device, 4325 VkEvent event, 4326 const VkAllocationCallbacks* pAllocator); 4327 4328 VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus( 4329 VkDevice device, 4330 VkEvent event); 4331 4332 VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent( 4333 VkDevice device, 4334 VkEvent event); 4335 4336 VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent( 4337 VkDevice device, 4338 VkEvent event); 4339 4340 VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool( 4341 VkDevice device, 4342 const VkQueryPoolCreateInfo* pCreateInfo, 4343 const VkAllocationCallbacks* pAllocator, 4344 VkQueryPool* pQueryPool); 4345 4346 VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool( 4347 VkDevice device, 4348 VkQueryPool queryPool, 4349 const VkAllocationCallbacks* pAllocator); 4350 4351 VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults( 4352 VkDevice device, 4353 VkQueryPool queryPool, 4354 uint32_t firstQuery, 4355 uint32_t queryCount, 4356 size_t dataSize, 4357 void* pData, 4358 VkDeviceSize stride, 4359 VkQueryResultFlags flags); 4360 4361 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer( 4362 VkDevice device, 4363 const VkBufferCreateInfo* pCreateInfo, 4364 const VkAllocationCallbacks* pAllocator, 4365 VkBuffer* pBuffer); 4366 4367 VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer( 4368 VkDevice device, 4369 VkBuffer buffer, 4370 const VkAllocationCallbacks* pAllocator); 4371 4372 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView( 4373 VkDevice device, 4374 const VkBufferViewCreateInfo* pCreateInfo, 4375 const VkAllocationCallbacks* pAllocator, 4376 VkBufferView* pView); 4377 4378 VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView( 4379 VkDevice device, 4380 VkBufferView bufferView, 4381 const VkAllocationCallbacks* pAllocator); 4382 4383 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage( 4384 VkDevice device, 4385 const VkImageCreateInfo* pCreateInfo, 4386 const VkAllocationCallbacks* pAllocator, 4387 VkImage* pImage); 4388 4389 VKAPI_ATTR void VKAPI_CALL vkDestroyImage( 4390 VkDevice device, 4391 VkImage image, 4392 const VkAllocationCallbacks* pAllocator); 4393 4394 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout( 4395 VkDevice device, 4396 VkImage image, 4397 const VkImageSubresource* pSubresource, 4398 VkSubresourceLayout* pLayout); 4399 4400 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView( 4401 VkDevice device, 4402 const VkImageViewCreateInfo* pCreateInfo, 4403 const VkAllocationCallbacks* pAllocator, 4404 VkImageView* pView); 4405 4406 VKAPI_ATTR void VKAPI_CALL vkDestroyImageView( 4407 VkDevice device, 4408 VkImageView imageView, 4409 const VkAllocationCallbacks* pAllocator); 4410 4411 VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule( 4412 VkDevice device, 4413 const VkShaderModuleCreateInfo* pCreateInfo, 4414 const VkAllocationCallbacks* pAllocator, 4415 VkShaderModule* pShaderModule); 4416 4417 VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule( 4418 VkDevice device, 4419 VkShaderModule shaderModule, 4420 const VkAllocationCallbacks* pAllocator); 4421 4422 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache( 4423 VkDevice device, 4424 const VkPipelineCacheCreateInfo* pCreateInfo, 4425 const VkAllocationCallbacks* pAllocator, 4426 VkPipelineCache* pPipelineCache); 4427 4428 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache( 4429 VkDevice device, 4430 VkPipelineCache pipelineCache, 4431 const VkAllocationCallbacks* pAllocator); 4432 4433 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData( 4434 VkDevice device, 4435 VkPipelineCache pipelineCache, 4436 size_t* pDataSize, 4437 void* pData); 4438 4439 VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches( 4440 VkDevice device, 4441 VkPipelineCache dstCache, 4442 uint32_t srcCacheCount, 4443 const VkPipelineCache* pSrcCaches); 4444 4445 VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines( 4446 VkDevice device, 4447 VkPipelineCache pipelineCache, 4448 uint32_t createInfoCount, 4449 const VkGraphicsPipelineCreateInfo* pCreateInfos, 4450 const VkAllocationCallbacks* pAllocator, 4451 VkPipeline* pPipelines); 4452 4453 VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines( 4454 VkDevice device, 4455 VkPipelineCache pipelineCache, 4456 uint32_t createInfoCount, 4457 const VkComputePipelineCreateInfo* pCreateInfos, 4458 const VkAllocationCallbacks* pAllocator, 4459 VkPipeline* pPipelines); 4460 4461 VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline( 4462 VkDevice device, 4463 VkPipeline pipeline, 4464 const VkAllocationCallbacks* pAllocator); 4465 4466 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout( 4467 VkDevice device, 4468 const VkPipelineLayoutCreateInfo* pCreateInfo, 4469 const VkAllocationCallbacks* pAllocator, 4470 VkPipelineLayout* pPipelineLayout); 4471 4472 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout( 4473 VkDevice device, 4474 VkPipelineLayout pipelineLayout, 4475 const VkAllocationCallbacks* pAllocator); 4476 4477 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler( 4478 VkDevice device, 4479 const VkSamplerCreateInfo* pCreateInfo, 4480 const VkAllocationCallbacks* pAllocator, 4481 VkSampler* pSampler); 4482 4483 VKAPI_ATTR void VKAPI_CALL vkDestroySampler( 4484 VkDevice device, 4485 VkSampler sampler, 4486 const VkAllocationCallbacks* pAllocator); 4487 4488 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout( 4489 VkDevice device, 4490 const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 4491 const VkAllocationCallbacks* pAllocator, 4492 VkDescriptorSetLayout* pSetLayout); 4493 4494 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout( 4495 VkDevice device, 4496 VkDescriptorSetLayout descriptorSetLayout, 4497 const VkAllocationCallbacks* pAllocator); 4498 4499 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool( 4500 VkDevice device, 4501 const VkDescriptorPoolCreateInfo* pCreateInfo, 4502 const VkAllocationCallbacks* pAllocator, 4503 VkDescriptorPool* pDescriptorPool); 4504 4505 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool( 4506 VkDevice device, 4507 VkDescriptorPool descriptorPool, 4508 const VkAllocationCallbacks* pAllocator); 4509 4510 VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool( 4511 VkDevice device, 4512 VkDescriptorPool descriptorPool, 4513 VkDescriptorPoolResetFlags flags); 4514 4515 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets( 4516 VkDevice device, 4517 const VkDescriptorSetAllocateInfo* pAllocateInfo, 4518 VkDescriptorSet* pDescriptorSets); 4519 4520 VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets( 4521 VkDevice device, 4522 VkDescriptorPool descriptorPool, 4523 uint32_t descriptorSetCount, 4524 const VkDescriptorSet* pDescriptorSets); 4525 4526 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets( 4527 VkDevice device, 4528 uint32_t descriptorWriteCount, 4529 const VkWriteDescriptorSet* pDescriptorWrites, 4530 uint32_t descriptorCopyCount, 4531 const VkCopyDescriptorSet* pDescriptorCopies); 4532 4533 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer( 4534 VkDevice device, 4535 const VkFramebufferCreateInfo* pCreateInfo, 4536 const VkAllocationCallbacks* pAllocator, 4537 VkFramebuffer* pFramebuffer); 4538 4539 VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer( 4540 VkDevice device, 4541 VkFramebuffer framebuffer, 4542 const VkAllocationCallbacks* pAllocator); 4543 4544 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass( 4545 VkDevice device, 4546 const VkRenderPassCreateInfo* pCreateInfo, 4547 const VkAllocationCallbacks* pAllocator, 4548 VkRenderPass* pRenderPass); 4549 4550 VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass( 4551 VkDevice device, 4552 VkRenderPass renderPass, 4553 const VkAllocationCallbacks* pAllocator); 4554 4555 VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity( 4556 VkDevice device, 4557 VkRenderPass renderPass, 4558 VkExtent2D* pGranularity); 4559 4560 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool( 4561 VkDevice device, 4562 const VkCommandPoolCreateInfo* pCreateInfo, 4563 const VkAllocationCallbacks* pAllocator, 4564 VkCommandPool* pCommandPool); 4565 4566 VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool( 4567 VkDevice device, 4568 VkCommandPool commandPool, 4569 const VkAllocationCallbacks* pAllocator); 4570 4571 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool( 4572 VkDevice device, 4573 VkCommandPool commandPool, 4574 VkCommandPoolResetFlags flags); 4575 4576 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers( 4577 VkDevice device, 4578 const VkCommandBufferAllocateInfo* pAllocateInfo, 4579 VkCommandBuffer* pCommandBuffers); 4580 4581 VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers( 4582 VkDevice device, 4583 VkCommandPool commandPool, 4584 uint32_t commandBufferCount, 4585 const VkCommandBuffer* pCommandBuffers); 4586 4587 VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer( 4588 VkCommandBuffer commandBuffer, 4589 const VkCommandBufferBeginInfo* pBeginInfo); 4590 4591 VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer( 4592 VkCommandBuffer commandBuffer); 4593 4594 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer( 4595 VkCommandBuffer commandBuffer, 4596 VkCommandBufferResetFlags flags); 4597 4598 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline( 4599 VkCommandBuffer commandBuffer, 4600 VkPipelineBindPoint pipelineBindPoint, 4601 VkPipeline pipeline); 4602 4603 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport( 4604 VkCommandBuffer commandBuffer, 4605 uint32_t firstViewport, 4606 uint32_t viewportCount, 4607 const VkViewport* pViewports); 4608 4609 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor( 4610 VkCommandBuffer commandBuffer, 4611 uint32_t firstScissor, 4612 uint32_t scissorCount, 4613 const VkRect2D* pScissors); 4614 4615 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth( 4616 VkCommandBuffer commandBuffer, 4617 float lineWidth); 4618 4619 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias( 4620 VkCommandBuffer commandBuffer, 4621 float depthBiasConstantFactor, 4622 float depthBiasClamp, 4623 float depthBiasSlopeFactor); 4624 4625 VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants( 4626 VkCommandBuffer commandBuffer, 4627 const float blendConstants[4]); 4628 4629 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds( 4630 VkCommandBuffer commandBuffer, 4631 float minDepthBounds, 4632 float maxDepthBounds); 4633 4634 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask( 4635 VkCommandBuffer commandBuffer, 4636 VkStencilFaceFlags faceMask, 4637 uint32_t compareMask); 4638 4639 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask( 4640 VkCommandBuffer commandBuffer, 4641 VkStencilFaceFlags faceMask, 4642 uint32_t writeMask); 4643 4644 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference( 4645 VkCommandBuffer commandBuffer, 4646 VkStencilFaceFlags faceMask, 4647 uint32_t reference); 4648 4649 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets( 4650 VkCommandBuffer commandBuffer, 4651 VkPipelineBindPoint pipelineBindPoint, 4652 VkPipelineLayout layout, 4653 uint32_t firstSet, 4654 uint32_t descriptorSetCount, 4655 const VkDescriptorSet* pDescriptorSets, 4656 uint32_t dynamicOffsetCount, 4657 const uint32_t* pDynamicOffsets); 4658 4659 VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer( 4660 VkCommandBuffer commandBuffer, 4661 VkBuffer buffer, 4662 VkDeviceSize offset, 4663 VkIndexType indexType); 4664 4665 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers( 4666 VkCommandBuffer commandBuffer, 4667 uint32_t firstBinding, 4668 uint32_t bindingCount, 4669 const VkBuffer* pBuffers, 4670 const VkDeviceSize* pOffsets); 4671 4672 VKAPI_ATTR void VKAPI_CALL vkCmdDraw( 4673 VkCommandBuffer commandBuffer, 4674 uint32_t vertexCount, 4675 uint32_t instanceCount, 4676 uint32_t firstVertex, 4677 uint32_t firstInstance); 4678 4679 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed( 4680 VkCommandBuffer commandBuffer, 4681 uint32_t indexCount, 4682 uint32_t instanceCount, 4683 uint32_t firstIndex, 4684 int32_t vertexOffset, 4685 uint32_t firstInstance); 4686 4687 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect( 4688 VkCommandBuffer commandBuffer, 4689 VkBuffer buffer, 4690 VkDeviceSize offset, 4691 uint32_t drawCount, 4692 uint32_t stride); 4693 4694 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect( 4695 VkCommandBuffer commandBuffer, 4696 VkBuffer buffer, 4697 VkDeviceSize offset, 4698 uint32_t drawCount, 4699 uint32_t stride); 4700 4701 VKAPI_ATTR void VKAPI_CALL vkCmdDispatch( 4702 VkCommandBuffer commandBuffer, 4703 uint32_t groupCountX, 4704 uint32_t groupCountY, 4705 uint32_t groupCountZ); 4706 4707 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect( 4708 VkCommandBuffer commandBuffer, 4709 VkBuffer buffer, 4710 VkDeviceSize offset); 4711 4712 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer( 4713 VkCommandBuffer commandBuffer, 4714 VkBuffer srcBuffer, 4715 VkBuffer dstBuffer, 4716 uint32_t regionCount, 4717 const VkBufferCopy* pRegions); 4718 4719 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage( 4720 VkCommandBuffer commandBuffer, 4721 VkImage srcImage, 4722 VkImageLayout srcImageLayout, 4723 VkImage dstImage, 4724 VkImageLayout dstImageLayout, 4725 uint32_t regionCount, 4726 const VkImageCopy* pRegions); 4727 4728 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage( 4729 VkCommandBuffer commandBuffer, 4730 VkImage srcImage, 4731 VkImageLayout srcImageLayout, 4732 VkImage dstImage, 4733 VkImageLayout dstImageLayout, 4734 uint32_t regionCount, 4735 const VkImageBlit* pRegions, 4736 VkFilter filter); 4737 4738 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage( 4739 VkCommandBuffer commandBuffer, 4740 VkBuffer srcBuffer, 4741 VkImage dstImage, 4742 VkImageLayout dstImageLayout, 4743 uint32_t regionCount, 4744 const VkBufferImageCopy* pRegions); 4745 4746 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer( 4747 VkCommandBuffer commandBuffer, 4748 VkImage srcImage, 4749 VkImageLayout srcImageLayout, 4750 VkBuffer dstBuffer, 4751 uint32_t regionCount, 4752 const VkBufferImageCopy* pRegions); 4753 4754 VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer( 4755 VkCommandBuffer commandBuffer, 4756 VkBuffer dstBuffer, 4757 VkDeviceSize dstOffset, 4758 VkDeviceSize dataSize, 4759 const void* pData); 4760 4761 VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer( 4762 VkCommandBuffer commandBuffer, 4763 VkBuffer dstBuffer, 4764 VkDeviceSize dstOffset, 4765 VkDeviceSize size, 4766 uint32_t data); 4767 4768 VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage( 4769 VkCommandBuffer commandBuffer, 4770 VkImage image, 4771 VkImageLayout imageLayout, 4772 const VkClearColorValue* pColor, 4773 uint32_t rangeCount, 4774 const VkImageSubresourceRange* pRanges); 4775 4776 VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage( 4777 VkCommandBuffer commandBuffer, 4778 VkImage image, 4779 VkImageLayout imageLayout, 4780 const VkClearDepthStencilValue* pDepthStencil, 4781 uint32_t rangeCount, 4782 const VkImageSubresourceRange* pRanges); 4783 4784 VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments( 4785 VkCommandBuffer commandBuffer, 4786 uint32_t attachmentCount, 4787 const VkClearAttachment* pAttachments, 4788 uint32_t rectCount, 4789 const VkClearRect* pRects); 4790 4791 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage( 4792 VkCommandBuffer commandBuffer, 4793 VkImage srcImage, 4794 VkImageLayout srcImageLayout, 4795 VkImage dstImage, 4796 VkImageLayout dstImageLayout, 4797 uint32_t regionCount, 4798 const VkImageResolve* pRegions); 4799 4800 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent( 4801 VkCommandBuffer commandBuffer, 4802 VkEvent event, 4803 VkPipelineStageFlags stageMask); 4804 4805 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent( 4806 VkCommandBuffer commandBuffer, 4807 VkEvent event, 4808 VkPipelineStageFlags stageMask); 4809 4810 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents( 4811 VkCommandBuffer commandBuffer, 4812 uint32_t eventCount, 4813 const VkEvent* pEvents, 4814 VkPipelineStageFlags srcStageMask, 4815 VkPipelineStageFlags dstStageMask, 4816 uint32_t memoryBarrierCount, 4817 const VkMemoryBarrier* pMemoryBarriers, 4818 uint32_t bufferMemoryBarrierCount, 4819 const VkBufferMemoryBarrier* pBufferMemoryBarriers, 4820 uint32_t imageMemoryBarrierCount, 4821 const VkImageMemoryBarrier* pImageMemoryBarriers); 4822 4823 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier( 4824 VkCommandBuffer commandBuffer, 4825 VkPipelineStageFlags srcStageMask, 4826 VkPipelineStageFlags dstStageMask, 4827 VkDependencyFlags dependencyFlags, 4828 uint32_t memoryBarrierCount, 4829 const VkMemoryBarrier* pMemoryBarriers, 4830 uint32_t bufferMemoryBarrierCount, 4831 const VkBufferMemoryBarrier* pBufferMemoryBarriers, 4832 uint32_t imageMemoryBarrierCount, 4833 const VkImageMemoryBarrier* pImageMemoryBarriers); 4834 4835 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery( 4836 VkCommandBuffer commandBuffer, 4837 VkQueryPool queryPool, 4838 uint32_t query, 4839 VkQueryControlFlags flags); 4840 4841 VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery( 4842 VkCommandBuffer commandBuffer, 4843 VkQueryPool queryPool, 4844 uint32_t query); 4845 4846 VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool( 4847 VkCommandBuffer commandBuffer, 4848 VkQueryPool queryPool, 4849 uint32_t firstQuery, 4850 uint32_t queryCount); 4851 4852 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp( 4853 VkCommandBuffer commandBuffer, 4854 VkPipelineStageFlagBits pipelineStage, 4855 VkQueryPool queryPool, 4856 uint32_t query); 4857 4858 VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults( 4859 VkCommandBuffer commandBuffer, 4860 VkQueryPool queryPool, 4861 uint32_t firstQuery, 4862 uint32_t queryCount, 4863 VkBuffer dstBuffer, 4864 VkDeviceSize dstOffset, 4865 VkDeviceSize stride, 4866 VkQueryResultFlags flags); 4867 4868 VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants( 4869 VkCommandBuffer commandBuffer, 4870 VkPipelineLayout layout, 4871 VkShaderStageFlags stageFlags, 4872 uint32_t offset, 4873 uint32_t size, 4874 const void* pValues); 4875 4876 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass( 4877 VkCommandBuffer commandBuffer, 4878 const VkRenderPassBeginInfo* pRenderPassBegin, 4879 VkSubpassContents contents); 4880 4881 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass( 4882 VkCommandBuffer commandBuffer, 4883 VkSubpassContents contents); 4884 4885 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass( 4886 VkCommandBuffer commandBuffer); 4887 4888 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands( 4889 VkCommandBuffer commandBuffer, 4890 uint32_t commandBufferCount, 4891 const VkCommandBuffer* pCommandBuffers); 4892 #endif 4893 4894 4895 // VK_VERSION_1_1 is a preprocessor guard. Do not pass it to API calls. 4896 #define VK_VERSION_1_1 1 4897 // Vulkan 1.1 version number 4898 #define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)// Patch version should always be set to 0 4899 4900 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion) 4901 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate) 4902 #define VK_MAX_DEVICE_GROUP_SIZE 32U 4903 #define VK_LUID_SIZE 8U 4904 #define VK_QUEUE_FAMILY_EXTERNAL (~1U) 4905 4906 typedef enum VkPointClippingBehavior { 4907 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0, 4908 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1, 4909 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES, 4910 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY, 4911 VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF 4912 } VkPointClippingBehavior; 4913 4914 typedef enum VkTessellationDomainOrigin { 4915 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0, 4916 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1, 4917 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT, 4918 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT, 4919 VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF 4920 } VkTessellationDomainOrigin; 4921 4922 typedef enum VkSamplerYcbcrModelConversion { 4923 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0, 4924 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1, 4925 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2, 4926 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3, 4927 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4, 4928 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY, 4929 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY, 4930 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709, 4931 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601, 4932 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020, 4933 VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF 4934 } VkSamplerYcbcrModelConversion; 4935 4936 typedef enum VkSamplerYcbcrRange { 4937 VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0, 4938 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1, 4939 VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL, 4940 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW, 4941 VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF 4942 } VkSamplerYcbcrRange; 4943 4944 typedef enum VkChromaLocation { 4945 VK_CHROMA_LOCATION_COSITED_EVEN = 0, 4946 VK_CHROMA_LOCATION_MIDPOINT = 1, 4947 VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN, 4948 VK_CHROMA_LOCATION_MIDPOINT_KHR = VK_CHROMA_LOCATION_MIDPOINT, 4949 VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF 4950 } VkChromaLocation; 4951 4952 typedef enum VkDescriptorUpdateTemplateType { 4953 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0, 4954 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1, 4955 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET, 4956 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF 4957 } VkDescriptorUpdateTemplateType; 4958 4959 typedef enum VkSubgroupFeatureFlagBits { 4960 VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001, 4961 VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002, 4962 VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004, 4963 VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008, 4964 VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010, 4965 VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020, 4966 VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040, 4967 VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080, 4968 VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100, 4969 VK_SUBGROUP_FEATURE_ROTATE_BIT_KHR = 0x00000200, 4970 VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT_KHR = 0x00000400, 4971 VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 4972 } VkSubgroupFeatureFlagBits; 4973 typedef VkFlags VkSubgroupFeatureFlags; 4974 4975 typedef enum VkPeerMemoryFeatureFlagBits { 4976 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001, 4977 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0x00000002, 4978 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0x00000004, 4979 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0x00000008, 4980 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT, 4981 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT, 4982 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT, 4983 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT, 4984 VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 4985 } VkPeerMemoryFeatureFlagBits; 4986 typedef VkFlags VkPeerMemoryFeatureFlags; 4987 4988 typedef enum VkMemoryAllocateFlagBits { 4989 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001, 4990 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 0x00000002, 4991 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000004, 4992 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT, 4993 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT, 4994 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, 4995 VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 4996 } VkMemoryAllocateFlagBits; 4997 typedef VkFlags VkMemoryAllocateFlags; 4998 typedef VkFlags VkCommandPoolTrimFlags; 4999 typedef VkFlags VkDescriptorUpdateTemplateCreateFlags; 5000 5001 typedef enum VkExternalMemoryHandleTypeFlagBits { 5002 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001, 5003 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002, 5004 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004, 5005 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008, 5006 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010, 5007 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020, 5008 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040, 5009 VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200, 5010 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400, 5011 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080, 5012 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100, 5013 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 0x00000800, 5014 VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV = 0x00001000, 5015 VK_EXTERNAL_MEMORY_HANDLE_TYPE_SCREEN_BUFFER_BIT_QNX = 0x00004000, 5016 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT, 5017 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT, 5018 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, 5019 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT, 5020 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT, 5021 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT, 5022 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT, 5023 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5024 } VkExternalMemoryHandleTypeFlagBits; 5025 typedef VkFlags VkExternalMemoryHandleTypeFlags; 5026 5027 typedef enum VkExternalMemoryFeatureFlagBits { 5028 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0x00000001, 5029 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0x00000002, 5030 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0x00000004, 5031 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT, 5032 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT, 5033 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT, 5034 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5035 } VkExternalMemoryFeatureFlagBits; 5036 typedef VkFlags VkExternalMemoryFeatureFlags; 5037 5038 typedef enum VkExternalFenceHandleTypeFlagBits { 5039 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001, 5040 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002, 5041 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004, 5042 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000008, 5043 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT, 5044 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT, 5045 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, 5046 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT, 5047 VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5048 } VkExternalFenceHandleTypeFlagBits; 5049 typedef VkFlags VkExternalFenceHandleTypeFlags; 5050 5051 typedef enum VkExternalFenceFeatureFlagBits { 5052 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0x00000001, 5053 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0x00000002, 5054 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT, 5055 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT, 5056 VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5057 } VkExternalFenceFeatureFlagBits; 5058 typedef VkFlags VkExternalFenceFeatureFlags; 5059 5060 typedef enum VkFenceImportFlagBits { 5061 VK_FENCE_IMPORT_TEMPORARY_BIT = 0x00000001, 5062 VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = VK_FENCE_IMPORT_TEMPORARY_BIT, 5063 VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5064 } VkFenceImportFlagBits; 5065 typedef VkFlags VkFenceImportFlags; 5066 5067 typedef enum VkSemaphoreImportFlagBits { 5068 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001, 5069 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT, 5070 VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5071 } VkSemaphoreImportFlagBits; 5072 typedef VkFlags VkSemaphoreImportFlags; 5073 5074 typedef enum VkExternalSemaphoreHandleTypeFlagBits { 5075 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001, 5076 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002, 5077 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004, 5078 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008, 5079 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010, 5080 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA = 0x00000080, 5081 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT, 5082 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT, 5083 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT, 5084 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, 5085 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT, 5086 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT, 5087 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5088 } VkExternalSemaphoreHandleTypeFlagBits; 5089 typedef VkFlags VkExternalSemaphoreHandleTypeFlags; 5090 5091 typedef enum VkExternalSemaphoreFeatureFlagBits { 5092 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0x00000001, 5093 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0x00000002, 5094 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT, 5095 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT, 5096 VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5097 } VkExternalSemaphoreFeatureFlagBits; 5098 typedef VkFlags VkExternalSemaphoreFeatureFlags; 5099 typedef struct VkPhysicalDeviceSubgroupProperties { 5100 VkStructureType sType; 5101 void* pNext; 5102 uint32_t subgroupSize; 5103 VkShaderStageFlags supportedStages; 5104 VkSubgroupFeatureFlags supportedOperations; 5105 VkBool32 quadOperationsInAllStages; 5106 } VkPhysicalDeviceSubgroupProperties; 5107 5108 typedef struct VkBindBufferMemoryInfo { 5109 VkStructureType sType; 5110 const void* pNext; 5111 VkBuffer buffer; 5112 VkDeviceMemory memory; 5113 VkDeviceSize memoryOffset; 5114 } VkBindBufferMemoryInfo; 5115 5116 typedef struct VkBindImageMemoryInfo { 5117 VkStructureType sType; 5118 const void* pNext; 5119 VkImage image; 5120 VkDeviceMemory memory; 5121 VkDeviceSize memoryOffset; 5122 } VkBindImageMemoryInfo; 5123 5124 typedef struct VkPhysicalDevice16BitStorageFeatures { 5125 VkStructureType sType; 5126 void* pNext; 5127 VkBool32 storageBuffer16BitAccess; 5128 VkBool32 uniformAndStorageBuffer16BitAccess; 5129 VkBool32 storagePushConstant16; 5130 VkBool32 storageInputOutput16; 5131 } VkPhysicalDevice16BitStorageFeatures; 5132 5133 typedef struct VkMemoryDedicatedRequirements { 5134 VkStructureType sType; 5135 void* pNext; 5136 VkBool32 prefersDedicatedAllocation; 5137 VkBool32 requiresDedicatedAllocation; 5138 } VkMemoryDedicatedRequirements; 5139 5140 typedef struct VkMemoryDedicatedAllocateInfo { 5141 VkStructureType sType; 5142 const void* pNext; 5143 VkImage image; 5144 VkBuffer buffer; 5145 } VkMemoryDedicatedAllocateInfo; 5146 5147 typedef struct VkMemoryAllocateFlagsInfo { 5148 VkStructureType sType; 5149 const void* pNext; 5150 VkMemoryAllocateFlags flags; 5151 uint32_t deviceMask; 5152 } VkMemoryAllocateFlagsInfo; 5153 5154 typedef struct VkDeviceGroupRenderPassBeginInfo { 5155 VkStructureType sType; 5156 const void* pNext; 5157 uint32_t deviceMask; 5158 uint32_t deviceRenderAreaCount; 5159 const VkRect2D* pDeviceRenderAreas; 5160 } VkDeviceGroupRenderPassBeginInfo; 5161 5162 typedef struct VkDeviceGroupCommandBufferBeginInfo { 5163 VkStructureType sType; 5164 const void* pNext; 5165 uint32_t deviceMask; 5166 } VkDeviceGroupCommandBufferBeginInfo; 5167 5168 typedef struct VkDeviceGroupSubmitInfo { 5169 VkStructureType sType; 5170 const void* pNext; 5171 uint32_t waitSemaphoreCount; 5172 const uint32_t* pWaitSemaphoreDeviceIndices; 5173 uint32_t commandBufferCount; 5174 const uint32_t* pCommandBufferDeviceMasks; 5175 uint32_t signalSemaphoreCount; 5176 const uint32_t* pSignalSemaphoreDeviceIndices; 5177 } VkDeviceGroupSubmitInfo; 5178 5179 typedef struct VkDeviceGroupBindSparseInfo { 5180 VkStructureType sType; 5181 const void* pNext; 5182 uint32_t resourceDeviceIndex; 5183 uint32_t memoryDeviceIndex; 5184 } VkDeviceGroupBindSparseInfo; 5185 5186 typedef struct VkBindBufferMemoryDeviceGroupInfo { 5187 VkStructureType sType; 5188 const void* pNext; 5189 uint32_t deviceIndexCount; 5190 const uint32_t* pDeviceIndices; 5191 } VkBindBufferMemoryDeviceGroupInfo; 5192 5193 typedef struct VkBindImageMemoryDeviceGroupInfo { 5194 VkStructureType sType; 5195 const void* pNext; 5196 uint32_t deviceIndexCount; 5197 const uint32_t* pDeviceIndices; 5198 uint32_t splitInstanceBindRegionCount; 5199 const VkRect2D* pSplitInstanceBindRegions; 5200 } VkBindImageMemoryDeviceGroupInfo; 5201 5202 typedef struct VkPhysicalDeviceGroupProperties { 5203 VkStructureType sType; 5204 void* pNext; 5205 uint32_t physicalDeviceCount; 5206 VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE]; 5207 VkBool32 subsetAllocation; 5208 } VkPhysicalDeviceGroupProperties; 5209 5210 typedef struct VkDeviceGroupDeviceCreateInfo { 5211 VkStructureType sType; 5212 const void* pNext; 5213 uint32_t physicalDeviceCount; 5214 const VkPhysicalDevice* pPhysicalDevices; 5215 } VkDeviceGroupDeviceCreateInfo; 5216 5217 typedef struct VkBufferMemoryRequirementsInfo2 { 5218 VkStructureType sType; 5219 const void* pNext; 5220 VkBuffer buffer; 5221 } VkBufferMemoryRequirementsInfo2; 5222 5223 typedef struct VkImageMemoryRequirementsInfo2 { 5224 VkStructureType sType; 5225 const void* pNext; 5226 VkImage image; 5227 } VkImageMemoryRequirementsInfo2; 5228 5229 typedef struct VkImageSparseMemoryRequirementsInfo2 { 5230 VkStructureType sType; 5231 const void* pNext; 5232 VkImage image; 5233 } VkImageSparseMemoryRequirementsInfo2; 5234 5235 typedef struct VkMemoryRequirements2 { 5236 VkStructureType sType; 5237 void* pNext; 5238 VkMemoryRequirements memoryRequirements; 5239 } VkMemoryRequirements2; 5240 5241 typedef struct VkSparseImageMemoryRequirements2 { 5242 VkStructureType sType; 5243 void* pNext; 5244 VkSparseImageMemoryRequirements memoryRequirements; 5245 } VkSparseImageMemoryRequirements2; 5246 5247 typedef struct VkPhysicalDeviceFeatures2 { 5248 VkStructureType sType; 5249 void* pNext; 5250 VkPhysicalDeviceFeatures features; 5251 } VkPhysicalDeviceFeatures2; 5252 5253 typedef struct VkPhysicalDeviceProperties2 { 5254 VkStructureType sType; 5255 void* pNext; 5256 VkPhysicalDeviceProperties properties; 5257 } VkPhysicalDeviceProperties2; 5258 5259 typedef struct VkFormatProperties2 { 5260 VkStructureType sType; 5261 void* pNext; 5262 VkFormatProperties formatProperties; 5263 } VkFormatProperties2; 5264 5265 typedef struct VkImageFormatProperties2 { 5266 VkStructureType sType; 5267 void* pNext; 5268 VkImageFormatProperties imageFormatProperties; 5269 } VkImageFormatProperties2; 5270 5271 typedef struct VkPhysicalDeviceImageFormatInfo2 { 5272 VkStructureType sType; 5273 const void* pNext; 5274 VkFormat format; 5275 VkImageType type; 5276 VkImageTiling tiling; 5277 VkImageUsageFlags usage; 5278 VkImageCreateFlags flags; 5279 } VkPhysicalDeviceImageFormatInfo2; 5280 5281 typedef struct VkQueueFamilyProperties2 { 5282 VkStructureType sType; 5283 void* pNext; 5284 VkQueueFamilyProperties queueFamilyProperties; 5285 } VkQueueFamilyProperties2; 5286 5287 typedef struct VkPhysicalDeviceMemoryProperties2 { 5288 VkStructureType sType; 5289 void* pNext; 5290 VkPhysicalDeviceMemoryProperties memoryProperties; 5291 } VkPhysicalDeviceMemoryProperties2; 5292 5293 typedef struct VkSparseImageFormatProperties2 { 5294 VkStructureType sType; 5295 void* pNext; 5296 VkSparseImageFormatProperties properties; 5297 } VkSparseImageFormatProperties2; 5298 5299 typedef struct VkPhysicalDeviceSparseImageFormatInfo2 { 5300 VkStructureType sType; 5301 const void* pNext; 5302 VkFormat format; 5303 VkImageType type; 5304 VkSampleCountFlagBits samples; 5305 VkImageUsageFlags usage; 5306 VkImageTiling tiling; 5307 } VkPhysicalDeviceSparseImageFormatInfo2; 5308 5309 typedef struct VkPhysicalDevicePointClippingProperties { 5310 VkStructureType sType; 5311 void* pNext; 5312 VkPointClippingBehavior pointClippingBehavior; 5313 } VkPhysicalDevicePointClippingProperties; 5314 5315 typedef struct VkInputAttachmentAspectReference { 5316 uint32_t subpass; 5317 uint32_t inputAttachmentIndex; 5318 VkImageAspectFlags aspectMask; 5319 } VkInputAttachmentAspectReference; 5320 5321 typedef struct VkRenderPassInputAttachmentAspectCreateInfo { 5322 VkStructureType sType; 5323 const void* pNext; 5324 uint32_t aspectReferenceCount; 5325 const VkInputAttachmentAspectReference* pAspectReferences; 5326 } VkRenderPassInputAttachmentAspectCreateInfo; 5327 5328 typedef struct VkImageViewUsageCreateInfo { 5329 VkStructureType sType; 5330 const void* pNext; 5331 VkImageUsageFlags usage; 5332 } VkImageViewUsageCreateInfo; 5333 5334 typedef struct VkPipelineTessellationDomainOriginStateCreateInfo { 5335 VkStructureType sType; 5336 const void* pNext; 5337 VkTessellationDomainOrigin domainOrigin; 5338 } VkPipelineTessellationDomainOriginStateCreateInfo; 5339 5340 typedef struct VkRenderPassMultiviewCreateInfo { 5341 VkStructureType sType; 5342 const void* pNext; 5343 uint32_t subpassCount; 5344 const uint32_t* pViewMasks; 5345 uint32_t dependencyCount; 5346 const int32_t* pViewOffsets; 5347 uint32_t correlationMaskCount; 5348 const uint32_t* pCorrelationMasks; 5349 } VkRenderPassMultiviewCreateInfo; 5350 5351 typedef struct VkPhysicalDeviceMultiviewFeatures { 5352 VkStructureType sType; 5353 void* pNext; 5354 VkBool32 multiview; 5355 VkBool32 multiviewGeometryShader; 5356 VkBool32 multiviewTessellationShader; 5357 } VkPhysicalDeviceMultiviewFeatures; 5358 5359 typedef struct VkPhysicalDeviceMultiviewProperties { 5360 VkStructureType sType; 5361 void* pNext; 5362 uint32_t maxMultiviewViewCount; 5363 uint32_t maxMultiviewInstanceIndex; 5364 } VkPhysicalDeviceMultiviewProperties; 5365 5366 typedef struct VkPhysicalDeviceVariablePointersFeatures { 5367 VkStructureType sType; 5368 void* pNext; 5369 VkBool32 variablePointersStorageBuffer; 5370 VkBool32 variablePointers; 5371 } VkPhysicalDeviceVariablePointersFeatures; 5372 5373 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures; 5374 5375 typedef struct VkPhysicalDeviceProtectedMemoryFeatures { 5376 VkStructureType sType; 5377 void* pNext; 5378 VkBool32 protectedMemory; 5379 } VkPhysicalDeviceProtectedMemoryFeatures; 5380 5381 typedef struct VkPhysicalDeviceProtectedMemoryProperties { 5382 VkStructureType sType; 5383 void* pNext; 5384 VkBool32 protectedNoFault; 5385 } VkPhysicalDeviceProtectedMemoryProperties; 5386 5387 typedef struct VkDeviceQueueInfo2 { 5388 VkStructureType sType; 5389 const void* pNext; 5390 VkDeviceQueueCreateFlags flags; 5391 uint32_t queueFamilyIndex; 5392 uint32_t queueIndex; 5393 } VkDeviceQueueInfo2; 5394 5395 typedef struct VkProtectedSubmitInfo { 5396 VkStructureType sType; 5397 const void* pNext; 5398 VkBool32 protectedSubmit; 5399 } VkProtectedSubmitInfo; 5400 5401 typedef struct VkSamplerYcbcrConversionCreateInfo { 5402 VkStructureType sType; 5403 const void* pNext; 5404 VkFormat format; 5405 VkSamplerYcbcrModelConversion ycbcrModel; 5406 VkSamplerYcbcrRange ycbcrRange; 5407 VkComponentMapping components; 5408 VkChromaLocation xChromaOffset; 5409 VkChromaLocation yChromaOffset; 5410 VkFilter chromaFilter; 5411 VkBool32 forceExplicitReconstruction; 5412 } VkSamplerYcbcrConversionCreateInfo; 5413 5414 typedef struct VkSamplerYcbcrConversionInfo { 5415 VkStructureType sType; 5416 const void* pNext; 5417 VkSamplerYcbcrConversion conversion; 5418 } VkSamplerYcbcrConversionInfo; 5419 5420 typedef struct VkBindImagePlaneMemoryInfo { 5421 VkStructureType sType; 5422 const void* pNext; 5423 VkImageAspectFlagBits planeAspect; 5424 } VkBindImagePlaneMemoryInfo; 5425 5426 typedef struct VkImagePlaneMemoryRequirementsInfo { 5427 VkStructureType sType; 5428 const void* pNext; 5429 VkImageAspectFlagBits planeAspect; 5430 } VkImagePlaneMemoryRequirementsInfo; 5431 5432 typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures { 5433 VkStructureType sType; 5434 void* pNext; 5435 VkBool32 samplerYcbcrConversion; 5436 } VkPhysicalDeviceSamplerYcbcrConversionFeatures; 5437 5438 typedef struct VkSamplerYcbcrConversionImageFormatProperties { 5439 VkStructureType sType; 5440 void* pNext; 5441 uint32_t combinedImageSamplerDescriptorCount; 5442 } VkSamplerYcbcrConversionImageFormatProperties; 5443 5444 typedef struct VkDescriptorUpdateTemplateEntry { 5445 uint32_t dstBinding; 5446 uint32_t dstArrayElement; 5447 uint32_t descriptorCount; 5448 VkDescriptorType descriptorType; 5449 size_t offset; 5450 size_t stride; 5451 } VkDescriptorUpdateTemplateEntry; 5452 5453 typedef struct VkDescriptorUpdateTemplateCreateInfo { 5454 VkStructureType sType; 5455 const void* pNext; 5456 VkDescriptorUpdateTemplateCreateFlags flags; 5457 uint32_t descriptorUpdateEntryCount; 5458 const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries; 5459 VkDescriptorUpdateTemplateType templateType; 5460 VkDescriptorSetLayout descriptorSetLayout; 5461 VkPipelineBindPoint pipelineBindPoint; 5462 VkPipelineLayout pipelineLayout; 5463 uint32_t set; 5464 } VkDescriptorUpdateTemplateCreateInfo; 5465 5466 typedef struct VkExternalMemoryProperties { 5467 VkExternalMemoryFeatureFlags externalMemoryFeatures; 5468 VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes; 5469 VkExternalMemoryHandleTypeFlags compatibleHandleTypes; 5470 } VkExternalMemoryProperties; 5471 5472 typedef struct VkPhysicalDeviceExternalImageFormatInfo { 5473 VkStructureType sType; 5474 const void* pNext; 5475 VkExternalMemoryHandleTypeFlagBits handleType; 5476 } VkPhysicalDeviceExternalImageFormatInfo; 5477 5478 typedef struct VkExternalImageFormatProperties { 5479 VkStructureType sType; 5480 void* pNext; 5481 VkExternalMemoryProperties externalMemoryProperties; 5482 } VkExternalImageFormatProperties; 5483 5484 typedef struct VkPhysicalDeviceExternalBufferInfo { 5485 VkStructureType sType; 5486 const void* pNext; 5487 VkBufferCreateFlags flags; 5488 VkBufferUsageFlags usage; 5489 VkExternalMemoryHandleTypeFlagBits handleType; 5490 } VkPhysicalDeviceExternalBufferInfo; 5491 5492 typedef struct VkExternalBufferProperties { 5493 VkStructureType sType; 5494 void* pNext; 5495 VkExternalMemoryProperties externalMemoryProperties; 5496 } VkExternalBufferProperties; 5497 5498 typedef struct VkPhysicalDeviceIDProperties { 5499 VkStructureType sType; 5500 void* pNext; 5501 uint8_t deviceUUID[VK_UUID_SIZE]; 5502 uint8_t driverUUID[VK_UUID_SIZE]; 5503 uint8_t deviceLUID[VK_LUID_SIZE]; 5504 uint32_t deviceNodeMask; 5505 VkBool32 deviceLUIDValid; 5506 } VkPhysicalDeviceIDProperties; 5507 5508 typedef struct VkExternalMemoryImageCreateInfo { 5509 VkStructureType sType; 5510 const void* pNext; 5511 VkExternalMemoryHandleTypeFlags handleTypes; 5512 } VkExternalMemoryImageCreateInfo; 5513 5514 typedef struct VkExternalMemoryBufferCreateInfo { 5515 VkStructureType sType; 5516 const void* pNext; 5517 VkExternalMemoryHandleTypeFlags handleTypes; 5518 } VkExternalMemoryBufferCreateInfo; 5519 5520 typedef struct VkExportMemoryAllocateInfo { 5521 VkStructureType sType; 5522 const void* pNext; 5523 VkExternalMemoryHandleTypeFlags handleTypes; 5524 } VkExportMemoryAllocateInfo; 5525 5526 typedef struct VkPhysicalDeviceExternalFenceInfo { 5527 VkStructureType sType; 5528 const void* pNext; 5529 VkExternalFenceHandleTypeFlagBits handleType; 5530 } VkPhysicalDeviceExternalFenceInfo; 5531 5532 typedef struct VkExternalFenceProperties { 5533 VkStructureType sType; 5534 void* pNext; 5535 VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes; 5536 VkExternalFenceHandleTypeFlags compatibleHandleTypes; 5537 VkExternalFenceFeatureFlags externalFenceFeatures; 5538 } VkExternalFenceProperties; 5539 5540 typedef struct VkExportFenceCreateInfo { 5541 VkStructureType sType; 5542 const void* pNext; 5543 VkExternalFenceHandleTypeFlags handleTypes; 5544 } VkExportFenceCreateInfo; 5545 5546 typedef struct VkExportSemaphoreCreateInfo { 5547 VkStructureType sType; 5548 const void* pNext; 5549 VkExternalSemaphoreHandleTypeFlags handleTypes; 5550 } VkExportSemaphoreCreateInfo; 5551 5552 typedef struct VkPhysicalDeviceExternalSemaphoreInfo { 5553 VkStructureType sType; 5554 const void* pNext; 5555 VkExternalSemaphoreHandleTypeFlagBits handleType; 5556 } VkPhysicalDeviceExternalSemaphoreInfo; 5557 5558 typedef struct VkExternalSemaphoreProperties { 5559 VkStructureType sType; 5560 void* pNext; 5561 VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes; 5562 VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes; 5563 VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures; 5564 } VkExternalSemaphoreProperties; 5565 5566 typedef struct VkPhysicalDeviceMaintenance3Properties { 5567 VkStructureType sType; 5568 void* pNext; 5569 uint32_t maxPerSetDescriptors; 5570 VkDeviceSize maxMemoryAllocationSize; 5571 } VkPhysicalDeviceMaintenance3Properties; 5572 5573 typedef struct VkDescriptorSetLayoutSupport { 5574 VkStructureType sType; 5575 void* pNext; 5576 VkBool32 supported; 5577 } VkDescriptorSetLayoutSupport; 5578 5579 typedef struct VkPhysicalDeviceShaderDrawParametersFeatures { 5580 VkStructureType sType; 5581 void* pNext; 5582 VkBool32 shaderDrawParameters; 5583 } VkPhysicalDeviceShaderDrawParametersFeatures; 5584 5585 typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures; 5586 5587 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceVersion)(uint32_t* pApiVersion); 5588 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos); 5589 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos); 5590 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 5591 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, uint32_t deviceMask); 5592 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); 5593 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 5594 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); 5595 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); 5596 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 5597 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures); 5598 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties); 5599 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties); 5600 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties); 5601 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties); 5602 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 5603 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties); 5604 typedef void (VKAPI_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags); 5605 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue); 5606 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion); 5607 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator); 5608 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 5609 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator); 5610 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData); 5611 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties); 5612 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties); 5613 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 5614 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport); 5615 5616 #ifndef VK_NO_PROTOTYPES 5617 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceVersion( 5618 uint32_t* pApiVersion); 5619 5620 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2( 5621 VkDevice device, 5622 uint32_t bindInfoCount, 5623 const VkBindBufferMemoryInfo* pBindInfos); 5624 5625 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2( 5626 VkDevice device, 5627 uint32_t bindInfoCount, 5628 const VkBindImageMemoryInfo* pBindInfos); 5629 5630 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeatures( 5631 VkDevice device, 5632 uint32_t heapIndex, 5633 uint32_t localDeviceIndex, 5634 uint32_t remoteDeviceIndex, 5635 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 5636 5637 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMask( 5638 VkCommandBuffer commandBuffer, 5639 uint32_t deviceMask); 5640 5641 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBase( 5642 VkCommandBuffer commandBuffer, 5643 uint32_t baseGroupX, 5644 uint32_t baseGroupY, 5645 uint32_t baseGroupZ, 5646 uint32_t groupCountX, 5647 uint32_t groupCountY, 5648 uint32_t groupCountZ); 5649 5650 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroups( 5651 VkInstance instance, 5652 uint32_t* pPhysicalDeviceGroupCount, 5653 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 5654 5655 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2( 5656 VkDevice device, 5657 const VkImageMemoryRequirementsInfo2* pInfo, 5658 VkMemoryRequirements2* pMemoryRequirements); 5659 5660 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2( 5661 VkDevice device, 5662 const VkBufferMemoryRequirementsInfo2* pInfo, 5663 VkMemoryRequirements2* pMemoryRequirements); 5664 5665 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2( 5666 VkDevice device, 5667 const VkImageSparseMemoryRequirementsInfo2* pInfo, 5668 uint32_t* pSparseMemoryRequirementCount, 5669 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 5670 5671 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2( 5672 VkPhysicalDevice physicalDevice, 5673 VkPhysicalDeviceFeatures2* pFeatures); 5674 5675 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2( 5676 VkPhysicalDevice physicalDevice, 5677 VkPhysicalDeviceProperties2* pProperties); 5678 5679 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2( 5680 VkPhysicalDevice physicalDevice, 5681 VkFormat format, 5682 VkFormatProperties2* pFormatProperties); 5683 5684 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2( 5685 VkPhysicalDevice physicalDevice, 5686 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, 5687 VkImageFormatProperties2* pImageFormatProperties); 5688 5689 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2( 5690 VkPhysicalDevice physicalDevice, 5691 uint32_t* pQueueFamilyPropertyCount, 5692 VkQueueFamilyProperties2* pQueueFamilyProperties); 5693 5694 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2( 5695 VkPhysicalDevice physicalDevice, 5696 VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 5697 5698 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2( 5699 VkPhysicalDevice physicalDevice, 5700 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, 5701 uint32_t* pPropertyCount, 5702 VkSparseImageFormatProperties2* pProperties); 5703 5704 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPool( 5705 VkDevice device, 5706 VkCommandPool commandPool, 5707 VkCommandPoolTrimFlags flags); 5708 5709 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue2( 5710 VkDevice device, 5711 const VkDeviceQueueInfo2* pQueueInfo, 5712 VkQueue* pQueue); 5713 5714 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversion( 5715 VkDevice device, 5716 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, 5717 const VkAllocationCallbacks* pAllocator, 5718 VkSamplerYcbcrConversion* pYcbcrConversion); 5719 5720 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversion( 5721 VkDevice device, 5722 VkSamplerYcbcrConversion ycbcrConversion, 5723 const VkAllocationCallbacks* pAllocator); 5724 5725 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplate( 5726 VkDevice device, 5727 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, 5728 const VkAllocationCallbacks* pAllocator, 5729 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 5730 5731 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplate( 5732 VkDevice device, 5733 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 5734 const VkAllocationCallbacks* pAllocator); 5735 5736 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplate( 5737 VkDevice device, 5738 VkDescriptorSet descriptorSet, 5739 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 5740 const void* pData); 5741 5742 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties( 5743 VkPhysicalDevice physicalDevice, 5744 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, 5745 VkExternalBufferProperties* pExternalBufferProperties); 5746 5747 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFenceProperties( 5748 VkPhysicalDevice physicalDevice, 5749 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, 5750 VkExternalFenceProperties* pExternalFenceProperties); 5751 5752 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphoreProperties( 5753 VkPhysicalDevice physicalDevice, 5754 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, 5755 VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 5756 5757 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport( 5758 VkDevice device, 5759 const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 5760 VkDescriptorSetLayoutSupport* pSupport); 5761 #endif 5762 5763 5764 // VK_VERSION_1_2 is a preprocessor guard. Do not pass it to API calls. 5765 #define VK_VERSION_1_2 1 5766 // Vulkan 1.2 version number 5767 #define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)// Patch version should always be set to 0 5768 5769 #define VK_MAX_DRIVER_NAME_SIZE 256U 5770 #define VK_MAX_DRIVER_INFO_SIZE 256U 5771 5772 typedef enum VkDriverId 5773 { 5774 VK_DRIVER_ID_AMD_PROPRIETARY = 1, 5775 VK_DRIVER_ID_AMD_OPEN_SOURCE = 2, 5776 VK_DRIVER_ID_MESA_RADV = 3, 5777 VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4, 5778 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5, 5779 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6, 5780 VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7, 5781 VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8, 5782 VK_DRIVER_ID_ARM_PROPRIETARY = 9, 5783 VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10, 5784 VK_DRIVER_ID_GGP_PROPRIETARY = 11, 5785 VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12, 5786 VK_DRIVER_ID_MESA_LLVMPIPE = 13, 5787 VK_DRIVER_ID_MOLTENVK = 14, 5788 VK_DRIVER_ID_COREAVI_PROPRIETARY = 15, 5789 VK_DRIVER_ID_JUICE_PROPRIETARY = 16, 5790 VK_DRIVER_ID_VERISILICON_PROPRIETARY = 17, 5791 VK_DRIVER_ID_MESA_TURNIP = 18, 5792 VK_DRIVER_ID_MESA_V3DV = 19, 5793 VK_DRIVER_ID_MESA_PANVK = 20, 5794 VK_DRIVER_ID_SAMSUNG_PROPRIETARY = 21, 5795 VK_DRIVER_ID_MESA_VENUS = 22, 5796 VK_DRIVER_ID_MESA_DOZEN = 23, 5797 VK_DRIVER_ID_MESA_NVK = 24, 5798 VK_DRIVER_ID_IMAGINATION_OPEN_SOURCE_MESA = 25, 5799 VK_DRIVER_ID_MESA_AGXV = 26, 5800 VK_DRIVER_ID_RESERVED_27 = 27, 5801 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY, 5802 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE, 5803 VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV, 5804 VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR = VK_DRIVER_ID_NVIDIA_PROPRIETARY, 5805 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS, 5806 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA, 5807 VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR = VK_DRIVER_ID_IMAGINATION_PROPRIETARY, 5808 VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR = VK_DRIVER_ID_QUALCOMM_PROPRIETARY, 5809 VK_DRIVER_ID_ARM_PROPRIETARY_KHR = VK_DRIVER_ID_ARM_PROPRIETARY, 5810 VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR = VK_DRIVER_ID_GOOGLE_SWIFTSHADER, 5811 VK_DRIVER_ID_GGP_PROPRIETARY_KHR = VK_DRIVER_ID_GGP_PROPRIETARY, 5812 VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR = VK_DRIVER_ID_BROADCOM_PROPRIETARY, 5813 VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF 5814 } VkDriverId; 5815 5816 typedef enum VkShaderFloatControlsIndependence { 5817 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0, 5818 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1, 5819 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2, 5820 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY, 5821 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL, 5822 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE, 5823 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM = 0x7FFFFFFF 5824 } VkShaderFloatControlsIndependence; 5825 5826 typedef enum VkSamplerReductionMode { 5827 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0, 5828 VK_SAMPLER_REDUCTION_MODE_MIN = 1, 5829 VK_SAMPLER_REDUCTION_MODE_MAX = 2, 5830 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_RANGECLAMP_QCOM = 1000521000, 5831 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, 5832 VK_SAMPLER_REDUCTION_MODE_MIN_EXT = VK_SAMPLER_REDUCTION_MODE_MIN, 5833 VK_SAMPLER_REDUCTION_MODE_MAX_EXT = VK_SAMPLER_REDUCTION_MODE_MAX, 5834 VK_SAMPLER_REDUCTION_MODE_MAX_ENUM = 0x7FFFFFFF 5835 } VkSamplerReductionMode; 5836 5837 typedef enum VkSemaphoreType { 5838 VK_SEMAPHORE_TYPE_BINARY = 0, 5839 VK_SEMAPHORE_TYPE_TIMELINE = 1, 5840 VK_SEMAPHORE_TYPE_BINARY_KHR = VK_SEMAPHORE_TYPE_BINARY, 5841 VK_SEMAPHORE_TYPE_TIMELINE_KHR = VK_SEMAPHORE_TYPE_TIMELINE, 5842 VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF 5843 } VkSemaphoreType; 5844 5845 typedef enum VkResolveModeFlagBits { 5846 VK_RESOLVE_MODE_NONE = 0, 5847 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 0x00000001, 5848 VK_RESOLVE_MODE_AVERAGE_BIT = 0x00000002, 5849 VK_RESOLVE_MODE_MIN_BIT = 0x00000004, 5850 VK_RESOLVE_MODE_MAX_BIT = 0x00000008, 5851 VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID = 0x00000010, 5852 VK_RESOLVE_MODE_NONE_KHR = VK_RESOLVE_MODE_NONE, 5853 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT, 5854 VK_RESOLVE_MODE_AVERAGE_BIT_KHR = VK_RESOLVE_MODE_AVERAGE_BIT, 5855 VK_RESOLVE_MODE_MIN_BIT_KHR = VK_RESOLVE_MODE_MIN_BIT, 5856 VK_RESOLVE_MODE_MAX_BIT_KHR = VK_RESOLVE_MODE_MAX_BIT, 5857 VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5858 } VkResolveModeFlagBits; 5859 typedef VkFlags VkResolveModeFlags; 5860 5861 typedef enum VkDescriptorBindingFlagBits { 5862 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 0x00000001, 5863 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 0x00000002, 5864 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 0x00000004, 5865 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 0x00000008, 5866 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT, 5867 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT, 5868 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT, 5869 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT, 5870 VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5871 } VkDescriptorBindingFlagBits; 5872 typedef VkFlags VkDescriptorBindingFlags; 5873 5874 typedef enum VkSemaphoreWaitFlagBits { 5875 VK_SEMAPHORE_WAIT_ANY_BIT = 0x00000001, 5876 VK_SEMAPHORE_WAIT_ANY_BIT_KHR = VK_SEMAPHORE_WAIT_ANY_BIT, 5877 VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5878 } VkSemaphoreWaitFlagBits; 5879 typedef VkFlags VkSemaphoreWaitFlags; 5880 typedef struct VkPhysicalDeviceVulkan11Features { 5881 VkStructureType sType; 5882 void* pNext; 5883 VkBool32 storageBuffer16BitAccess; 5884 VkBool32 uniformAndStorageBuffer16BitAccess; 5885 VkBool32 storagePushConstant16; 5886 VkBool32 storageInputOutput16; 5887 VkBool32 multiview; 5888 VkBool32 multiviewGeometryShader; 5889 VkBool32 multiviewTessellationShader; 5890 VkBool32 variablePointersStorageBuffer; 5891 VkBool32 variablePointers; 5892 VkBool32 protectedMemory; 5893 VkBool32 samplerYcbcrConversion; 5894 VkBool32 shaderDrawParameters; 5895 } VkPhysicalDeviceVulkan11Features; 5896 5897 typedef struct VkPhysicalDeviceVulkan11Properties { 5898 VkStructureType sType; 5899 void* pNext; 5900 uint8_t deviceUUID[VK_UUID_SIZE]; 5901 uint8_t driverUUID[VK_UUID_SIZE]; 5902 uint8_t deviceLUID[VK_LUID_SIZE]; 5903 uint32_t deviceNodeMask; 5904 VkBool32 deviceLUIDValid; 5905 uint32_t subgroupSize; 5906 VkShaderStageFlags subgroupSupportedStages; 5907 VkSubgroupFeatureFlags subgroupSupportedOperations; 5908 VkBool32 subgroupQuadOperationsInAllStages; 5909 VkPointClippingBehavior pointClippingBehavior; 5910 uint32_t maxMultiviewViewCount; 5911 uint32_t maxMultiviewInstanceIndex; 5912 VkBool32 protectedNoFault; 5913 uint32_t maxPerSetDescriptors; 5914 VkDeviceSize maxMemoryAllocationSize; 5915 } VkPhysicalDeviceVulkan11Properties; 5916 5917 typedef struct VkPhysicalDeviceVulkan12Features { 5918 VkStructureType sType; 5919 void* pNext; 5920 VkBool32 samplerMirrorClampToEdge; 5921 VkBool32 drawIndirectCount; 5922 VkBool32 storageBuffer8BitAccess; 5923 VkBool32 uniformAndStorageBuffer8BitAccess; 5924 VkBool32 storagePushConstant8; 5925 VkBool32 shaderBufferInt64Atomics; 5926 VkBool32 shaderSharedInt64Atomics; 5927 VkBool32 shaderFloat16; 5928 VkBool32 shaderInt8; 5929 VkBool32 descriptorIndexing; 5930 VkBool32 shaderInputAttachmentArrayDynamicIndexing; 5931 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing; 5932 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing; 5933 VkBool32 shaderUniformBufferArrayNonUniformIndexing; 5934 VkBool32 shaderSampledImageArrayNonUniformIndexing; 5935 VkBool32 shaderStorageBufferArrayNonUniformIndexing; 5936 VkBool32 shaderStorageImageArrayNonUniformIndexing; 5937 VkBool32 shaderInputAttachmentArrayNonUniformIndexing; 5938 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing; 5939 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing; 5940 VkBool32 descriptorBindingUniformBufferUpdateAfterBind; 5941 VkBool32 descriptorBindingSampledImageUpdateAfterBind; 5942 VkBool32 descriptorBindingStorageImageUpdateAfterBind; 5943 VkBool32 descriptorBindingStorageBufferUpdateAfterBind; 5944 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind; 5945 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind; 5946 VkBool32 descriptorBindingUpdateUnusedWhilePending; 5947 VkBool32 descriptorBindingPartiallyBound; 5948 VkBool32 descriptorBindingVariableDescriptorCount; 5949 VkBool32 runtimeDescriptorArray; 5950 VkBool32 samplerFilterMinmax; 5951 VkBool32 scalarBlockLayout; 5952 VkBool32 imagelessFramebuffer; 5953 VkBool32 uniformBufferStandardLayout; 5954 VkBool32 shaderSubgroupExtendedTypes; 5955 VkBool32 separateDepthStencilLayouts; 5956 VkBool32 hostQueryReset; 5957 VkBool32 timelineSemaphore; 5958 VkBool32 bufferDeviceAddress; 5959 VkBool32 bufferDeviceAddressCaptureReplay; 5960 VkBool32 bufferDeviceAddressMultiDevice; 5961 VkBool32 vulkanMemoryModel; 5962 VkBool32 vulkanMemoryModelDeviceScope; 5963 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains; 5964 VkBool32 shaderOutputViewportIndex; 5965 VkBool32 shaderOutputLayer; 5966 VkBool32 subgroupBroadcastDynamicId; 5967 } VkPhysicalDeviceVulkan12Features; 5968 5969 typedef struct VkConformanceVersion { 5970 uint8_t major; 5971 uint8_t minor; 5972 uint8_t subminor; 5973 uint8_t patch; 5974 } VkConformanceVersion; 5975 5976 typedef struct VkPhysicalDeviceVulkan12Properties { 5977 VkStructureType sType; 5978 void* pNext; 5979 VkDriverId driverID; 5980 char driverName[VK_MAX_DRIVER_NAME_SIZE]; 5981 char driverInfo[VK_MAX_DRIVER_INFO_SIZE]; 5982 VkConformanceVersion conformanceVersion; 5983 VkShaderFloatControlsIndependence denormBehaviorIndependence; 5984 VkShaderFloatControlsIndependence roundingModeIndependence; 5985 VkBool32 shaderSignedZeroInfNanPreserveFloat16; 5986 VkBool32 shaderSignedZeroInfNanPreserveFloat32; 5987 VkBool32 shaderSignedZeroInfNanPreserveFloat64; 5988 VkBool32 shaderDenormPreserveFloat16; 5989 VkBool32 shaderDenormPreserveFloat32; 5990 VkBool32 shaderDenormPreserveFloat64; 5991 VkBool32 shaderDenormFlushToZeroFloat16; 5992 VkBool32 shaderDenormFlushToZeroFloat32; 5993 VkBool32 shaderDenormFlushToZeroFloat64; 5994 VkBool32 shaderRoundingModeRTEFloat16; 5995 VkBool32 shaderRoundingModeRTEFloat32; 5996 VkBool32 shaderRoundingModeRTEFloat64; 5997 VkBool32 shaderRoundingModeRTZFloat16; 5998 VkBool32 shaderRoundingModeRTZFloat32; 5999 VkBool32 shaderRoundingModeRTZFloat64; 6000 uint32_t maxUpdateAfterBindDescriptorsInAllPools; 6001 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative; 6002 VkBool32 shaderSampledImageArrayNonUniformIndexingNative; 6003 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative; 6004 VkBool32 shaderStorageImageArrayNonUniformIndexingNative; 6005 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative; 6006 VkBool32 robustBufferAccessUpdateAfterBind; 6007 VkBool32 quadDivergentImplicitLod; 6008 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers; 6009 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers; 6010 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers; 6011 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages; 6012 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages; 6013 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments; 6014 uint32_t maxPerStageUpdateAfterBindResources; 6015 uint32_t maxDescriptorSetUpdateAfterBindSamplers; 6016 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers; 6017 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic; 6018 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers; 6019 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic; 6020 uint32_t maxDescriptorSetUpdateAfterBindSampledImages; 6021 uint32_t maxDescriptorSetUpdateAfterBindStorageImages; 6022 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments; 6023 VkResolveModeFlags supportedDepthResolveModes; 6024 VkResolveModeFlags supportedStencilResolveModes; 6025 VkBool32 independentResolveNone; 6026 VkBool32 independentResolve; 6027 VkBool32 filterMinmaxSingleComponentFormats; 6028 VkBool32 filterMinmaxImageComponentMapping; 6029 uint64_t maxTimelineSemaphoreValueDifference; 6030 VkSampleCountFlags framebufferIntegerColorSampleCounts; 6031 } VkPhysicalDeviceVulkan12Properties; 6032 6033 typedef struct VkImageFormatListCreateInfo { 6034 VkStructureType sType; 6035 const void* pNext; 6036 uint32_t viewFormatCount; 6037 const VkFormat* pViewFormats; 6038 } VkImageFormatListCreateInfo; 6039 6040 typedef struct VkAttachmentDescription2 { 6041 VkStructureType sType; 6042 const void* pNext; 6043 VkAttachmentDescriptionFlags flags; 6044 VkFormat format; 6045 VkSampleCountFlagBits samples; 6046 VkAttachmentLoadOp loadOp; 6047 VkAttachmentStoreOp storeOp; 6048 VkAttachmentLoadOp stencilLoadOp; 6049 VkAttachmentStoreOp stencilStoreOp; 6050 VkImageLayout initialLayout; 6051 VkImageLayout finalLayout; 6052 } VkAttachmentDescription2; 6053 6054 typedef struct VkAttachmentReference2 { 6055 VkStructureType sType; 6056 const void* pNext; 6057 uint32_t attachment; 6058 VkImageLayout layout; 6059 VkImageAspectFlags aspectMask; 6060 } VkAttachmentReference2; 6061 6062 typedef struct VkSubpassDescription2 { 6063 VkStructureType sType; 6064 const void* pNext; 6065 VkSubpassDescriptionFlags flags; 6066 VkPipelineBindPoint pipelineBindPoint; 6067 uint32_t viewMask; 6068 uint32_t inputAttachmentCount; 6069 const VkAttachmentReference2* pInputAttachments; 6070 uint32_t colorAttachmentCount; 6071 const VkAttachmentReference2* pColorAttachments; 6072 const VkAttachmentReference2* pResolveAttachments; 6073 const VkAttachmentReference2* pDepthStencilAttachment; 6074 uint32_t preserveAttachmentCount; 6075 const uint32_t* pPreserveAttachments; 6076 } VkSubpassDescription2; 6077 6078 typedef struct VkSubpassDependency2 { 6079 VkStructureType sType; 6080 const void* pNext; 6081 uint32_t srcSubpass; 6082 uint32_t dstSubpass; 6083 VkPipelineStageFlags srcStageMask; 6084 VkPipelineStageFlags dstStageMask; 6085 VkAccessFlags srcAccessMask; 6086 VkAccessFlags dstAccessMask; 6087 VkDependencyFlags dependencyFlags; 6088 int32_t viewOffset; 6089 } VkSubpassDependency2; 6090 6091 typedef struct VkRenderPassCreateInfo2 { 6092 VkStructureType sType; 6093 const void* pNext; 6094 VkRenderPassCreateFlags flags; 6095 uint32_t attachmentCount; 6096 const VkAttachmentDescription2* pAttachments; 6097 uint32_t subpassCount; 6098 const VkSubpassDescription2* pSubpasses; 6099 uint32_t dependencyCount; 6100 const VkSubpassDependency2* pDependencies; 6101 uint32_t correlatedViewMaskCount; 6102 const uint32_t* pCorrelatedViewMasks; 6103 } VkRenderPassCreateInfo2; 6104 6105 typedef struct VkSubpassBeginInfo { 6106 VkStructureType sType; 6107 const void* pNext; 6108 VkSubpassContents contents; 6109 } VkSubpassBeginInfo; 6110 6111 typedef struct VkSubpassEndInfo { 6112 VkStructureType sType; 6113 const void* pNext; 6114 } VkSubpassEndInfo; 6115 6116 typedef struct VkPhysicalDevice8BitStorageFeatures { 6117 VkStructureType sType; 6118 void* pNext; 6119 VkBool32 storageBuffer8BitAccess; 6120 VkBool32 uniformAndStorageBuffer8BitAccess; 6121 VkBool32 storagePushConstant8; 6122 } VkPhysicalDevice8BitStorageFeatures; 6123 6124 typedef struct VkPhysicalDeviceDriverProperties { 6125 VkStructureType sType; 6126 void* pNext; 6127 VkDriverId driverID; 6128 char driverName[VK_MAX_DRIVER_NAME_SIZE]; 6129 char driverInfo[VK_MAX_DRIVER_INFO_SIZE]; 6130 VkConformanceVersion conformanceVersion; 6131 } VkPhysicalDeviceDriverProperties; 6132 6133 typedef struct VkPhysicalDeviceShaderAtomicInt64Features { 6134 VkStructureType sType; 6135 void* pNext; 6136 VkBool32 shaderBufferInt64Atomics; 6137 VkBool32 shaderSharedInt64Atomics; 6138 } VkPhysicalDeviceShaderAtomicInt64Features; 6139 6140 typedef struct VkPhysicalDeviceShaderFloat16Int8Features { 6141 VkStructureType sType; 6142 void* pNext; 6143 VkBool32 shaderFloat16; 6144 VkBool32 shaderInt8; 6145 } VkPhysicalDeviceShaderFloat16Int8Features; 6146 6147 typedef struct VkPhysicalDeviceFloatControlsProperties { 6148 VkStructureType sType; 6149 void* pNext; 6150 VkShaderFloatControlsIndependence denormBehaviorIndependence; 6151 VkShaderFloatControlsIndependence roundingModeIndependence; 6152 VkBool32 shaderSignedZeroInfNanPreserveFloat16; 6153 VkBool32 shaderSignedZeroInfNanPreserveFloat32; 6154 VkBool32 shaderSignedZeroInfNanPreserveFloat64; 6155 VkBool32 shaderDenormPreserveFloat16; 6156 VkBool32 shaderDenormPreserveFloat32; 6157 VkBool32 shaderDenormPreserveFloat64; 6158 VkBool32 shaderDenormFlushToZeroFloat16; 6159 VkBool32 shaderDenormFlushToZeroFloat32; 6160 VkBool32 shaderDenormFlushToZeroFloat64; 6161 VkBool32 shaderRoundingModeRTEFloat16; 6162 VkBool32 shaderRoundingModeRTEFloat32; 6163 VkBool32 shaderRoundingModeRTEFloat64; 6164 VkBool32 shaderRoundingModeRTZFloat16; 6165 VkBool32 shaderRoundingModeRTZFloat32; 6166 VkBool32 shaderRoundingModeRTZFloat64; 6167 } VkPhysicalDeviceFloatControlsProperties; 6168 6169 typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo { 6170 VkStructureType sType; 6171 const void* pNext; 6172 uint32_t bindingCount; 6173 const VkDescriptorBindingFlags* pBindingFlags; 6174 } VkDescriptorSetLayoutBindingFlagsCreateInfo; 6175 6176 typedef struct VkPhysicalDeviceDescriptorIndexingFeatures { 6177 VkStructureType sType; 6178 void* pNext; 6179 VkBool32 shaderInputAttachmentArrayDynamicIndexing; 6180 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing; 6181 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing; 6182 VkBool32 shaderUniformBufferArrayNonUniformIndexing; 6183 VkBool32 shaderSampledImageArrayNonUniformIndexing; 6184 VkBool32 shaderStorageBufferArrayNonUniformIndexing; 6185 VkBool32 shaderStorageImageArrayNonUniformIndexing; 6186 VkBool32 shaderInputAttachmentArrayNonUniformIndexing; 6187 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing; 6188 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing; 6189 VkBool32 descriptorBindingUniformBufferUpdateAfterBind; 6190 VkBool32 descriptorBindingSampledImageUpdateAfterBind; 6191 VkBool32 descriptorBindingStorageImageUpdateAfterBind; 6192 VkBool32 descriptorBindingStorageBufferUpdateAfterBind; 6193 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind; 6194 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind; 6195 VkBool32 descriptorBindingUpdateUnusedWhilePending; 6196 VkBool32 descriptorBindingPartiallyBound; 6197 VkBool32 descriptorBindingVariableDescriptorCount; 6198 VkBool32 runtimeDescriptorArray; 6199 } VkPhysicalDeviceDescriptorIndexingFeatures; 6200 6201 typedef struct VkPhysicalDeviceDescriptorIndexingProperties { 6202 VkStructureType sType; 6203 void* pNext; 6204 uint32_t maxUpdateAfterBindDescriptorsInAllPools; 6205 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative; 6206 VkBool32 shaderSampledImageArrayNonUniformIndexingNative; 6207 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative; 6208 VkBool32 shaderStorageImageArrayNonUniformIndexingNative; 6209 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative; 6210 VkBool32 robustBufferAccessUpdateAfterBind; 6211 VkBool32 quadDivergentImplicitLod; 6212 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers; 6213 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers; 6214 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers; 6215 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages; 6216 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages; 6217 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments; 6218 uint32_t maxPerStageUpdateAfterBindResources; 6219 uint32_t maxDescriptorSetUpdateAfterBindSamplers; 6220 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers; 6221 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic; 6222 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers; 6223 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic; 6224 uint32_t maxDescriptorSetUpdateAfterBindSampledImages; 6225 uint32_t maxDescriptorSetUpdateAfterBindStorageImages; 6226 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments; 6227 } VkPhysicalDeviceDescriptorIndexingProperties; 6228 6229 typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo { 6230 VkStructureType sType; 6231 const void* pNext; 6232 uint32_t descriptorSetCount; 6233 const uint32_t* pDescriptorCounts; 6234 } VkDescriptorSetVariableDescriptorCountAllocateInfo; 6235 6236 typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport { 6237 VkStructureType sType; 6238 void* pNext; 6239 uint32_t maxVariableDescriptorCount; 6240 } VkDescriptorSetVariableDescriptorCountLayoutSupport; 6241 6242 typedef struct VkSubpassDescriptionDepthStencilResolve { 6243 VkStructureType sType; 6244 const void* pNext; 6245 VkResolveModeFlagBits depthResolveMode; 6246 VkResolveModeFlagBits stencilResolveMode; 6247 const VkAttachmentReference2* pDepthStencilResolveAttachment; 6248 } VkSubpassDescriptionDepthStencilResolve; 6249 6250 typedef struct VkPhysicalDeviceDepthStencilResolveProperties { 6251 VkStructureType sType; 6252 void* pNext; 6253 VkResolveModeFlags supportedDepthResolveModes; 6254 VkResolveModeFlags supportedStencilResolveModes; 6255 VkBool32 independentResolveNone; 6256 VkBool32 independentResolve; 6257 } VkPhysicalDeviceDepthStencilResolveProperties; 6258 6259 typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures { 6260 VkStructureType sType; 6261 void* pNext; 6262 VkBool32 scalarBlockLayout; 6263 } VkPhysicalDeviceScalarBlockLayoutFeatures; 6264 6265 typedef struct VkImageStencilUsageCreateInfo { 6266 VkStructureType sType; 6267 const void* pNext; 6268 VkImageUsageFlags stencilUsage; 6269 } VkImageStencilUsageCreateInfo; 6270 6271 typedef struct VkSamplerReductionModeCreateInfo { 6272 VkStructureType sType; 6273 const void* pNext; 6274 VkSamplerReductionMode reductionMode; 6275 } VkSamplerReductionModeCreateInfo; 6276 6277 typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties { 6278 VkStructureType sType; 6279 void* pNext; 6280 VkBool32 filterMinmaxSingleComponentFormats; 6281 VkBool32 filterMinmaxImageComponentMapping; 6282 } VkPhysicalDeviceSamplerFilterMinmaxProperties; 6283 6284 typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures { 6285 VkStructureType sType; 6286 void* pNext; 6287 VkBool32 vulkanMemoryModel; 6288 VkBool32 vulkanMemoryModelDeviceScope; 6289 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains; 6290 } VkPhysicalDeviceVulkanMemoryModelFeatures; 6291 6292 typedef struct VkPhysicalDeviceImagelessFramebufferFeatures { 6293 VkStructureType sType; 6294 void* pNext; 6295 VkBool32 imagelessFramebuffer; 6296 } VkPhysicalDeviceImagelessFramebufferFeatures; 6297 6298 typedef struct VkFramebufferAttachmentImageInfo { 6299 VkStructureType sType; 6300 const void* pNext; 6301 VkImageCreateFlags flags; 6302 VkImageUsageFlags usage; 6303 uint32_t width; 6304 uint32_t height; 6305 uint32_t layerCount; 6306 uint32_t viewFormatCount; 6307 const VkFormat* pViewFormats; 6308 } VkFramebufferAttachmentImageInfo; 6309 6310 typedef struct VkFramebufferAttachmentsCreateInfo { 6311 VkStructureType sType; 6312 const void* pNext; 6313 uint32_t attachmentImageInfoCount; 6314 const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos; 6315 } VkFramebufferAttachmentsCreateInfo; 6316 6317 typedef struct VkRenderPassAttachmentBeginInfo { 6318 VkStructureType sType; 6319 const void* pNext; 6320 uint32_t attachmentCount; 6321 const VkImageView* pAttachments; 6322 } VkRenderPassAttachmentBeginInfo; 6323 6324 typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures { 6325 VkStructureType sType; 6326 void* pNext; 6327 VkBool32 uniformBufferStandardLayout; 6328 } VkPhysicalDeviceUniformBufferStandardLayoutFeatures; 6329 6330 typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures { 6331 VkStructureType sType; 6332 void* pNext; 6333 VkBool32 shaderSubgroupExtendedTypes; 6334 } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures; 6335 6336 typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures { 6337 VkStructureType sType; 6338 void* pNext; 6339 VkBool32 separateDepthStencilLayouts; 6340 } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures; 6341 6342 typedef struct VkAttachmentReferenceStencilLayout { 6343 VkStructureType sType; 6344 void* pNext; 6345 VkImageLayout stencilLayout; 6346 } VkAttachmentReferenceStencilLayout; 6347 6348 typedef struct VkAttachmentDescriptionStencilLayout { 6349 VkStructureType sType; 6350 void* pNext; 6351 VkImageLayout stencilInitialLayout; 6352 VkImageLayout stencilFinalLayout; 6353 } VkAttachmentDescriptionStencilLayout; 6354 6355 typedef struct VkPhysicalDeviceHostQueryResetFeatures { 6356 VkStructureType sType; 6357 void* pNext; 6358 VkBool32 hostQueryReset; 6359 } VkPhysicalDeviceHostQueryResetFeatures; 6360 6361 typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures { 6362 VkStructureType sType; 6363 void* pNext; 6364 VkBool32 timelineSemaphore; 6365 } VkPhysicalDeviceTimelineSemaphoreFeatures; 6366 6367 typedef struct VkPhysicalDeviceTimelineSemaphoreProperties { 6368 VkStructureType sType; 6369 void* pNext; 6370 uint64_t maxTimelineSemaphoreValueDifference; 6371 } VkPhysicalDeviceTimelineSemaphoreProperties; 6372 6373 typedef struct VkSemaphoreTypeCreateInfo { 6374 VkStructureType sType; 6375 const void* pNext; 6376 VkSemaphoreType semaphoreType; 6377 uint64_t initialValue; 6378 } VkSemaphoreTypeCreateInfo; 6379 6380 typedef struct VkTimelineSemaphoreSubmitInfo { 6381 VkStructureType sType; 6382 const void* pNext; 6383 uint32_t waitSemaphoreValueCount; 6384 const uint64_t* pWaitSemaphoreValues; 6385 uint32_t signalSemaphoreValueCount; 6386 const uint64_t* pSignalSemaphoreValues; 6387 } VkTimelineSemaphoreSubmitInfo; 6388 6389 typedef struct VkSemaphoreWaitInfo { 6390 VkStructureType sType; 6391 const void* pNext; 6392 VkSemaphoreWaitFlags flags; 6393 uint32_t semaphoreCount; 6394 const VkSemaphore* pSemaphores; 6395 const uint64_t* pValues; 6396 } VkSemaphoreWaitInfo; 6397 6398 typedef struct VkSemaphoreSignalInfo { 6399 VkStructureType sType; 6400 const void* pNext; 6401 VkSemaphore semaphore; 6402 uint64_t value; 6403 } VkSemaphoreSignalInfo; 6404 6405 typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures { 6406 VkStructureType sType; 6407 void* pNext; 6408 VkBool32 bufferDeviceAddress; 6409 VkBool32 bufferDeviceAddressCaptureReplay; 6410 VkBool32 bufferDeviceAddressMultiDevice; 6411 } VkPhysicalDeviceBufferDeviceAddressFeatures; 6412 6413 typedef struct VkBufferDeviceAddressInfo { 6414 VkStructureType sType; 6415 const void* pNext; 6416 VkBuffer buffer; 6417 } VkBufferDeviceAddressInfo; 6418 6419 typedef struct VkBufferOpaqueCaptureAddressCreateInfo { 6420 VkStructureType sType; 6421 const void* pNext; 6422 uint64_t opaqueCaptureAddress; 6423 } VkBufferOpaqueCaptureAddressCreateInfo; 6424 6425 typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo { 6426 VkStructureType sType; 6427 const void* pNext; 6428 uint64_t opaqueCaptureAddress; 6429 } VkMemoryOpaqueCaptureAddressAllocateInfo; 6430 6431 typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo { 6432 VkStructureType sType; 6433 const void* pNext; 6434 VkDeviceMemory memory; 6435 } VkDeviceMemoryOpaqueCaptureAddressInfo; 6436 6437 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 6438 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 6439 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); 6440 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo); 6441 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo); 6442 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo); 6443 typedef void (VKAPI_PTR *PFN_vkResetQueryPool)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount); 6444 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValue)(VkDevice device, VkSemaphore semaphore, uint64_t* pValue); 6445 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphores)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout); 6446 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphore)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo); 6447 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 6448 typedef uint64_t (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 6449 typedef uint64_t (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); 6450 6451 #ifndef VK_NO_PROTOTYPES 6452 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCount( 6453 VkCommandBuffer commandBuffer, 6454 VkBuffer buffer, 6455 VkDeviceSize offset, 6456 VkBuffer countBuffer, 6457 VkDeviceSize countBufferOffset, 6458 uint32_t maxDrawCount, 6459 uint32_t stride); 6460 6461 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCount( 6462 VkCommandBuffer commandBuffer, 6463 VkBuffer buffer, 6464 VkDeviceSize offset, 6465 VkBuffer countBuffer, 6466 VkDeviceSize countBufferOffset, 6467 uint32_t maxDrawCount, 6468 uint32_t stride); 6469 6470 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2( 6471 VkDevice device, 6472 const VkRenderPassCreateInfo2* pCreateInfo, 6473 const VkAllocationCallbacks* pAllocator, 6474 VkRenderPass* pRenderPass); 6475 6476 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2( 6477 VkCommandBuffer commandBuffer, 6478 const VkRenderPassBeginInfo* pRenderPassBegin, 6479 const VkSubpassBeginInfo* pSubpassBeginInfo); 6480 6481 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2( 6482 VkCommandBuffer commandBuffer, 6483 const VkSubpassBeginInfo* pSubpassBeginInfo, 6484 const VkSubpassEndInfo* pSubpassEndInfo); 6485 6486 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2( 6487 VkCommandBuffer commandBuffer, 6488 const VkSubpassEndInfo* pSubpassEndInfo); 6489 6490 VKAPI_ATTR void VKAPI_CALL vkResetQueryPool( 6491 VkDevice device, 6492 VkQueryPool queryPool, 6493 uint32_t firstQuery, 6494 uint32_t queryCount); 6495 6496 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValue( 6497 VkDevice device, 6498 VkSemaphore semaphore, 6499 uint64_t* pValue); 6500 6501 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphores( 6502 VkDevice device, 6503 const VkSemaphoreWaitInfo* pWaitInfo, 6504 uint64_t timeout); 6505 6506 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphore( 6507 VkDevice device, 6508 const VkSemaphoreSignalInfo* pSignalInfo); 6509 6510 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddress( 6511 VkDevice device, 6512 const VkBufferDeviceAddressInfo* pInfo); 6513 6514 VKAPI_ATTR uint64_t VKAPI_CALL vkGetBufferOpaqueCaptureAddress( 6515 VkDevice device, 6516 const VkBufferDeviceAddressInfo* pInfo); 6517 6518 VKAPI_ATTR uint64_t VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddress( 6519 VkDevice device, 6520 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); 6521 #endif 6522 6523 6524 // VK_VERSION_1_3 is a preprocessor guard. Do not pass it to API calls. 6525 #define VK_VERSION_1_3 1 6526 // Vulkan 1.3 version number 6527 #define VK_API_VERSION_1_3 VK_MAKE_API_VERSION(0, 1, 3, 0)// Patch version should always be set to 0 6528 6529 typedef uint64_t VkFlags64; 6530 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlot) 6531 6532 typedef enum VkPipelineCreationFeedbackFlagBits { 6533 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT = 0x00000001, 6534 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT = 0x00000002, 6535 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT = 0x00000004, 6536 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT, 6537 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT, 6538 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT, 6539 VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 6540 } VkPipelineCreationFeedbackFlagBits; 6541 typedef VkFlags VkPipelineCreationFeedbackFlags; 6542 6543 typedef enum VkToolPurposeFlagBits { 6544 VK_TOOL_PURPOSE_VALIDATION_BIT = 0x00000001, 6545 VK_TOOL_PURPOSE_PROFILING_BIT = 0x00000002, 6546 VK_TOOL_PURPOSE_TRACING_BIT = 0x00000004, 6547 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT = 0x00000008, 6548 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT = 0x00000010, 6549 VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 0x00000020, 6550 VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 0x00000040, 6551 VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = VK_TOOL_PURPOSE_VALIDATION_BIT, 6552 VK_TOOL_PURPOSE_PROFILING_BIT_EXT = VK_TOOL_PURPOSE_PROFILING_BIT, 6553 VK_TOOL_PURPOSE_TRACING_BIT_EXT = VK_TOOL_PURPOSE_TRACING_BIT, 6554 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT, 6555 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT, 6556 VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 6557 } VkToolPurposeFlagBits; 6558 typedef VkFlags VkToolPurposeFlags; 6559 typedef VkFlags VkPrivateDataSlotCreateFlags; 6560 typedef VkFlags64 VkPipelineStageFlags2; 6561 6562 // Flag bits for VkPipelineStageFlagBits2 6563 typedef VkFlags64 VkPipelineStageFlagBits2; 6564 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_NONE = 0ULL; 6565 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_NONE_KHR = 0ULL; 6566 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT = 0x00000001ULL; 6567 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR = 0x00000001ULL; 6568 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT = 0x00000002ULL; 6569 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR = 0x00000002ULL; 6570 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT = 0x00000004ULL; 6571 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR = 0x00000004ULL; 6572 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT = 0x00000008ULL; 6573 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR = 0x00000008ULL; 6574 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010ULL; 6575 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR = 0x00000010ULL; 6576 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020ULL; 6577 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR = 0x00000020ULL; 6578 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT = 0x00000040ULL; 6579 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR = 0x00000040ULL; 6580 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT = 0x00000080ULL; 6581 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR = 0x00000080ULL; 6582 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT = 0x00000100ULL; 6583 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR = 0x00000100ULL; 6584 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT = 0x00000200ULL; 6585 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR = 0x00000200ULL; 6586 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400ULL; 6587 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR = 0x00000400ULL; 6588 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT = 0x00000800ULL; 6589 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR = 0x00000800ULL; 6590 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT = 0x00001000ULL; 6591 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR = 0x00001000ULL; 6592 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFER_BIT = 0x00001000ULL; 6593 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR = 0x00001000ULL; 6594 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT = 0x00002000ULL; 6595 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR = 0x00002000ULL; 6596 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_HOST_BIT = 0x00004000ULL; 6597 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_HOST_BIT_KHR = 0x00004000ULL; 6598 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT = 0x00008000ULL; 6599 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR = 0x00008000ULL; 6600 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT = 0x00010000ULL; 6601 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR = 0x00010000ULL; 6602 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT = 0x100000000ULL; 6603 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT_KHR = 0x100000000ULL; 6604 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RESOLVE_BIT = 0x200000000ULL; 6605 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR = 0x200000000ULL; 6606 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BLIT_BIT = 0x400000000ULL; 6607 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BLIT_BIT_KHR = 0x400000000ULL; 6608 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLEAR_BIT = 0x800000000ULL; 6609 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR = 0x800000000ULL; 6610 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT = 0x1000000000ULL; 6611 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = 0x1000000000ULL; 6612 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT = 0x2000000000ULL; 6613 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = 0x2000000000ULL; 6614 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT = 0x4000000000ULL; 6615 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = 0x4000000000ULL; 6616 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR = 0x04000000ULL; 6617 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR = 0x08000000ULL; 6618 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000ULL; 6619 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000ULL; 6620 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = 0x00020000ULL; 6621 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000ULL; 6622 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV = 0x00400000ULL; 6623 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000ULL; 6624 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR = 0x00200000ULL; 6625 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV = 0x00200000ULL; 6626 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000ULL; 6627 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000ULL; 6628 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV = 0x00080000ULL; 6629 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = 0x00100000ULL; 6630 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT = 0x00080000ULL; 6631 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT = 0x00100000ULL; 6632 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI = 0x8000000000ULL; 6633 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI = 0x8000000000ULL; 6634 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI = 0x10000000000ULL; 6635 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR = 0x10000000ULL; 6636 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT = 0x40000000ULL; 6637 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI = 0x20000000000ULL; 6638 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV = 0x20000000ULL; 6639 6640 typedef VkFlags64 VkAccessFlags2; 6641 6642 // Flag bits for VkAccessFlagBits2 6643 typedef VkFlags64 VkAccessFlagBits2; 6644 static const VkAccessFlagBits2 VK_ACCESS_2_NONE = 0ULL; 6645 static const VkAccessFlagBits2 VK_ACCESS_2_NONE_KHR = 0ULL; 6646 static const VkAccessFlagBits2 VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT = 0x00000001ULL; 6647 static const VkAccessFlagBits2 VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR = 0x00000001ULL; 6648 static const VkAccessFlagBits2 VK_ACCESS_2_INDEX_READ_BIT = 0x00000002ULL; 6649 static const VkAccessFlagBits2 VK_ACCESS_2_INDEX_READ_BIT_KHR = 0x00000002ULL; 6650 static const VkAccessFlagBits2 VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004ULL; 6651 static const VkAccessFlagBits2 VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR = 0x00000004ULL; 6652 static const VkAccessFlagBits2 VK_ACCESS_2_UNIFORM_READ_BIT = 0x00000008ULL; 6653 static const VkAccessFlagBits2 VK_ACCESS_2_UNIFORM_READ_BIT_KHR = 0x00000008ULL; 6654 static const VkAccessFlagBits2 VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT = 0x00000010ULL; 6655 static const VkAccessFlagBits2 VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR = 0x00000010ULL; 6656 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_READ_BIT = 0x00000020ULL; 6657 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_READ_BIT_KHR = 0x00000020ULL; 6658 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_WRITE_BIT = 0x00000040ULL; 6659 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_WRITE_BIT_KHR = 0x00000040ULL; 6660 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT = 0x00000080ULL; 6661 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR = 0x00000080ULL; 6662 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100ULL; 6663 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR = 0x00000100ULL; 6664 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200ULL; 6665 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR = 0x00000200ULL; 6666 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400ULL; 6667 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR = 0x00000400ULL; 6668 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_READ_BIT = 0x00000800ULL; 6669 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_READ_BIT_KHR = 0x00000800ULL; 6670 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_WRITE_BIT = 0x00001000ULL; 6671 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR = 0x00001000ULL; 6672 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_READ_BIT = 0x00002000ULL; 6673 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_READ_BIT_KHR = 0x00002000ULL; 6674 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_WRITE_BIT = 0x00004000ULL; 6675 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_WRITE_BIT_KHR = 0x00004000ULL; 6676 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_READ_BIT = 0x00008000ULL; 6677 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_READ_BIT_KHR = 0x00008000ULL; 6678 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_WRITE_BIT = 0x00010000ULL; 6679 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_WRITE_BIT_KHR = 0x00010000ULL; 6680 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_SAMPLED_READ_BIT = 0x100000000ULL; 6681 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR = 0x100000000ULL; 6682 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT = 0x200000000ULL; 6683 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 0x200000000ULL; 6684 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT = 0x400000000ULL; 6685 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 0x400000000ULL; 6686 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR = 0x800000000ULL; 6687 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR = 0x1000000000ULL; 6688 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR = 0x2000000000ULL; 6689 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR = 0x4000000000ULL; 6690 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000ULL; 6691 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000ULL; 6692 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000ULL; 6693 static const VkAccessFlagBits2 VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000ULL; 6694 static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000ULL; 6695 static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000ULL; 6696 static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000ULL; 6697 static const VkAccessFlagBits2 VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000ULL; 6698 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000ULL; 6699 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000ULL; 6700 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000ULL; 6701 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000ULL; 6702 static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000ULL; 6703 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000ULL; 6704 static const VkAccessFlagBits2 VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT = 0x20000000000ULL; 6705 static const VkAccessFlagBits2 VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI = 0x8000000000ULL; 6706 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR = 0x10000000000ULL; 6707 static const VkAccessFlagBits2 VK_ACCESS_2_MICROMAP_READ_BIT_EXT = 0x100000000000ULL; 6708 static const VkAccessFlagBits2 VK_ACCESS_2_MICROMAP_WRITE_BIT_EXT = 0x200000000000ULL; 6709 static const VkAccessFlagBits2 VK_ACCESS_2_OPTICAL_FLOW_READ_BIT_NV = 0x40000000000ULL; 6710 static const VkAccessFlagBits2 VK_ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV = 0x80000000000ULL; 6711 6712 6713 typedef enum VkSubmitFlagBits { 6714 VK_SUBMIT_PROTECTED_BIT = 0x00000001, 6715 VK_SUBMIT_PROTECTED_BIT_KHR = VK_SUBMIT_PROTECTED_BIT, 6716 VK_SUBMIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 6717 } VkSubmitFlagBits; 6718 typedef VkFlags VkSubmitFlags; 6719 6720 typedef enum VkRenderingFlagBits { 6721 VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT = 0x00000001, 6722 VK_RENDERING_SUSPENDING_BIT = 0x00000002, 6723 VK_RENDERING_RESUMING_BIT = 0x00000004, 6724 VK_RENDERING_CONTENTS_INLINE_BIT_EXT = 0x00000010, 6725 VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT = 0x00000008, 6726 VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT, 6727 VK_RENDERING_SUSPENDING_BIT_KHR = VK_RENDERING_SUSPENDING_BIT, 6728 VK_RENDERING_RESUMING_BIT_KHR = VK_RENDERING_RESUMING_BIT, 6729 VK_RENDERING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 6730 } VkRenderingFlagBits; 6731 typedef VkFlags VkRenderingFlags; 6732 typedef VkFlags64 VkFormatFeatureFlags2; 6733 6734 // Flag bits for VkFormatFeatureFlagBits2 6735 typedef VkFlags64 VkFormatFeatureFlagBits2; 6736 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT = 0x00000001ULL; 6737 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR = 0x00000001ULL; 6738 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT = 0x00000002ULL; 6739 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR = 0x00000002ULL; 6740 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004ULL; 6741 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR = 0x00000004ULL; 6742 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008ULL; 6743 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR = 0x00000008ULL; 6744 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT = 0x00000010ULL; 6745 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT_KHR = 0x00000010ULL; 6746 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020ULL; 6747 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR = 0x00000020ULL; 6748 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT = 0x00000040ULL; 6749 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR = 0x00000040ULL; 6750 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT = 0x00000080ULL; 6751 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR = 0x00000080ULL; 6752 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100ULL; 6753 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR = 0x00000100ULL; 6754 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200ULL; 6755 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR = 0x00000200ULL; 6756 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_SRC_BIT = 0x00000400ULL; 6757 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR = 0x00000400ULL; 6758 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_DST_BIT = 0x00000800ULL; 6759 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_DST_BIT_KHR = 0x00000800ULL; 6760 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000ULL; 6761 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR = 0x00001000ULL; 6762 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT = 0x00002000ULL; 6763 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = 0x00002000ULL; 6764 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT = 0x00004000ULL; 6765 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR = 0x00004000ULL; 6766 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT = 0x00008000ULL; 6767 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR = 0x00008000ULL; 6768 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000ULL; 6769 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR = 0x00010000ULL; 6770 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000ULL; 6771 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = 0x00020000ULL; 6772 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000ULL; 6773 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = 0x00040000ULL; 6774 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000ULL; 6775 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = 0x00080000ULL; 6776 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000ULL; 6777 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = 0x00100000ULL; 6778 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000ULL; 6779 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR = 0x00200000ULL; 6780 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DISJOINT_BIT = 0x00400000ULL; 6781 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DISJOINT_BIT_KHR = 0x00400000ULL; 6782 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT = 0x00800000ULL; 6783 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR = 0x00800000ULL; 6784 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT = 0x80000000ULL; 6785 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR = 0x80000000ULL; 6786 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT = 0x100000000ULL; 6787 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR = 0x100000000ULL; 6788 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT = 0x200000000ULL; 6789 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR = 0x200000000ULL; 6790 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000ULL; 6791 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000ULL; 6792 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000ULL; 6793 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000ULL; 6794 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000ULL; 6795 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_HOST_IMAGE_TRANSFER_BIT_EXT = 0x400000000000ULL; 6796 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000ULL; 6797 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000ULL; 6798 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV = 0x4000000000ULL; 6799 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM = 0x400000000ULL; 6800 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM = 0x800000000ULL; 6801 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM = 0x1000000000ULL; 6802 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM = 0x2000000000ULL; 6803 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_IMAGE_BIT_NV = 0x10000000000ULL; 6804 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_VECTOR_BIT_NV = 0x20000000000ULL; 6805 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_COST_BIT_NV = 0x40000000000ULL; 6806 6807 typedef struct VkPhysicalDeviceVulkan13Features { 6808 VkStructureType sType; 6809 void* pNext; 6810 VkBool32 robustImageAccess; 6811 VkBool32 inlineUniformBlock; 6812 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind; 6813 VkBool32 pipelineCreationCacheControl; 6814 VkBool32 privateData; 6815 VkBool32 shaderDemoteToHelperInvocation; 6816 VkBool32 shaderTerminateInvocation; 6817 VkBool32 subgroupSizeControl; 6818 VkBool32 computeFullSubgroups; 6819 VkBool32 synchronization2; 6820 VkBool32 textureCompressionASTC_HDR; 6821 VkBool32 shaderZeroInitializeWorkgroupMemory; 6822 VkBool32 dynamicRendering; 6823 VkBool32 shaderIntegerDotProduct; 6824 VkBool32 maintenance4; 6825 } VkPhysicalDeviceVulkan13Features; 6826 6827 typedef struct VkPhysicalDeviceVulkan13Properties { 6828 VkStructureType sType; 6829 void* pNext; 6830 uint32_t minSubgroupSize; 6831 uint32_t maxSubgroupSize; 6832 uint32_t maxComputeWorkgroupSubgroups; 6833 VkShaderStageFlags requiredSubgroupSizeStages; 6834 uint32_t maxInlineUniformBlockSize; 6835 uint32_t maxPerStageDescriptorInlineUniformBlocks; 6836 uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks; 6837 uint32_t maxDescriptorSetInlineUniformBlocks; 6838 uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks; 6839 uint32_t maxInlineUniformTotalSize; 6840 VkBool32 integerDotProduct8BitUnsignedAccelerated; 6841 VkBool32 integerDotProduct8BitSignedAccelerated; 6842 VkBool32 integerDotProduct8BitMixedSignednessAccelerated; 6843 VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated; 6844 VkBool32 integerDotProduct4x8BitPackedSignedAccelerated; 6845 VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated; 6846 VkBool32 integerDotProduct16BitUnsignedAccelerated; 6847 VkBool32 integerDotProduct16BitSignedAccelerated; 6848 VkBool32 integerDotProduct16BitMixedSignednessAccelerated; 6849 VkBool32 integerDotProduct32BitUnsignedAccelerated; 6850 VkBool32 integerDotProduct32BitSignedAccelerated; 6851 VkBool32 integerDotProduct32BitMixedSignednessAccelerated; 6852 VkBool32 integerDotProduct64BitUnsignedAccelerated; 6853 VkBool32 integerDotProduct64BitSignedAccelerated; 6854 VkBool32 integerDotProduct64BitMixedSignednessAccelerated; 6855 VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated; 6856 VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated; 6857 VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated; 6858 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated; 6859 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated; 6860 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated; 6861 VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated; 6862 VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated; 6863 VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated; 6864 VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated; 6865 VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated; 6866 VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated; 6867 VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated; 6868 VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated; 6869 VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated; 6870 VkDeviceSize storageTexelBufferOffsetAlignmentBytes; 6871 VkBool32 storageTexelBufferOffsetSingleTexelAlignment; 6872 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes; 6873 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment; 6874 VkDeviceSize maxBufferSize; 6875 } VkPhysicalDeviceVulkan13Properties; 6876 6877 typedef struct VkPipelineCreationFeedback { 6878 VkPipelineCreationFeedbackFlags flags; 6879 uint64_t duration; 6880 } VkPipelineCreationFeedback; 6881 6882 typedef struct VkPipelineCreationFeedbackCreateInfo { 6883 VkStructureType sType; 6884 const void* pNext; 6885 VkPipelineCreationFeedback* pPipelineCreationFeedback; 6886 uint32_t pipelineStageCreationFeedbackCount; 6887 VkPipelineCreationFeedback* pPipelineStageCreationFeedbacks; 6888 } VkPipelineCreationFeedbackCreateInfo; 6889 6890 typedef struct VkPhysicalDeviceShaderTerminateInvocationFeatures { 6891 VkStructureType sType; 6892 void* pNext; 6893 VkBool32 shaderTerminateInvocation; 6894 } VkPhysicalDeviceShaderTerminateInvocationFeatures; 6895 6896 typedef struct VkPhysicalDeviceToolProperties { 6897 VkStructureType sType; 6898 void* pNext; 6899 char name[VK_MAX_EXTENSION_NAME_SIZE]; 6900 char version[VK_MAX_EXTENSION_NAME_SIZE]; 6901 VkToolPurposeFlags purposes; 6902 char description[VK_MAX_DESCRIPTION_SIZE]; 6903 char layer[VK_MAX_EXTENSION_NAME_SIZE]; 6904 } VkPhysicalDeviceToolProperties; 6905 6906 typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures { 6907 VkStructureType sType; 6908 void* pNext; 6909 VkBool32 shaderDemoteToHelperInvocation; 6910 } VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures; 6911 6912 typedef struct VkPhysicalDevicePrivateDataFeatures { 6913 VkStructureType sType; 6914 void* pNext; 6915 VkBool32 privateData; 6916 } VkPhysicalDevicePrivateDataFeatures; 6917 6918 typedef struct VkDevicePrivateDataCreateInfo { 6919 VkStructureType sType; 6920 const void* pNext; 6921 uint32_t privateDataSlotRequestCount; 6922 } VkDevicePrivateDataCreateInfo; 6923 6924 typedef struct VkPrivateDataSlotCreateInfo { 6925 VkStructureType sType; 6926 const void* pNext; 6927 VkPrivateDataSlotCreateFlags flags; 6928 } VkPrivateDataSlotCreateInfo; 6929 6930 typedef struct VkPhysicalDevicePipelineCreationCacheControlFeatures { 6931 VkStructureType sType; 6932 void* pNext; 6933 VkBool32 pipelineCreationCacheControl; 6934 } VkPhysicalDevicePipelineCreationCacheControlFeatures; 6935 6936 typedef struct VkMemoryBarrier2 { 6937 VkStructureType sType; 6938 const void* pNext; 6939 VkPipelineStageFlags2 srcStageMask; 6940 VkAccessFlags2 srcAccessMask; 6941 VkPipelineStageFlags2 dstStageMask; 6942 VkAccessFlags2 dstAccessMask; 6943 } VkMemoryBarrier2; 6944 6945 typedef struct VkBufferMemoryBarrier2 { 6946 VkStructureType sType; 6947 const void* pNext; 6948 VkPipelineStageFlags2 srcStageMask; 6949 VkAccessFlags2 srcAccessMask; 6950 VkPipelineStageFlags2 dstStageMask; 6951 VkAccessFlags2 dstAccessMask; 6952 uint32_t srcQueueFamilyIndex; 6953 uint32_t dstQueueFamilyIndex; 6954 VkBuffer buffer; 6955 VkDeviceSize offset; 6956 VkDeviceSize size; 6957 } VkBufferMemoryBarrier2; 6958 6959 typedef struct VkImageMemoryBarrier2 { 6960 VkStructureType sType; 6961 const void* pNext; 6962 VkPipelineStageFlags2 srcStageMask; 6963 VkAccessFlags2 srcAccessMask; 6964 VkPipelineStageFlags2 dstStageMask; 6965 VkAccessFlags2 dstAccessMask; 6966 VkImageLayout oldLayout; 6967 VkImageLayout newLayout; 6968 uint32_t srcQueueFamilyIndex; 6969 uint32_t dstQueueFamilyIndex; 6970 VkImage image; 6971 VkImageSubresourceRange subresourceRange; 6972 } VkImageMemoryBarrier2; 6973 6974 typedef struct VkDependencyInfo { 6975 VkStructureType sType; 6976 const void* pNext; 6977 VkDependencyFlags dependencyFlags; 6978 uint32_t memoryBarrierCount; 6979 const VkMemoryBarrier2* pMemoryBarriers; 6980 uint32_t bufferMemoryBarrierCount; 6981 const VkBufferMemoryBarrier2* pBufferMemoryBarriers; 6982 uint32_t imageMemoryBarrierCount; 6983 const VkImageMemoryBarrier2* pImageMemoryBarriers; 6984 } VkDependencyInfo; 6985 6986 typedef struct VkSemaphoreSubmitInfo { 6987 VkStructureType sType; 6988 const void* pNext; 6989 VkSemaphore semaphore; 6990 uint64_t value; 6991 VkPipelineStageFlags2 stageMask; 6992 uint32_t deviceIndex; 6993 } VkSemaphoreSubmitInfo; 6994 6995 typedef struct VkCommandBufferSubmitInfo { 6996 VkStructureType sType; 6997 const void* pNext; 6998 VkCommandBuffer commandBuffer; 6999 uint32_t deviceMask; 7000 } VkCommandBufferSubmitInfo; 7001 7002 typedef struct VkSubmitInfo2 { 7003 VkStructureType sType; 7004 const void* pNext; 7005 VkSubmitFlags flags; 7006 uint32_t waitSemaphoreInfoCount; 7007 const VkSemaphoreSubmitInfo* pWaitSemaphoreInfos; 7008 uint32_t commandBufferInfoCount; 7009 const VkCommandBufferSubmitInfo* pCommandBufferInfos; 7010 uint32_t signalSemaphoreInfoCount; 7011 const VkSemaphoreSubmitInfo* pSignalSemaphoreInfos; 7012 } VkSubmitInfo2; 7013 7014 typedef struct VkPhysicalDeviceSynchronization2Features { 7015 VkStructureType sType; 7016 void* pNext; 7017 VkBool32 synchronization2; 7018 } VkPhysicalDeviceSynchronization2Features; 7019 7020 typedef struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures { 7021 VkStructureType sType; 7022 void* pNext; 7023 VkBool32 shaderZeroInitializeWorkgroupMemory; 7024 } VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures; 7025 7026 typedef struct VkPhysicalDeviceImageRobustnessFeatures { 7027 VkStructureType sType; 7028 void* pNext; 7029 VkBool32 robustImageAccess; 7030 } VkPhysicalDeviceImageRobustnessFeatures; 7031 7032 typedef struct VkBufferCopy2 { 7033 VkStructureType sType; 7034 const void* pNext; 7035 VkDeviceSize srcOffset; 7036 VkDeviceSize dstOffset; 7037 VkDeviceSize size; 7038 } VkBufferCopy2; 7039 7040 typedef struct VkCopyBufferInfo2 { 7041 VkStructureType sType; 7042 const void* pNext; 7043 VkBuffer srcBuffer; 7044 VkBuffer dstBuffer; 7045 uint32_t regionCount; 7046 const VkBufferCopy2* pRegions; 7047 } VkCopyBufferInfo2; 7048 7049 typedef struct VkImageCopy2 { 7050 VkStructureType sType; 7051 const void* pNext; 7052 VkImageSubresourceLayers srcSubresource; 7053 VkOffset3D srcOffset; 7054 VkImageSubresourceLayers dstSubresource; 7055 VkOffset3D dstOffset; 7056 VkExtent3D extent; 7057 } VkImageCopy2; 7058 7059 typedef struct VkCopyImageInfo2 { 7060 VkStructureType sType; 7061 const void* pNext; 7062 VkImage srcImage; 7063 VkImageLayout srcImageLayout; 7064 VkImage dstImage; 7065 VkImageLayout dstImageLayout; 7066 uint32_t regionCount; 7067 const VkImageCopy2* pRegions; 7068 } VkCopyImageInfo2; 7069 7070 typedef struct VkBufferImageCopy2 { 7071 VkStructureType sType; 7072 const void* pNext; 7073 VkDeviceSize bufferOffset; 7074 uint32_t bufferRowLength; 7075 uint32_t bufferImageHeight; 7076 VkImageSubresourceLayers imageSubresource; 7077 VkOffset3D imageOffset; 7078 VkExtent3D imageExtent; 7079 } VkBufferImageCopy2; 7080 7081 typedef struct VkCopyBufferToImageInfo2 { 7082 VkStructureType sType; 7083 const void* pNext; 7084 VkBuffer srcBuffer; 7085 VkImage dstImage; 7086 VkImageLayout dstImageLayout; 7087 uint32_t regionCount; 7088 const VkBufferImageCopy2* pRegions; 7089 } VkCopyBufferToImageInfo2; 7090 7091 typedef struct VkCopyImageToBufferInfo2 { 7092 VkStructureType sType; 7093 const void* pNext; 7094 VkImage srcImage; 7095 VkImageLayout srcImageLayout; 7096 VkBuffer dstBuffer; 7097 uint32_t regionCount; 7098 const VkBufferImageCopy2* pRegions; 7099 } VkCopyImageToBufferInfo2; 7100 7101 typedef struct VkImageBlit2 { 7102 VkStructureType sType; 7103 const void* pNext; 7104 VkImageSubresourceLayers srcSubresource; 7105 VkOffset3D srcOffsets[2]; 7106 VkImageSubresourceLayers dstSubresource; 7107 VkOffset3D dstOffsets[2]; 7108 } VkImageBlit2; 7109 7110 typedef struct VkBlitImageInfo2 { 7111 VkStructureType sType; 7112 const void* pNext; 7113 VkImage srcImage; 7114 VkImageLayout srcImageLayout; 7115 VkImage dstImage; 7116 VkImageLayout dstImageLayout; 7117 uint32_t regionCount; 7118 const VkImageBlit2* pRegions; 7119 VkFilter filter; 7120 } VkBlitImageInfo2; 7121 7122 typedef struct VkImageResolve2 { 7123 VkStructureType sType; 7124 const void* pNext; 7125 VkImageSubresourceLayers srcSubresource; 7126 VkOffset3D srcOffset; 7127 VkImageSubresourceLayers dstSubresource; 7128 VkOffset3D dstOffset; 7129 VkExtent3D extent; 7130 } VkImageResolve2; 7131 7132 typedef struct VkResolveImageInfo2 { 7133 VkStructureType sType; 7134 const void* pNext; 7135 VkImage srcImage; 7136 VkImageLayout srcImageLayout; 7137 VkImage dstImage; 7138 VkImageLayout dstImageLayout; 7139 uint32_t regionCount; 7140 const VkImageResolve2* pRegions; 7141 } VkResolveImageInfo2; 7142 7143 typedef struct VkPhysicalDeviceSubgroupSizeControlFeatures { 7144 VkStructureType sType; 7145 void* pNext; 7146 VkBool32 subgroupSizeControl; 7147 VkBool32 computeFullSubgroups; 7148 } VkPhysicalDeviceSubgroupSizeControlFeatures; 7149 7150 typedef struct VkPhysicalDeviceSubgroupSizeControlProperties { 7151 VkStructureType sType; 7152 void* pNext; 7153 uint32_t minSubgroupSize; 7154 uint32_t maxSubgroupSize; 7155 uint32_t maxComputeWorkgroupSubgroups; 7156 VkShaderStageFlags requiredSubgroupSizeStages; 7157 } VkPhysicalDeviceSubgroupSizeControlProperties; 7158 7159 typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfo { 7160 VkStructureType sType; 7161 void* pNext; 7162 uint32_t requiredSubgroupSize; 7163 } VkPipelineShaderStageRequiredSubgroupSizeCreateInfo; 7164 7165 typedef struct VkPhysicalDeviceInlineUniformBlockFeatures { 7166 VkStructureType sType; 7167 void* pNext; 7168 VkBool32 inlineUniformBlock; 7169 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind; 7170 } VkPhysicalDeviceInlineUniformBlockFeatures; 7171 7172 typedef struct VkPhysicalDeviceInlineUniformBlockProperties { 7173 VkStructureType sType; 7174 void* pNext; 7175 uint32_t maxInlineUniformBlockSize; 7176 uint32_t maxPerStageDescriptorInlineUniformBlocks; 7177 uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks; 7178 uint32_t maxDescriptorSetInlineUniformBlocks; 7179 uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks; 7180 } VkPhysicalDeviceInlineUniformBlockProperties; 7181 7182 typedef struct VkWriteDescriptorSetInlineUniformBlock { 7183 VkStructureType sType; 7184 const void* pNext; 7185 uint32_t dataSize; 7186 const void* pData; 7187 } VkWriteDescriptorSetInlineUniformBlock; 7188 7189 typedef struct VkDescriptorPoolInlineUniformBlockCreateInfo { 7190 VkStructureType sType; 7191 const void* pNext; 7192 uint32_t maxInlineUniformBlockBindings; 7193 } VkDescriptorPoolInlineUniformBlockCreateInfo; 7194 7195 typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeatures { 7196 VkStructureType sType; 7197 void* pNext; 7198 VkBool32 textureCompressionASTC_HDR; 7199 } VkPhysicalDeviceTextureCompressionASTCHDRFeatures; 7200 7201 typedef struct VkRenderingAttachmentInfo { 7202 VkStructureType sType; 7203 const void* pNext; 7204 VkImageView imageView; 7205 VkImageLayout imageLayout; 7206 VkResolveModeFlagBits resolveMode; 7207 VkImageView resolveImageView; 7208 VkImageLayout resolveImageLayout; 7209 VkAttachmentLoadOp loadOp; 7210 VkAttachmentStoreOp storeOp; 7211 VkClearValue clearValue; 7212 } VkRenderingAttachmentInfo; 7213 7214 typedef struct VkRenderingInfo { 7215 VkStructureType sType; 7216 const void* pNext; 7217 VkRenderingFlags flags; 7218 VkRect2D renderArea; 7219 uint32_t layerCount; 7220 uint32_t viewMask; 7221 uint32_t colorAttachmentCount; 7222 const VkRenderingAttachmentInfo* pColorAttachments; 7223 const VkRenderingAttachmentInfo* pDepthAttachment; 7224 const VkRenderingAttachmentInfo* pStencilAttachment; 7225 } VkRenderingInfo; 7226 7227 typedef struct VkPipelineRenderingCreateInfo { 7228 VkStructureType sType; 7229 const void* pNext; 7230 uint32_t viewMask; 7231 uint32_t colorAttachmentCount; 7232 const VkFormat* pColorAttachmentFormats; 7233 VkFormat depthAttachmentFormat; 7234 VkFormat stencilAttachmentFormat; 7235 } VkPipelineRenderingCreateInfo; 7236 7237 typedef struct VkPhysicalDeviceDynamicRenderingFeatures { 7238 VkStructureType sType; 7239 void* pNext; 7240 VkBool32 dynamicRendering; 7241 } VkPhysicalDeviceDynamicRenderingFeatures; 7242 7243 typedef struct VkCommandBufferInheritanceRenderingInfo { 7244 VkStructureType sType; 7245 const void* pNext; 7246 VkRenderingFlags flags; 7247 uint32_t viewMask; 7248 uint32_t colorAttachmentCount; 7249 const VkFormat* pColorAttachmentFormats; 7250 VkFormat depthAttachmentFormat; 7251 VkFormat stencilAttachmentFormat; 7252 VkSampleCountFlagBits rasterizationSamples; 7253 } VkCommandBufferInheritanceRenderingInfo; 7254 7255 typedef struct VkPhysicalDeviceShaderIntegerDotProductFeatures { 7256 VkStructureType sType; 7257 void* pNext; 7258 VkBool32 shaderIntegerDotProduct; 7259 } VkPhysicalDeviceShaderIntegerDotProductFeatures; 7260 7261 typedef struct VkPhysicalDeviceShaderIntegerDotProductProperties { 7262 VkStructureType sType; 7263 void* pNext; 7264 VkBool32 integerDotProduct8BitUnsignedAccelerated; 7265 VkBool32 integerDotProduct8BitSignedAccelerated; 7266 VkBool32 integerDotProduct8BitMixedSignednessAccelerated; 7267 VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated; 7268 VkBool32 integerDotProduct4x8BitPackedSignedAccelerated; 7269 VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated; 7270 VkBool32 integerDotProduct16BitUnsignedAccelerated; 7271 VkBool32 integerDotProduct16BitSignedAccelerated; 7272 VkBool32 integerDotProduct16BitMixedSignednessAccelerated; 7273 VkBool32 integerDotProduct32BitUnsignedAccelerated; 7274 VkBool32 integerDotProduct32BitSignedAccelerated; 7275 VkBool32 integerDotProduct32BitMixedSignednessAccelerated; 7276 VkBool32 integerDotProduct64BitUnsignedAccelerated; 7277 VkBool32 integerDotProduct64BitSignedAccelerated; 7278 VkBool32 integerDotProduct64BitMixedSignednessAccelerated; 7279 VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated; 7280 VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated; 7281 VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated; 7282 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated; 7283 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated; 7284 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated; 7285 VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated; 7286 VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated; 7287 VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated; 7288 VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated; 7289 VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated; 7290 VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated; 7291 VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated; 7292 VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated; 7293 VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated; 7294 } VkPhysicalDeviceShaderIntegerDotProductProperties; 7295 7296 typedef struct VkPhysicalDeviceTexelBufferAlignmentProperties { 7297 VkStructureType sType; 7298 void* pNext; 7299 VkDeviceSize storageTexelBufferOffsetAlignmentBytes; 7300 VkBool32 storageTexelBufferOffsetSingleTexelAlignment; 7301 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes; 7302 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment; 7303 } VkPhysicalDeviceTexelBufferAlignmentProperties; 7304 7305 typedef struct VkFormatProperties3 { 7306 VkStructureType sType; 7307 void* pNext; 7308 VkFormatFeatureFlags2 linearTilingFeatures; 7309 VkFormatFeatureFlags2 optimalTilingFeatures; 7310 VkFormatFeatureFlags2 bufferFeatures; 7311 } VkFormatProperties3; 7312 7313 typedef struct VkPhysicalDeviceMaintenance4Features { 7314 VkStructureType sType; 7315 void* pNext; 7316 VkBool32 maintenance4; 7317 } VkPhysicalDeviceMaintenance4Features; 7318 7319 typedef struct VkPhysicalDeviceMaintenance4Properties { 7320 VkStructureType sType; 7321 void* pNext; 7322 VkDeviceSize maxBufferSize; 7323 } VkPhysicalDeviceMaintenance4Properties; 7324 7325 typedef struct VkDeviceBufferMemoryRequirements { 7326 VkStructureType sType; 7327 const void* pNext; 7328 const VkBufferCreateInfo* pCreateInfo; 7329 } VkDeviceBufferMemoryRequirements; 7330 7331 typedef struct VkDeviceImageMemoryRequirements { 7332 VkStructureType sType; 7333 const void* pNext; 7334 const VkImageCreateInfo* pCreateInfo; 7335 VkImageAspectFlagBits planeAspect; 7336 } VkDeviceImageMemoryRequirements; 7337 7338 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolProperties)(VkPhysicalDevice physicalDevice, uint32_t* pToolCount, VkPhysicalDeviceToolProperties* pToolProperties); 7339 typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlot)(VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot); 7340 typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlot)(VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator); 7341 typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateData)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data); 7342 typedef void (VKAPI_PTR *PFN_vkGetPrivateData)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t* pData); 7343 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo); 7344 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask); 7345 typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos); 7346 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2)(VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo); 7347 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query); 7348 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence); 7349 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo); 7350 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo); 7351 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo); 7352 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo); 7353 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo); 7354 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo); 7355 typedef void (VKAPI_PTR *PFN_vkCmdBeginRendering)(VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo); 7356 typedef void (VKAPI_PTR *PFN_vkCmdEndRendering)(VkCommandBuffer commandBuffer); 7357 typedef void (VKAPI_PTR *PFN_vkCmdSetCullMode)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode); 7358 typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFace)(VkCommandBuffer commandBuffer, VkFrontFace frontFace); 7359 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopology)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology); 7360 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCount)(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports); 7361 typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCount)(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors); 7362 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); 7363 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnable)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable); 7364 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnable)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable); 7365 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOp)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp); 7366 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnable)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable); 7367 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnable)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable); 7368 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOp)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp); 7369 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnable)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable); 7370 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnable)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable); 7371 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnable)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable); 7372 typedef void (VKAPI_PTR *PFN_vkGetDeviceBufferMemoryRequirements)(VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements); 7373 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageMemoryRequirements)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements); 7374 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSparseMemoryRequirements)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 7375 7376 #ifndef VK_NO_PROTOTYPES 7377 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolProperties( 7378 VkPhysicalDevice physicalDevice, 7379 uint32_t* pToolCount, 7380 VkPhysicalDeviceToolProperties* pToolProperties); 7381 7382 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlot( 7383 VkDevice device, 7384 const VkPrivateDataSlotCreateInfo* pCreateInfo, 7385 const VkAllocationCallbacks* pAllocator, 7386 VkPrivateDataSlot* pPrivateDataSlot); 7387 7388 VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlot( 7389 VkDevice device, 7390 VkPrivateDataSlot privateDataSlot, 7391 const VkAllocationCallbacks* pAllocator); 7392 7393 VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateData( 7394 VkDevice device, 7395 VkObjectType objectType, 7396 uint64_t objectHandle, 7397 VkPrivateDataSlot privateDataSlot, 7398 uint64_t data); 7399 7400 VKAPI_ATTR void VKAPI_CALL vkGetPrivateData( 7401 VkDevice device, 7402 VkObjectType objectType, 7403 uint64_t objectHandle, 7404 VkPrivateDataSlot privateDataSlot, 7405 uint64_t* pData); 7406 7407 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2( 7408 VkCommandBuffer commandBuffer, 7409 VkEvent event, 7410 const VkDependencyInfo* pDependencyInfo); 7411 7412 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2( 7413 VkCommandBuffer commandBuffer, 7414 VkEvent event, 7415 VkPipelineStageFlags2 stageMask); 7416 7417 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2( 7418 VkCommandBuffer commandBuffer, 7419 uint32_t eventCount, 7420 const VkEvent* pEvents, 7421 const VkDependencyInfo* pDependencyInfos); 7422 7423 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2( 7424 VkCommandBuffer commandBuffer, 7425 const VkDependencyInfo* pDependencyInfo); 7426 7427 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2( 7428 VkCommandBuffer commandBuffer, 7429 VkPipelineStageFlags2 stage, 7430 VkQueryPool queryPool, 7431 uint32_t query); 7432 7433 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2( 7434 VkQueue queue, 7435 uint32_t submitCount, 7436 const VkSubmitInfo2* pSubmits, 7437 VkFence fence); 7438 7439 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2( 7440 VkCommandBuffer commandBuffer, 7441 const VkCopyBufferInfo2* pCopyBufferInfo); 7442 7443 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2( 7444 VkCommandBuffer commandBuffer, 7445 const VkCopyImageInfo2* pCopyImageInfo); 7446 7447 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2( 7448 VkCommandBuffer commandBuffer, 7449 const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo); 7450 7451 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2( 7452 VkCommandBuffer commandBuffer, 7453 const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo); 7454 7455 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2( 7456 VkCommandBuffer commandBuffer, 7457 const VkBlitImageInfo2* pBlitImageInfo); 7458 7459 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2( 7460 VkCommandBuffer commandBuffer, 7461 const VkResolveImageInfo2* pResolveImageInfo); 7462 7463 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRendering( 7464 VkCommandBuffer commandBuffer, 7465 const VkRenderingInfo* pRenderingInfo); 7466 7467 VKAPI_ATTR void VKAPI_CALL vkCmdEndRendering( 7468 VkCommandBuffer commandBuffer); 7469 7470 VKAPI_ATTR void VKAPI_CALL vkCmdSetCullMode( 7471 VkCommandBuffer commandBuffer, 7472 VkCullModeFlags cullMode); 7473 7474 VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFace( 7475 VkCommandBuffer commandBuffer, 7476 VkFrontFace frontFace); 7477 7478 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopology( 7479 VkCommandBuffer commandBuffer, 7480 VkPrimitiveTopology primitiveTopology); 7481 7482 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCount( 7483 VkCommandBuffer commandBuffer, 7484 uint32_t viewportCount, 7485 const VkViewport* pViewports); 7486 7487 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCount( 7488 VkCommandBuffer commandBuffer, 7489 uint32_t scissorCount, 7490 const VkRect2D* pScissors); 7491 7492 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2( 7493 VkCommandBuffer commandBuffer, 7494 uint32_t firstBinding, 7495 uint32_t bindingCount, 7496 const VkBuffer* pBuffers, 7497 const VkDeviceSize* pOffsets, 7498 const VkDeviceSize* pSizes, 7499 const VkDeviceSize* pStrides); 7500 7501 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnable( 7502 VkCommandBuffer commandBuffer, 7503 VkBool32 depthTestEnable); 7504 7505 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnable( 7506 VkCommandBuffer commandBuffer, 7507 VkBool32 depthWriteEnable); 7508 7509 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOp( 7510 VkCommandBuffer commandBuffer, 7511 VkCompareOp depthCompareOp); 7512 7513 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnable( 7514 VkCommandBuffer commandBuffer, 7515 VkBool32 depthBoundsTestEnable); 7516 7517 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnable( 7518 VkCommandBuffer commandBuffer, 7519 VkBool32 stencilTestEnable); 7520 7521 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOp( 7522 VkCommandBuffer commandBuffer, 7523 VkStencilFaceFlags faceMask, 7524 VkStencilOp failOp, 7525 VkStencilOp passOp, 7526 VkStencilOp depthFailOp, 7527 VkCompareOp compareOp); 7528 7529 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnable( 7530 VkCommandBuffer commandBuffer, 7531 VkBool32 rasterizerDiscardEnable); 7532 7533 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnable( 7534 VkCommandBuffer commandBuffer, 7535 VkBool32 depthBiasEnable); 7536 7537 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnable( 7538 VkCommandBuffer commandBuffer, 7539 VkBool32 primitiveRestartEnable); 7540 7541 VKAPI_ATTR void VKAPI_CALL vkGetDeviceBufferMemoryRequirements( 7542 VkDevice device, 7543 const VkDeviceBufferMemoryRequirements* pInfo, 7544 VkMemoryRequirements2* pMemoryRequirements); 7545 7546 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageMemoryRequirements( 7547 VkDevice device, 7548 const VkDeviceImageMemoryRequirements* pInfo, 7549 VkMemoryRequirements2* pMemoryRequirements); 7550 7551 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSparseMemoryRequirements( 7552 VkDevice device, 7553 const VkDeviceImageMemoryRequirements* pInfo, 7554 uint32_t* pSparseMemoryRequirementCount, 7555 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 7556 #endif 7557 7558 7559 // VK_KHR_surface is a preprocessor guard. Do not pass it to API calls. 7560 #define VK_KHR_surface 1 7561 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR) 7562 #define VK_KHR_SURFACE_SPEC_VERSION 25 7563 #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface" 7564 7565 typedef enum VkPresentModeKHR { 7566 VK_PRESENT_MODE_IMMEDIATE_KHR = 0, 7567 VK_PRESENT_MODE_MAILBOX_KHR = 1, 7568 VK_PRESENT_MODE_FIFO_KHR = 2, 7569 VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3, 7570 VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000, 7571 VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001, 7572 VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 7573 } VkPresentModeKHR; 7574 7575 typedef enum VkColorSpaceKHR { 7576 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0, 7577 VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001, 7578 VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002, 7579 VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003, 7580 VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004, 7581 VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005, 7582 VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006, 7583 VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007, 7584 VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008, 7585 VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009, 7586 VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010, 7587 VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011, 7588 VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012, 7589 VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013, 7590 VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014, 7591 VK_COLOR_SPACE_DISPLAY_NATIVE_AMD = 1000213000, 7592 VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR, 7593 VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT, 7594 VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF 7595 } VkColorSpaceKHR; 7596 7597 typedef enum VkSurfaceTransformFlagBitsKHR { 7598 VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001, 7599 VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002, 7600 VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004, 7601 VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008, 7602 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010, 7603 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020, 7604 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040, 7605 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080, 7606 VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100, 7607 VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 7608 } VkSurfaceTransformFlagBitsKHR; 7609 7610 typedef enum VkCompositeAlphaFlagBitsKHR { 7611 VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001, 7612 VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002, 7613 VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004, 7614 VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008, 7615 VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 7616 } VkCompositeAlphaFlagBitsKHR; 7617 typedef VkFlags VkCompositeAlphaFlagsKHR; 7618 typedef VkFlags VkSurfaceTransformFlagsKHR; 7619 typedef struct VkSurfaceCapabilitiesKHR { 7620 uint32_t minImageCount; 7621 uint32_t maxImageCount; 7622 VkExtent2D currentExtent; 7623 VkExtent2D minImageExtent; 7624 VkExtent2D maxImageExtent; 7625 uint32_t maxImageArrayLayers; 7626 VkSurfaceTransformFlagsKHR supportedTransforms; 7627 VkSurfaceTransformFlagBitsKHR currentTransform; 7628 VkCompositeAlphaFlagsKHR supportedCompositeAlpha; 7629 VkImageUsageFlags supportedUsageFlags; 7630 } VkSurfaceCapabilitiesKHR; 7631 7632 typedef struct VkSurfaceFormatKHR { 7633 VkFormat format; 7634 VkColorSpaceKHR colorSpace; 7635 } VkSurfaceFormatKHR; 7636 7637 typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator); 7638 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported); 7639 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities); 7640 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats); 7641 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes); 7642 7643 #ifndef VK_NO_PROTOTYPES 7644 VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR( 7645 VkInstance instance, 7646 VkSurfaceKHR surface, 7647 const VkAllocationCallbacks* pAllocator); 7648 7649 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR( 7650 VkPhysicalDevice physicalDevice, 7651 uint32_t queueFamilyIndex, 7652 VkSurfaceKHR surface, 7653 VkBool32* pSupported); 7654 7655 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR( 7656 VkPhysicalDevice physicalDevice, 7657 VkSurfaceKHR surface, 7658 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities); 7659 7660 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR( 7661 VkPhysicalDevice physicalDevice, 7662 VkSurfaceKHR surface, 7663 uint32_t* pSurfaceFormatCount, 7664 VkSurfaceFormatKHR* pSurfaceFormats); 7665 7666 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR( 7667 VkPhysicalDevice physicalDevice, 7668 VkSurfaceKHR surface, 7669 uint32_t* pPresentModeCount, 7670 VkPresentModeKHR* pPresentModes); 7671 #endif 7672 7673 7674 // VK_KHR_swapchain is a preprocessor guard. Do not pass it to API calls. 7675 #define VK_KHR_swapchain 1 7676 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR) 7677 #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70 7678 #define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain" 7679 7680 typedef enum VkSwapchainCreateFlagBitsKHR { 7681 VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001, 7682 VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002, 7683 VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004, 7684 VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_EXT = 0x00000008, 7685 VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 7686 } VkSwapchainCreateFlagBitsKHR; 7687 typedef VkFlags VkSwapchainCreateFlagsKHR; 7688 7689 typedef enum VkDeviceGroupPresentModeFlagBitsKHR { 7690 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0x00000001, 7691 VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0x00000002, 7692 VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0x00000004, 7693 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008, 7694 VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 7695 } VkDeviceGroupPresentModeFlagBitsKHR; 7696 typedef VkFlags VkDeviceGroupPresentModeFlagsKHR; 7697 typedef struct VkSwapchainCreateInfoKHR { 7698 VkStructureType sType; 7699 const void* pNext; 7700 VkSwapchainCreateFlagsKHR flags; 7701 VkSurfaceKHR surface; 7702 uint32_t minImageCount; 7703 VkFormat imageFormat; 7704 VkColorSpaceKHR imageColorSpace; 7705 VkExtent2D imageExtent; 7706 uint32_t imageArrayLayers; 7707 VkImageUsageFlags imageUsage; 7708 VkSharingMode imageSharingMode; 7709 uint32_t queueFamilyIndexCount; 7710 const uint32_t* pQueueFamilyIndices; 7711 VkSurfaceTransformFlagBitsKHR preTransform; 7712 VkCompositeAlphaFlagBitsKHR compositeAlpha; 7713 VkPresentModeKHR presentMode; 7714 VkBool32 clipped; 7715 VkSwapchainKHR oldSwapchain; 7716 } VkSwapchainCreateInfoKHR; 7717 7718 typedef struct VkPresentInfoKHR { 7719 VkStructureType sType; 7720 const void* pNext; 7721 uint32_t waitSemaphoreCount; 7722 const VkSemaphore* pWaitSemaphores; 7723 uint32_t swapchainCount; 7724 const VkSwapchainKHR* pSwapchains; 7725 const uint32_t* pImageIndices; 7726 VkResult* pResults; 7727 } VkPresentInfoKHR; 7728 7729 typedef struct VkImageSwapchainCreateInfoKHR { 7730 VkStructureType sType; 7731 const void* pNext; 7732 VkSwapchainKHR swapchain; 7733 } VkImageSwapchainCreateInfoKHR; 7734 7735 typedef struct VkBindImageMemorySwapchainInfoKHR { 7736 VkStructureType sType; 7737 const void* pNext; 7738 VkSwapchainKHR swapchain; 7739 uint32_t imageIndex; 7740 } VkBindImageMemorySwapchainInfoKHR; 7741 7742 typedef struct VkAcquireNextImageInfoKHR { 7743 VkStructureType sType; 7744 const void* pNext; 7745 VkSwapchainKHR swapchain; 7746 uint64_t timeout; 7747 VkSemaphore semaphore; 7748 VkFence fence; 7749 uint32_t deviceMask; 7750 } VkAcquireNextImageInfoKHR; 7751 7752 typedef struct VkDeviceGroupPresentCapabilitiesKHR { 7753 VkStructureType sType; 7754 void* pNext; 7755 uint32_t presentMask[VK_MAX_DEVICE_GROUP_SIZE]; 7756 VkDeviceGroupPresentModeFlagsKHR modes; 7757 } VkDeviceGroupPresentCapabilitiesKHR; 7758 7759 typedef struct VkDeviceGroupPresentInfoKHR { 7760 VkStructureType sType; 7761 const void* pNext; 7762 uint32_t swapchainCount; 7763 const uint32_t* pDeviceMasks; 7764 VkDeviceGroupPresentModeFlagBitsKHR mode; 7765 } VkDeviceGroupPresentInfoKHR; 7766 7767 typedef struct VkDeviceGroupSwapchainCreateInfoKHR { 7768 VkStructureType sType; 7769 const void* pNext; 7770 VkDeviceGroupPresentModeFlagsKHR modes; 7771 } VkDeviceGroupSwapchainCreateInfoKHR; 7772 7773 typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain); 7774 typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator); 7775 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages); 7776 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex); 7777 typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo); 7778 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities); 7779 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes); 7780 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pRectCount, VkRect2D* pRects); 7781 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex); 7782 7783 #ifndef VK_NO_PROTOTYPES 7784 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR( 7785 VkDevice device, 7786 const VkSwapchainCreateInfoKHR* pCreateInfo, 7787 const VkAllocationCallbacks* pAllocator, 7788 VkSwapchainKHR* pSwapchain); 7789 7790 VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR( 7791 VkDevice device, 7792 VkSwapchainKHR swapchain, 7793 const VkAllocationCallbacks* pAllocator); 7794 7795 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR( 7796 VkDevice device, 7797 VkSwapchainKHR swapchain, 7798 uint32_t* pSwapchainImageCount, 7799 VkImage* pSwapchainImages); 7800 7801 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR( 7802 VkDevice device, 7803 VkSwapchainKHR swapchain, 7804 uint64_t timeout, 7805 VkSemaphore semaphore, 7806 VkFence fence, 7807 uint32_t* pImageIndex); 7808 7809 VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR( 7810 VkQueue queue, 7811 const VkPresentInfoKHR* pPresentInfo); 7812 7813 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHR( 7814 VkDevice device, 7815 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities); 7816 7817 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR( 7818 VkDevice device, 7819 VkSurfaceKHR surface, 7820 VkDeviceGroupPresentModeFlagsKHR* pModes); 7821 7822 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR( 7823 VkPhysicalDevice physicalDevice, 7824 VkSurfaceKHR surface, 7825 uint32_t* pRectCount, 7826 VkRect2D* pRects); 7827 7828 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHR( 7829 VkDevice device, 7830 const VkAcquireNextImageInfoKHR* pAcquireInfo, 7831 uint32_t* pImageIndex); 7832 #endif 7833 7834 7835 // VK_KHR_display is a preprocessor guard. Do not pass it to API calls. 7836 #define VK_KHR_display 1 7837 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR) 7838 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR) 7839 #define VK_KHR_DISPLAY_SPEC_VERSION 23 7840 #define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display" 7841 typedef VkFlags VkDisplayModeCreateFlagsKHR; 7842 7843 typedef enum VkDisplayPlaneAlphaFlagBitsKHR { 7844 VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001, 7845 VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002, 7846 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004, 7847 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008, 7848 VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 7849 } VkDisplayPlaneAlphaFlagBitsKHR; 7850 typedef VkFlags VkDisplayPlaneAlphaFlagsKHR; 7851 typedef VkFlags VkDisplaySurfaceCreateFlagsKHR; 7852 typedef struct VkDisplayModeParametersKHR { 7853 VkExtent2D visibleRegion; 7854 uint32_t refreshRate; 7855 } VkDisplayModeParametersKHR; 7856 7857 typedef struct VkDisplayModeCreateInfoKHR { 7858 VkStructureType sType; 7859 const void* pNext; 7860 VkDisplayModeCreateFlagsKHR flags; 7861 VkDisplayModeParametersKHR parameters; 7862 } VkDisplayModeCreateInfoKHR; 7863 7864 typedef struct VkDisplayModePropertiesKHR { 7865 VkDisplayModeKHR displayMode; 7866 VkDisplayModeParametersKHR parameters; 7867 } VkDisplayModePropertiesKHR; 7868 7869 typedef struct VkDisplayPlaneCapabilitiesKHR { 7870 VkDisplayPlaneAlphaFlagsKHR supportedAlpha; 7871 VkOffset2D minSrcPosition; 7872 VkOffset2D maxSrcPosition; 7873 VkExtent2D minSrcExtent; 7874 VkExtent2D maxSrcExtent; 7875 VkOffset2D minDstPosition; 7876 VkOffset2D maxDstPosition; 7877 VkExtent2D minDstExtent; 7878 VkExtent2D maxDstExtent; 7879 } VkDisplayPlaneCapabilitiesKHR; 7880 7881 typedef struct VkDisplayPlanePropertiesKHR { 7882 VkDisplayKHR currentDisplay; 7883 uint32_t currentStackIndex; 7884 } VkDisplayPlanePropertiesKHR; 7885 7886 typedef struct VkDisplayPropertiesKHR { 7887 VkDisplayKHR display; 7888 const char* displayName; 7889 VkExtent2D physicalDimensions; 7890 VkExtent2D physicalResolution; 7891 VkSurfaceTransformFlagsKHR supportedTransforms; 7892 VkBool32 planeReorderPossible; 7893 VkBool32 persistentContent; 7894 } VkDisplayPropertiesKHR; 7895 7896 typedef struct VkDisplaySurfaceCreateInfoKHR { 7897 VkStructureType sType; 7898 const void* pNext; 7899 VkDisplaySurfaceCreateFlagsKHR flags; 7900 VkDisplayModeKHR displayMode; 7901 uint32_t planeIndex; 7902 uint32_t planeStackIndex; 7903 VkSurfaceTransformFlagBitsKHR transform; 7904 float globalAlpha; 7905 VkDisplayPlaneAlphaFlagBitsKHR alphaMode; 7906 VkExtent2D imageExtent; 7907 } VkDisplaySurfaceCreateInfoKHR; 7908 7909 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPropertiesKHR* pProperties); 7910 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties); 7911 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t* pDisplayCount, VkDisplayKHR* pDisplays); 7912 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModePropertiesKHR* pProperties); 7913 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode); 7914 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities); 7915 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); 7916 7917 #ifndef VK_NO_PROTOTYPES 7918 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR( 7919 VkPhysicalDevice physicalDevice, 7920 uint32_t* pPropertyCount, 7921 VkDisplayPropertiesKHR* pProperties); 7922 7923 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR( 7924 VkPhysicalDevice physicalDevice, 7925 uint32_t* pPropertyCount, 7926 VkDisplayPlanePropertiesKHR* pProperties); 7927 7928 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR( 7929 VkPhysicalDevice physicalDevice, 7930 uint32_t planeIndex, 7931 uint32_t* pDisplayCount, 7932 VkDisplayKHR* pDisplays); 7933 7934 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR( 7935 VkPhysicalDevice physicalDevice, 7936 VkDisplayKHR display, 7937 uint32_t* pPropertyCount, 7938 VkDisplayModePropertiesKHR* pProperties); 7939 7940 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR( 7941 VkPhysicalDevice physicalDevice, 7942 VkDisplayKHR display, 7943 const VkDisplayModeCreateInfoKHR* pCreateInfo, 7944 const VkAllocationCallbacks* pAllocator, 7945 VkDisplayModeKHR* pMode); 7946 7947 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR( 7948 VkPhysicalDevice physicalDevice, 7949 VkDisplayModeKHR mode, 7950 uint32_t planeIndex, 7951 VkDisplayPlaneCapabilitiesKHR* pCapabilities); 7952 7953 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR( 7954 VkInstance instance, 7955 const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, 7956 const VkAllocationCallbacks* pAllocator, 7957 VkSurfaceKHR* pSurface); 7958 #endif 7959 7960 7961 // VK_KHR_display_swapchain is a preprocessor guard. Do not pass it to API calls. 7962 #define VK_KHR_display_swapchain 1 7963 #define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 10 7964 #define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain" 7965 typedef struct VkDisplayPresentInfoKHR { 7966 VkStructureType sType; 7967 const void* pNext; 7968 VkRect2D srcRect; 7969 VkRect2D dstRect; 7970 VkBool32 persistent; 7971 } VkDisplayPresentInfoKHR; 7972 7973 typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains); 7974 7975 #ifndef VK_NO_PROTOTYPES 7976 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR( 7977 VkDevice device, 7978 uint32_t swapchainCount, 7979 const VkSwapchainCreateInfoKHR* pCreateInfos, 7980 const VkAllocationCallbacks* pAllocator, 7981 VkSwapchainKHR* pSwapchains); 7982 #endif 7983 7984 7985 // VK_KHR_sampler_mirror_clamp_to_edge is a preprocessor guard. Do not pass it to API calls. 7986 #define VK_KHR_sampler_mirror_clamp_to_edge 1 7987 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 3 7988 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge" 7989 7990 7991 // VK_KHR_video_queue is a preprocessor guard. Do not pass it to API calls. 7992 #define VK_KHR_video_queue 1 7993 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionKHR) 7994 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionParametersKHR) 7995 #define VK_KHR_VIDEO_QUEUE_SPEC_VERSION 8 7996 #define VK_KHR_VIDEO_QUEUE_EXTENSION_NAME "VK_KHR_video_queue" 7997 7998 typedef enum VkQueryResultStatusKHR { 7999 VK_QUERY_RESULT_STATUS_ERROR_KHR = -1, 8000 VK_QUERY_RESULT_STATUS_NOT_READY_KHR = 0, 8001 VK_QUERY_RESULT_STATUS_COMPLETE_KHR = 1, 8002 VK_QUERY_RESULT_STATUS_INSUFFICIENT_BITSTREAM_BUFFER_RANGE_KHR = -1000299000, 8003 VK_QUERY_RESULT_STATUS_MAX_ENUM_KHR = 0x7FFFFFFF 8004 } VkQueryResultStatusKHR; 8005 8006 typedef enum VkVideoCodecOperationFlagBitsKHR { 8007 VK_VIDEO_CODEC_OPERATION_NONE_KHR = 0, 8008 VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR = 0x00010000, 8009 VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR = 0x00020000, 8010 VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR = 0x00000001, 8011 VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR = 0x00000002, 8012 VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR = 0x00000004, 8013 VK_VIDEO_CODEC_OPERATION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8014 } VkVideoCodecOperationFlagBitsKHR; 8015 typedef VkFlags VkVideoCodecOperationFlagsKHR; 8016 8017 typedef enum VkVideoChromaSubsamplingFlagBitsKHR { 8018 VK_VIDEO_CHROMA_SUBSAMPLING_INVALID_KHR = 0, 8019 VK_VIDEO_CHROMA_SUBSAMPLING_MONOCHROME_BIT_KHR = 0x00000001, 8020 VK_VIDEO_CHROMA_SUBSAMPLING_420_BIT_KHR = 0x00000002, 8021 VK_VIDEO_CHROMA_SUBSAMPLING_422_BIT_KHR = 0x00000004, 8022 VK_VIDEO_CHROMA_SUBSAMPLING_444_BIT_KHR = 0x00000008, 8023 VK_VIDEO_CHROMA_SUBSAMPLING_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8024 } VkVideoChromaSubsamplingFlagBitsKHR; 8025 typedef VkFlags VkVideoChromaSubsamplingFlagsKHR; 8026 8027 typedef enum VkVideoComponentBitDepthFlagBitsKHR { 8028 VK_VIDEO_COMPONENT_BIT_DEPTH_INVALID_KHR = 0, 8029 VK_VIDEO_COMPONENT_BIT_DEPTH_8_BIT_KHR = 0x00000001, 8030 VK_VIDEO_COMPONENT_BIT_DEPTH_10_BIT_KHR = 0x00000004, 8031 VK_VIDEO_COMPONENT_BIT_DEPTH_12_BIT_KHR = 0x00000010, 8032 VK_VIDEO_COMPONENT_BIT_DEPTH_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8033 } VkVideoComponentBitDepthFlagBitsKHR; 8034 typedef VkFlags VkVideoComponentBitDepthFlagsKHR; 8035 8036 typedef enum VkVideoCapabilityFlagBitsKHR { 8037 VK_VIDEO_CAPABILITY_PROTECTED_CONTENT_BIT_KHR = 0x00000001, 8038 VK_VIDEO_CAPABILITY_SEPARATE_REFERENCE_IMAGES_BIT_KHR = 0x00000002, 8039 VK_VIDEO_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8040 } VkVideoCapabilityFlagBitsKHR; 8041 typedef VkFlags VkVideoCapabilityFlagsKHR; 8042 8043 typedef enum VkVideoSessionCreateFlagBitsKHR { 8044 VK_VIDEO_SESSION_CREATE_PROTECTED_CONTENT_BIT_KHR = 0x00000001, 8045 VK_VIDEO_SESSION_CREATE_ALLOW_ENCODE_PARAMETER_OPTIMIZATIONS_BIT_KHR = 0x00000002, 8046 VK_VIDEO_SESSION_CREATE_INLINE_QUERIES_BIT_KHR = 0x00000004, 8047 VK_VIDEO_SESSION_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8048 } VkVideoSessionCreateFlagBitsKHR; 8049 typedef VkFlags VkVideoSessionCreateFlagsKHR; 8050 typedef VkFlags VkVideoSessionParametersCreateFlagsKHR; 8051 typedef VkFlags VkVideoBeginCodingFlagsKHR; 8052 typedef VkFlags VkVideoEndCodingFlagsKHR; 8053 8054 typedef enum VkVideoCodingControlFlagBitsKHR { 8055 VK_VIDEO_CODING_CONTROL_RESET_BIT_KHR = 0x00000001, 8056 VK_VIDEO_CODING_CONTROL_ENCODE_RATE_CONTROL_BIT_KHR = 0x00000002, 8057 VK_VIDEO_CODING_CONTROL_ENCODE_QUALITY_LEVEL_BIT_KHR = 0x00000004, 8058 VK_VIDEO_CODING_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8059 } VkVideoCodingControlFlagBitsKHR; 8060 typedef VkFlags VkVideoCodingControlFlagsKHR; 8061 typedef struct VkQueueFamilyQueryResultStatusPropertiesKHR { 8062 VkStructureType sType; 8063 void* pNext; 8064 VkBool32 queryResultStatusSupport; 8065 } VkQueueFamilyQueryResultStatusPropertiesKHR; 8066 8067 typedef struct VkQueueFamilyVideoPropertiesKHR { 8068 VkStructureType sType; 8069 void* pNext; 8070 VkVideoCodecOperationFlagsKHR videoCodecOperations; 8071 } VkQueueFamilyVideoPropertiesKHR; 8072 8073 typedef struct VkVideoProfileInfoKHR { 8074 VkStructureType sType; 8075 const void* pNext; 8076 VkVideoCodecOperationFlagBitsKHR videoCodecOperation; 8077 VkVideoChromaSubsamplingFlagsKHR chromaSubsampling; 8078 VkVideoComponentBitDepthFlagsKHR lumaBitDepth; 8079 VkVideoComponentBitDepthFlagsKHR chromaBitDepth; 8080 } VkVideoProfileInfoKHR; 8081 8082 typedef struct VkVideoProfileListInfoKHR { 8083 VkStructureType sType; 8084 const void* pNext; 8085 uint32_t profileCount; 8086 const VkVideoProfileInfoKHR* pProfiles; 8087 } VkVideoProfileListInfoKHR; 8088 8089 typedef struct VkVideoCapabilitiesKHR { 8090 VkStructureType sType; 8091 void* pNext; 8092 VkVideoCapabilityFlagsKHR flags; 8093 VkDeviceSize minBitstreamBufferOffsetAlignment; 8094 VkDeviceSize minBitstreamBufferSizeAlignment; 8095 VkExtent2D pictureAccessGranularity; 8096 VkExtent2D minCodedExtent; 8097 VkExtent2D maxCodedExtent; 8098 uint32_t maxDpbSlots; 8099 uint32_t maxActiveReferencePictures; 8100 VkExtensionProperties stdHeaderVersion; 8101 } VkVideoCapabilitiesKHR; 8102 8103 typedef struct VkPhysicalDeviceVideoFormatInfoKHR { 8104 VkStructureType sType; 8105 const void* pNext; 8106 VkImageUsageFlags imageUsage; 8107 } VkPhysicalDeviceVideoFormatInfoKHR; 8108 8109 typedef struct VkVideoFormatPropertiesKHR { 8110 VkStructureType sType; 8111 void* pNext; 8112 VkFormat format; 8113 VkComponentMapping componentMapping; 8114 VkImageCreateFlags imageCreateFlags; 8115 VkImageType imageType; 8116 VkImageTiling imageTiling; 8117 VkImageUsageFlags imageUsageFlags; 8118 } VkVideoFormatPropertiesKHR; 8119 8120 typedef struct VkVideoPictureResourceInfoKHR { 8121 VkStructureType sType; 8122 const void* pNext; 8123 VkOffset2D codedOffset; 8124 VkExtent2D codedExtent; 8125 uint32_t baseArrayLayer; 8126 VkImageView imageViewBinding; 8127 } VkVideoPictureResourceInfoKHR; 8128 8129 typedef struct VkVideoReferenceSlotInfoKHR { 8130 VkStructureType sType; 8131 const void* pNext; 8132 int32_t slotIndex; 8133 const VkVideoPictureResourceInfoKHR* pPictureResource; 8134 } VkVideoReferenceSlotInfoKHR; 8135 8136 typedef struct VkVideoSessionMemoryRequirementsKHR { 8137 VkStructureType sType; 8138 void* pNext; 8139 uint32_t memoryBindIndex; 8140 VkMemoryRequirements memoryRequirements; 8141 } VkVideoSessionMemoryRequirementsKHR; 8142 8143 typedef struct VkBindVideoSessionMemoryInfoKHR { 8144 VkStructureType sType; 8145 const void* pNext; 8146 uint32_t memoryBindIndex; 8147 VkDeviceMemory memory; 8148 VkDeviceSize memoryOffset; 8149 VkDeviceSize memorySize; 8150 } VkBindVideoSessionMemoryInfoKHR; 8151 8152 typedef struct VkVideoSessionCreateInfoKHR { 8153 VkStructureType sType; 8154 const void* pNext; 8155 uint32_t queueFamilyIndex; 8156 VkVideoSessionCreateFlagsKHR flags; 8157 const VkVideoProfileInfoKHR* pVideoProfile; 8158 VkFormat pictureFormat; 8159 VkExtent2D maxCodedExtent; 8160 VkFormat referencePictureFormat; 8161 uint32_t maxDpbSlots; 8162 uint32_t maxActiveReferencePictures; 8163 const VkExtensionProperties* pStdHeaderVersion; 8164 } VkVideoSessionCreateInfoKHR; 8165 8166 typedef struct VkVideoSessionParametersCreateInfoKHR { 8167 VkStructureType sType; 8168 const void* pNext; 8169 VkVideoSessionParametersCreateFlagsKHR flags; 8170 VkVideoSessionParametersKHR videoSessionParametersTemplate; 8171 VkVideoSessionKHR videoSession; 8172 } VkVideoSessionParametersCreateInfoKHR; 8173 8174 typedef struct VkVideoSessionParametersUpdateInfoKHR { 8175 VkStructureType sType; 8176 const void* pNext; 8177 uint32_t updateSequenceCount; 8178 } VkVideoSessionParametersUpdateInfoKHR; 8179 8180 typedef struct VkVideoBeginCodingInfoKHR { 8181 VkStructureType sType; 8182 const void* pNext; 8183 VkVideoBeginCodingFlagsKHR flags; 8184 VkVideoSessionKHR videoSession; 8185 VkVideoSessionParametersKHR videoSessionParameters; 8186 uint32_t referenceSlotCount; 8187 const VkVideoReferenceSlotInfoKHR* pReferenceSlots; 8188 } VkVideoBeginCodingInfoKHR; 8189 8190 typedef struct VkVideoEndCodingInfoKHR { 8191 VkStructureType sType; 8192 const void* pNext; 8193 VkVideoEndCodingFlagsKHR flags; 8194 } VkVideoEndCodingInfoKHR; 8195 8196 typedef struct VkVideoCodingControlInfoKHR { 8197 VkStructureType sType; 8198 const void* pNext; 8199 VkVideoCodingControlFlagsKHR flags; 8200 } VkVideoCodingControlInfoKHR; 8201 8202 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR)(VkPhysicalDevice physicalDevice, const VkVideoProfileInfoKHR* pVideoProfile, VkVideoCapabilitiesKHR* pCapabilities); 8203 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceVideoFormatInfoKHR* pVideoFormatInfo, uint32_t* pVideoFormatPropertyCount, VkVideoFormatPropertiesKHR* pVideoFormatProperties); 8204 typedef VkResult (VKAPI_PTR *PFN_vkCreateVideoSessionKHR)(VkDevice device, const VkVideoSessionCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionKHR* pVideoSession); 8205 typedef void (VKAPI_PTR *PFN_vkDestroyVideoSessionKHR)(VkDevice device, VkVideoSessionKHR videoSession, const VkAllocationCallbacks* pAllocator); 8206 typedef VkResult (VKAPI_PTR *PFN_vkGetVideoSessionMemoryRequirementsKHR)(VkDevice device, VkVideoSessionKHR videoSession, uint32_t* pMemoryRequirementsCount, VkVideoSessionMemoryRequirementsKHR* pMemoryRequirements); 8207 typedef VkResult (VKAPI_PTR *PFN_vkBindVideoSessionMemoryKHR)(VkDevice device, VkVideoSessionKHR videoSession, uint32_t bindSessionMemoryInfoCount, const VkBindVideoSessionMemoryInfoKHR* pBindSessionMemoryInfos); 8208 typedef VkResult (VKAPI_PTR *PFN_vkCreateVideoSessionParametersKHR)(VkDevice device, const VkVideoSessionParametersCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionParametersKHR* pVideoSessionParameters); 8209 typedef VkResult (VKAPI_PTR *PFN_vkUpdateVideoSessionParametersKHR)(VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo); 8210 typedef void (VKAPI_PTR *PFN_vkDestroyVideoSessionParametersKHR)(VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkAllocationCallbacks* pAllocator); 8211 typedef void (VKAPI_PTR *PFN_vkCmdBeginVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoBeginCodingInfoKHR* pBeginInfo); 8212 typedef void (VKAPI_PTR *PFN_vkCmdEndVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoEndCodingInfoKHR* pEndCodingInfo); 8213 typedef void (VKAPI_PTR *PFN_vkCmdControlVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoCodingControlInfoKHR* pCodingControlInfo); 8214 8215 #ifndef VK_NO_PROTOTYPES 8216 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceVideoCapabilitiesKHR( 8217 VkPhysicalDevice physicalDevice, 8218 const VkVideoProfileInfoKHR* pVideoProfile, 8219 VkVideoCapabilitiesKHR* pCapabilities); 8220 8221 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceVideoFormatPropertiesKHR( 8222 VkPhysicalDevice physicalDevice, 8223 const VkPhysicalDeviceVideoFormatInfoKHR* pVideoFormatInfo, 8224 uint32_t* pVideoFormatPropertyCount, 8225 VkVideoFormatPropertiesKHR* pVideoFormatProperties); 8226 8227 VKAPI_ATTR VkResult VKAPI_CALL vkCreateVideoSessionKHR( 8228 VkDevice device, 8229 const VkVideoSessionCreateInfoKHR* pCreateInfo, 8230 const VkAllocationCallbacks* pAllocator, 8231 VkVideoSessionKHR* pVideoSession); 8232 8233 VKAPI_ATTR void VKAPI_CALL vkDestroyVideoSessionKHR( 8234 VkDevice device, 8235 VkVideoSessionKHR videoSession, 8236 const VkAllocationCallbacks* pAllocator); 8237 8238 VKAPI_ATTR VkResult VKAPI_CALL vkGetVideoSessionMemoryRequirementsKHR( 8239 VkDevice device, 8240 VkVideoSessionKHR videoSession, 8241 uint32_t* pMemoryRequirementsCount, 8242 VkVideoSessionMemoryRequirementsKHR* pMemoryRequirements); 8243 8244 VKAPI_ATTR VkResult VKAPI_CALL vkBindVideoSessionMemoryKHR( 8245 VkDevice device, 8246 VkVideoSessionKHR videoSession, 8247 uint32_t bindSessionMemoryInfoCount, 8248 const VkBindVideoSessionMemoryInfoKHR* pBindSessionMemoryInfos); 8249 8250 VKAPI_ATTR VkResult VKAPI_CALL vkCreateVideoSessionParametersKHR( 8251 VkDevice device, 8252 const VkVideoSessionParametersCreateInfoKHR* pCreateInfo, 8253 const VkAllocationCallbacks* pAllocator, 8254 VkVideoSessionParametersKHR* pVideoSessionParameters); 8255 8256 VKAPI_ATTR VkResult VKAPI_CALL vkUpdateVideoSessionParametersKHR( 8257 VkDevice device, 8258 VkVideoSessionParametersKHR videoSessionParameters, 8259 const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo); 8260 8261 VKAPI_ATTR void VKAPI_CALL vkDestroyVideoSessionParametersKHR( 8262 VkDevice device, 8263 VkVideoSessionParametersKHR videoSessionParameters, 8264 const VkAllocationCallbacks* pAllocator); 8265 8266 VKAPI_ATTR void VKAPI_CALL vkCmdBeginVideoCodingKHR( 8267 VkCommandBuffer commandBuffer, 8268 const VkVideoBeginCodingInfoKHR* pBeginInfo); 8269 8270 VKAPI_ATTR void VKAPI_CALL vkCmdEndVideoCodingKHR( 8271 VkCommandBuffer commandBuffer, 8272 const VkVideoEndCodingInfoKHR* pEndCodingInfo); 8273 8274 VKAPI_ATTR void VKAPI_CALL vkCmdControlVideoCodingKHR( 8275 VkCommandBuffer commandBuffer, 8276 const VkVideoCodingControlInfoKHR* pCodingControlInfo); 8277 #endif 8278 8279 8280 // VK_KHR_video_decode_queue is a preprocessor guard. Do not pass it to API calls. 8281 #define VK_KHR_video_decode_queue 1 8282 #define VK_KHR_VIDEO_DECODE_QUEUE_SPEC_VERSION 8 8283 #define VK_KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME "VK_KHR_video_decode_queue" 8284 8285 typedef enum VkVideoDecodeCapabilityFlagBitsKHR { 8286 VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_COINCIDE_BIT_KHR = 0x00000001, 8287 VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_DISTINCT_BIT_KHR = 0x00000002, 8288 VK_VIDEO_DECODE_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8289 } VkVideoDecodeCapabilityFlagBitsKHR; 8290 typedef VkFlags VkVideoDecodeCapabilityFlagsKHR; 8291 8292 typedef enum VkVideoDecodeUsageFlagBitsKHR { 8293 VK_VIDEO_DECODE_USAGE_DEFAULT_KHR = 0, 8294 VK_VIDEO_DECODE_USAGE_TRANSCODING_BIT_KHR = 0x00000001, 8295 VK_VIDEO_DECODE_USAGE_OFFLINE_BIT_KHR = 0x00000002, 8296 VK_VIDEO_DECODE_USAGE_STREAMING_BIT_KHR = 0x00000004, 8297 VK_VIDEO_DECODE_USAGE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8298 } VkVideoDecodeUsageFlagBitsKHR; 8299 typedef VkFlags VkVideoDecodeUsageFlagsKHR; 8300 typedef VkFlags VkVideoDecodeFlagsKHR; 8301 typedef struct VkVideoDecodeCapabilitiesKHR { 8302 VkStructureType sType; 8303 void* pNext; 8304 VkVideoDecodeCapabilityFlagsKHR flags; 8305 } VkVideoDecodeCapabilitiesKHR; 8306 8307 typedef struct VkVideoDecodeUsageInfoKHR { 8308 VkStructureType sType; 8309 const void* pNext; 8310 VkVideoDecodeUsageFlagsKHR videoUsageHints; 8311 } VkVideoDecodeUsageInfoKHR; 8312 8313 typedef struct VkVideoDecodeInfoKHR { 8314 VkStructureType sType; 8315 const void* pNext; 8316 VkVideoDecodeFlagsKHR flags; 8317 VkBuffer srcBuffer; 8318 VkDeviceSize srcBufferOffset; 8319 VkDeviceSize srcBufferRange; 8320 VkVideoPictureResourceInfoKHR dstPictureResource; 8321 const VkVideoReferenceSlotInfoKHR* pSetupReferenceSlot; 8322 uint32_t referenceSlotCount; 8323 const VkVideoReferenceSlotInfoKHR* pReferenceSlots; 8324 } VkVideoDecodeInfoKHR; 8325 8326 typedef void (VKAPI_PTR *PFN_vkCmdDecodeVideoKHR)(VkCommandBuffer commandBuffer, const VkVideoDecodeInfoKHR* pDecodeInfo); 8327 8328 #ifndef VK_NO_PROTOTYPES 8329 VKAPI_ATTR void VKAPI_CALL vkCmdDecodeVideoKHR( 8330 VkCommandBuffer commandBuffer, 8331 const VkVideoDecodeInfoKHR* pDecodeInfo); 8332 #endif 8333 8334 8335 // VK_KHR_video_encode_h264 is a preprocessor guard. Do not pass it to API calls. 8336 #define VK_KHR_video_encode_h264 1 8337 #include "vk_video/vulkan_video_codec_h264std.h" 8338 #include "vk_video/vulkan_video_codec_h264std_encode.h" 8339 #define VK_KHR_VIDEO_ENCODE_H264_SPEC_VERSION 14 8340 #define VK_KHR_VIDEO_ENCODE_H264_EXTENSION_NAME "VK_KHR_video_encode_h264" 8341 8342 typedef enum VkVideoEncodeH264CapabilityFlagBitsKHR { 8343 VK_VIDEO_ENCODE_H264_CAPABILITY_HRD_COMPLIANCE_BIT_KHR = 0x00000001, 8344 VK_VIDEO_ENCODE_H264_CAPABILITY_PREDICTION_WEIGHT_TABLE_GENERATED_BIT_KHR = 0x00000002, 8345 VK_VIDEO_ENCODE_H264_CAPABILITY_ROW_UNALIGNED_SLICE_BIT_KHR = 0x00000004, 8346 VK_VIDEO_ENCODE_H264_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_KHR = 0x00000008, 8347 VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L0_LIST_BIT_KHR = 0x00000010, 8348 VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_KHR = 0x00000020, 8349 VK_VIDEO_ENCODE_H264_CAPABILITY_PER_PICTURE_TYPE_MIN_MAX_QP_BIT_KHR = 0x00000040, 8350 VK_VIDEO_ENCODE_H264_CAPABILITY_PER_SLICE_CONSTANT_QP_BIT_KHR = 0x00000080, 8351 VK_VIDEO_ENCODE_H264_CAPABILITY_GENERATE_PREFIX_NALU_BIT_KHR = 0x00000100, 8352 VK_VIDEO_ENCODE_H264_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8353 } VkVideoEncodeH264CapabilityFlagBitsKHR; 8354 typedef VkFlags VkVideoEncodeH264CapabilityFlagsKHR; 8355 8356 typedef enum VkVideoEncodeH264StdFlagBitsKHR { 8357 VK_VIDEO_ENCODE_H264_STD_SEPARATE_COLOR_PLANE_FLAG_SET_BIT_KHR = 0x00000001, 8358 VK_VIDEO_ENCODE_H264_STD_QPPRIME_Y_ZERO_TRANSFORM_BYPASS_FLAG_SET_BIT_KHR = 0x00000002, 8359 VK_VIDEO_ENCODE_H264_STD_SCALING_MATRIX_PRESENT_FLAG_SET_BIT_KHR = 0x00000004, 8360 VK_VIDEO_ENCODE_H264_STD_CHROMA_QP_INDEX_OFFSET_BIT_KHR = 0x00000008, 8361 VK_VIDEO_ENCODE_H264_STD_SECOND_CHROMA_QP_INDEX_OFFSET_BIT_KHR = 0x00000010, 8362 VK_VIDEO_ENCODE_H264_STD_PIC_INIT_QP_MINUS26_BIT_KHR = 0x00000020, 8363 VK_VIDEO_ENCODE_H264_STD_WEIGHTED_PRED_FLAG_SET_BIT_KHR = 0x00000040, 8364 VK_VIDEO_ENCODE_H264_STD_WEIGHTED_BIPRED_IDC_EXPLICIT_BIT_KHR = 0x00000080, 8365 VK_VIDEO_ENCODE_H264_STD_WEIGHTED_BIPRED_IDC_IMPLICIT_BIT_KHR = 0x00000100, 8366 VK_VIDEO_ENCODE_H264_STD_TRANSFORM_8X8_MODE_FLAG_SET_BIT_KHR = 0x00000200, 8367 VK_VIDEO_ENCODE_H264_STD_DIRECT_SPATIAL_MV_PRED_FLAG_UNSET_BIT_KHR = 0x00000400, 8368 VK_VIDEO_ENCODE_H264_STD_ENTROPY_CODING_MODE_FLAG_UNSET_BIT_KHR = 0x00000800, 8369 VK_VIDEO_ENCODE_H264_STD_ENTROPY_CODING_MODE_FLAG_SET_BIT_KHR = 0x00001000, 8370 VK_VIDEO_ENCODE_H264_STD_DIRECT_8X8_INFERENCE_FLAG_UNSET_BIT_KHR = 0x00002000, 8371 VK_VIDEO_ENCODE_H264_STD_CONSTRAINED_INTRA_PRED_FLAG_SET_BIT_KHR = 0x00004000, 8372 VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_DISABLED_BIT_KHR = 0x00008000, 8373 VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_ENABLED_BIT_KHR = 0x00010000, 8374 VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_PARTIAL_BIT_KHR = 0x00020000, 8375 VK_VIDEO_ENCODE_H264_STD_SLICE_QP_DELTA_BIT_KHR = 0x00080000, 8376 VK_VIDEO_ENCODE_H264_STD_DIFFERENT_SLICE_QP_DELTA_BIT_KHR = 0x00100000, 8377 VK_VIDEO_ENCODE_H264_STD_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8378 } VkVideoEncodeH264StdFlagBitsKHR; 8379 typedef VkFlags VkVideoEncodeH264StdFlagsKHR; 8380 8381 typedef enum VkVideoEncodeH264RateControlFlagBitsKHR { 8382 VK_VIDEO_ENCODE_H264_RATE_CONTROL_ATTEMPT_HRD_COMPLIANCE_BIT_KHR = 0x00000001, 8383 VK_VIDEO_ENCODE_H264_RATE_CONTROL_REGULAR_GOP_BIT_KHR = 0x00000002, 8384 VK_VIDEO_ENCODE_H264_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_KHR = 0x00000004, 8385 VK_VIDEO_ENCODE_H264_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_KHR = 0x00000008, 8386 VK_VIDEO_ENCODE_H264_RATE_CONTROL_TEMPORAL_LAYER_PATTERN_DYADIC_BIT_KHR = 0x00000010, 8387 VK_VIDEO_ENCODE_H264_RATE_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8388 } VkVideoEncodeH264RateControlFlagBitsKHR; 8389 typedef VkFlags VkVideoEncodeH264RateControlFlagsKHR; 8390 typedef struct VkVideoEncodeH264CapabilitiesKHR { 8391 VkStructureType sType; 8392 void* pNext; 8393 VkVideoEncodeH264CapabilityFlagsKHR flags; 8394 StdVideoH264LevelIdc maxLevelIdc; 8395 uint32_t maxSliceCount; 8396 uint32_t maxPPictureL0ReferenceCount; 8397 uint32_t maxBPictureL0ReferenceCount; 8398 uint32_t maxL1ReferenceCount; 8399 uint32_t maxTemporalLayerCount; 8400 VkBool32 expectDyadicTemporalLayerPattern; 8401 int32_t minQp; 8402 int32_t maxQp; 8403 VkBool32 prefersGopRemainingFrames; 8404 VkBool32 requiresGopRemainingFrames; 8405 VkVideoEncodeH264StdFlagsKHR stdSyntaxFlags; 8406 } VkVideoEncodeH264CapabilitiesKHR; 8407 8408 typedef struct VkVideoEncodeH264QpKHR { 8409 int32_t qpI; 8410 int32_t qpP; 8411 int32_t qpB; 8412 } VkVideoEncodeH264QpKHR; 8413 8414 typedef struct VkVideoEncodeH264QualityLevelPropertiesKHR { 8415 VkStructureType sType; 8416 void* pNext; 8417 VkVideoEncodeH264RateControlFlagsKHR preferredRateControlFlags; 8418 uint32_t preferredGopFrameCount; 8419 uint32_t preferredIdrPeriod; 8420 uint32_t preferredConsecutiveBFrameCount; 8421 uint32_t preferredTemporalLayerCount; 8422 VkVideoEncodeH264QpKHR preferredConstantQp; 8423 uint32_t preferredMaxL0ReferenceCount; 8424 uint32_t preferredMaxL1ReferenceCount; 8425 VkBool32 preferredStdEntropyCodingModeFlag; 8426 } VkVideoEncodeH264QualityLevelPropertiesKHR; 8427 8428 typedef struct VkVideoEncodeH264SessionCreateInfoKHR { 8429 VkStructureType sType; 8430 const void* pNext; 8431 VkBool32 useMaxLevelIdc; 8432 StdVideoH264LevelIdc maxLevelIdc; 8433 } VkVideoEncodeH264SessionCreateInfoKHR; 8434 8435 typedef struct VkVideoEncodeH264SessionParametersAddInfoKHR { 8436 VkStructureType sType; 8437 const void* pNext; 8438 uint32_t stdSPSCount; 8439 const StdVideoH264SequenceParameterSet* pStdSPSs; 8440 uint32_t stdPPSCount; 8441 const StdVideoH264PictureParameterSet* pStdPPSs; 8442 } VkVideoEncodeH264SessionParametersAddInfoKHR; 8443 8444 typedef struct VkVideoEncodeH264SessionParametersCreateInfoKHR { 8445 VkStructureType sType; 8446 const void* pNext; 8447 uint32_t maxStdSPSCount; 8448 uint32_t maxStdPPSCount; 8449 const VkVideoEncodeH264SessionParametersAddInfoKHR* pParametersAddInfo; 8450 } VkVideoEncodeH264SessionParametersCreateInfoKHR; 8451 8452 typedef struct VkVideoEncodeH264SessionParametersGetInfoKHR { 8453 VkStructureType sType; 8454 const void* pNext; 8455 VkBool32 writeStdSPS; 8456 VkBool32 writeStdPPS; 8457 uint32_t stdSPSId; 8458 uint32_t stdPPSId; 8459 } VkVideoEncodeH264SessionParametersGetInfoKHR; 8460 8461 typedef struct VkVideoEncodeH264SessionParametersFeedbackInfoKHR { 8462 VkStructureType sType; 8463 void* pNext; 8464 VkBool32 hasStdSPSOverrides; 8465 VkBool32 hasStdPPSOverrides; 8466 } VkVideoEncodeH264SessionParametersFeedbackInfoKHR; 8467 8468 typedef struct VkVideoEncodeH264NaluSliceInfoKHR { 8469 VkStructureType sType; 8470 const void* pNext; 8471 int32_t constantQp; 8472 const StdVideoEncodeH264SliceHeader* pStdSliceHeader; 8473 } VkVideoEncodeH264NaluSliceInfoKHR; 8474 8475 typedef struct VkVideoEncodeH264PictureInfoKHR { 8476 VkStructureType sType; 8477 const void* pNext; 8478 uint32_t naluSliceEntryCount; 8479 const VkVideoEncodeH264NaluSliceInfoKHR* pNaluSliceEntries; 8480 const StdVideoEncodeH264PictureInfo* pStdPictureInfo; 8481 VkBool32 generatePrefixNalu; 8482 } VkVideoEncodeH264PictureInfoKHR; 8483 8484 typedef struct VkVideoEncodeH264DpbSlotInfoKHR { 8485 VkStructureType sType; 8486 const void* pNext; 8487 const StdVideoEncodeH264ReferenceInfo* pStdReferenceInfo; 8488 } VkVideoEncodeH264DpbSlotInfoKHR; 8489 8490 typedef struct VkVideoEncodeH264ProfileInfoKHR { 8491 VkStructureType sType; 8492 const void* pNext; 8493 StdVideoH264ProfileIdc stdProfileIdc; 8494 } VkVideoEncodeH264ProfileInfoKHR; 8495 8496 typedef struct VkVideoEncodeH264RateControlInfoKHR { 8497 VkStructureType sType; 8498 const void* pNext; 8499 VkVideoEncodeH264RateControlFlagsKHR flags; 8500 uint32_t gopFrameCount; 8501 uint32_t idrPeriod; 8502 uint32_t consecutiveBFrameCount; 8503 uint32_t temporalLayerCount; 8504 } VkVideoEncodeH264RateControlInfoKHR; 8505 8506 typedef struct VkVideoEncodeH264FrameSizeKHR { 8507 uint32_t frameISize; 8508 uint32_t framePSize; 8509 uint32_t frameBSize; 8510 } VkVideoEncodeH264FrameSizeKHR; 8511 8512 typedef struct VkVideoEncodeH264RateControlLayerInfoKHR { 8513 VkStructureType sType; 8514 const void* pNext; 8515 VkBool32 useMinQp; 8516 VkVideoEncodeH264QpKHR minQp; 8517 VkBool32 useMaxQp; 8518 VkVideoEncodeH264QpKHR maxQp; 8519 VkBool32 useMaxFrameSize; 8520 VkVideoEncodeH264FrameSizeKHR maxFrameSize; 8521 } VkVideoEncodeH264RateControlLayerInfoKHR; 8522 8523 typedef struct VkVideoEncodeH264GopRemainingFrameInfoKHR { 8524 VkStructureType sType; 8525 const void* pNext; 8526 VkBool32 useGopRemainingFrames; 8527 uint32_t gopRemainingI; 8528 uint32_t gopRemainingP; 8529 uint32_t gopRemainingB; 8530 } VkVideoEncodeH264GopRemainingFrameInfoKHR; 8531 8532 8533 8534 // VK_KHR_video_encode_h265 is a preprocessor guard. Do not pass it to API calls. 8535 #define VK_KHR_video_encode_h265 1 8536 #include "vk_video/vulkan_video_codec_h265std.h" 8537 #include "vk_video/vulkan_video_codec_h265std_encode.h" 8538 #define VK_KHR_VIDEO_ENCODE_H265_SPEC_VERSION 14 8539 #define VK_KHR_VIDEO_ENCODE_H265_EXTENSION_NAME "VK_KHR_video_encode_h265" 8540 8541 typedef enum VkVideoEncodeH265CapabilityFlagBitsKHR { 8542 VK_VIDEO_ENCODE_H265_CAPABILITY_HRD_COMPLIANCE_BIT_KHR = 0x00000001, 8543 VK_VIDEO_ENCODE_H265_CAPABILITY_PREDICTION_WEIGHT_TABLE_GENERATED_BIT_KHR = 0x00000002, 8544 VK_VIDEO_ENCODE_H265_CAPABILITY_ROW_UNALIGNED_SLICE_SEGMENT_BIT_KHR = 0x00000004, 8545 VK_VIDEO_ENCODE_H265_CAPABILITY_DIFFERENT_SLICE_SEGMENT_TYPE_BIT_KHR = 0x00000008, 8546 VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L0_LIST_BIT_KHR = 0x00000010, 8547 VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_KHR = 0x00000020, 8548 VK_VIDEO_ENCODE_H265_CAPABILITY_PER_PICTURE_TYPE_MIN_MAX_QP_BIT_KHR = 0x00000040, 8549 VK_VIDEO_ENCODE_H265_CAPABILITY_PER_SLICE_SEGMENT_CONSTANT_QP_BIT_KHR = 0x00000080, 8550 VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILES_PER_SLICE_SEGMENT_BIT_KHR = 0x00000100, 8551 VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_SLICE_SEGMENTS_PER_TILE_BIT_KHR = 0x00000200, 8552 VK_VIDEO_ENCODE_H265_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8553 } VkVideoEncodeH265CapabilityFlagBitsKHR; 8554 typedef VkFlags VkVideoEncodeH265CapabilityFlagsKHR; 8555 8556 typedef enum VkVideoEncodeH265StdFlagBitsKHR { 8557 VK_VIDEO_ENCODE_H265_STD_SEPARATE_COLOR_PLANE_FLAG_SET_BIT_KHR = 0x00000001, 8558 VK_VIDEO_ENCODE_H265_STD_SAMPLE_ADAPTIVE_OFFSET_ENABLED_FLAG_SET_BIT_KHR = 0x00000002, 8559 VK_VIDEO_ENCODE_H265_STD_SCALING_LIST_DATA_PRESENT_FLAG_SET_BIT_KHR = 0x00000004, 8560 VK_VIDEO_ENCODE_H265_STD_PCM_ENABLED_FLAG_SET_BIT_KHR = 0x00000008, 8561 VK_VIDEO_ENCODE_H265_STD_SPS_TEMPORAL_MVP_ENABLED_FLAG_SET_BIT_KHR = 0x00000010, 8562 VK_VIDEO_ENCODE_H265_STD_INIT_QP_MINUS26_BIT_KHR = 0x00000020, 8563 VK_VIDEO_ENCODE_H265_STD_WEIGHTED_PRED_FLAG_SET_BIT_KHR = 0x00000040, 8564 VK_VIDEO_ENCODE_H265_STD_WEIGHTED_BIPRED_FLAG_SET_BIT_KHR = 0x00000080, 8565 VK_VIDEO_ENCODE_H265_STD_LOG2_PARALLEL_MERGE_LEVEL_MINUS2_BIT_KHR = 0x00000100, 8566 VK_VIDEO_ENCODE_H265_STD_SIGN_DATA_HIDING_ENABLED_FLAG_SET_BIT_KHR = 0x00000200, 8567 VK_VIDEO_ENCODE_H265_STD_TRANSFORM_SKIP_ENABLED_FLAG_SET_BIT_KHR = 0x00000400, 8568 VK_VIDEO_ENCODE_H265_STD_TRANSFORM_SKIP_ENABLED_FLAG_UNSET_BIT_KHR = 0x00000800, 8569 VK_VIDEO_ENCODE_H265_STD_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT_FLAG_SET_BIT_KHR = 0x00001000, 8570 VK_VIDEO_ENCODE_H265_STD_TRANSQUANT_BYPASS_ENABLED_FLAG_SET_BIT_KHR = 0x00002000, 8571 VK_VIDEO_ENCODE_H265_STD_CONSTRAINED_INTRA_PRED_FLAG_SET_BIT_KHR = 0x00004000, 8572 VK_VIDEO_ENCODE_H265_STD_ENTROPY_CODING_SYNC_ENABLED_FLAG_SET_BIT_KHR = 0x00008000, 8573 VK_VIDEO_ENCODE_H265_STD_DEBLOCKING_FILTER_OVERRIDE_ENABLED_FLAG_SET_BIT_KHR = 0x00010000, 8574 VK_VIDEO_ENCODE_H265_STD_DEPENDENT_SLICE_SEGMENTS_ENABLED_FLAG_SET_BIT_KHR = 0x00020000, 8575 VK_VIDEO_ENCODE_H265_STD_DEPENDENT_SLICE_SEGMENT_FLAG_SET_BIT_KHR = 0x00040000, 8576 VK_VIDEO_ENCODE_H265_STD_SLICE_QP_DELTA_BIT_KHR = 0x00080000, 8577 VK_VIDEO_ENCODE_H265_STD_DIFFERENT_SLICE_QP_DELTA_BIT_KHR = 0x00100000, 8578 VK_VIDEO_ENCODE_H265_STD_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8579 } VkVideoEncodeH265StdFlagBitsKHR; 8580 typedef VkFlags VkVideoEncodeH265StdFlagsKHR; 8581 8582 typedef enum VkVideoEncodeH265CtbSizeFlagBitsKHR { 8583 VK_VIDEO_ENCODE_H265_CTB_SIZE_16_BIT_KHR = 0x00000001, 8584 VK_VIDEO_ENCODE_H265_CTB_SIZE_32_BIT_KHR = 0x00000002, 8585 VK_VIDEO_ENCODE_H265_CTB_SIZE_64_BIT_KHR = 0x00000004, 8586 VK_VIDEO_ENCODE_H265_CTB_SIZE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8587 } VkVideoEncodeH265CtbSizeFlagBitsKHR; 8588 typedef VkFlags VkVideoEncodeH265CtbSizeFlagsKHR; 8589 8590 typedef enum VkVideoEncodeH265TransformBlockSizeFlagBitsKHR { 8591 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_4_BIT_KHR = 0x00000001, 8592 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_8_BIT_KHR = 0x00000002, 8593 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_16_BIT_KHR = 0x00000004, 8594 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_32_BIT_KHR = 0x00000008, 8595 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8596 } VkVideoEncodeH265TransformBlockSizeFlagBitsKHR; 8597 typedef VkFlags VkVideoEncodeH265TransformBlockSizeFlagsKHR; 8598 8599 typedef enum VkVideoEncodeH265RateControlFlagBitsKHR { 8600 VK_VIDEO_ENCODE_H265_RATE_CONTROL_ATTEMPT_HRD_COMPLIANCE_BIT_KHR = 0x00000001, 8601 VK_VIDEO_ENCODE_H265_RATE_CONTROL_REGULAR_GOP_BIT_KHR = 0x00000002, 8602 VK_VIDEO_ENCODE_H265_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_KHR = 0x00000004, 8603 VK_VIDEO_ENCODE_H265_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_KHR = 0x00000008, 8604 VK_VIDEO_ENCODE_H265_RATE_CONTROL_TEMPORAL_SUB_LAYER_PATTERN_DYADIC_BIT_KHR = 0x00000010, 8605 VK_VIDEO_ENCODE_H265_RATE_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8606 } VkVideoEncodeH265RateControlFlagBitsKHR; 8607 typedef VkFlags VkVideoEncodeH265RateControlFlagsKHR; 8608 typedef struct VkVideoEncodeH265CapabilitiesKHR { 8609 VkStructureType sType; 8610 void* pNext; 8611 VkVideoEncodeH265CapabilityFlagsKHR flags; 8612 StdVideoH265LevelIdc maxLevelIdc; 8613 uint32_t maxSliceSegmentCount; 8614 VkExtent2D maxTiles; 8615 VkVideoEncodeH265CtbSizeFlagsKHR ctbSizes; 8616 VkVideoEncodeH265TransformBlockSizeFlagsKHR transformBlockSizes; 8617 uint32_t maxPPictureL0ReferenceCount; 8618 uint32_t maxBPictureL0ReferenceCount; 8619 uint32_t maxL1ReferenceCount; 8620 uint32_t maxSubLayerCount; 8621 VkBool32 expectDyadicTemporalSubLayerPattern; 8622 int32_t minQp; 8623 int32_t maxQp; 8624 VkBool32 prefersGopRemainingFrames; 8625 VkBool32 requiresGopRemainingFrames; 8626 VkVideoEncodeH265StdFlagsKHR stdSyntaxFlags; 8627 } VkVideoEncodeH265CapabilitiesKHR; 8628 8629 typedef struct VkVideoEncodeH265SessionCreateInfoKHR { 8630 VkStructureType sType; 8631 const void* pNext; 8632 VkBool32 useMaxLevelIdc; 8633 StdVideoH265LevelIdc maxLevelIdc; 8634 } VkVideoEncodeH265SessionCreateInfoKHR; 8635 8636 typedef struct VkVideoEncodeH265QpKHR { 8637 int32_t qpI; 8638 int32_t qpP; 8639 int32_t qpB; 8640 } VkVideoEncodeH265QpKHR; 8641 8642 typedef struct VkVideoEncodeH265QualityLevelPropertiesKHR { 8643 VkStructureType sType; 8644 void* pNext; 8645 VkVideoEncodeH265RateControlFlagsKHR preferredRateControlFlags; 8646 uint32_t preferredGopFrameCount; 8647 uint32_t preferredIdrPeriod; 8648 uint32_t preferredConsecutiveBFrameCount; 8649 uint32_t preferredSubLayerCount; 8650 VkVideoEncodeH265QpKHR preferredConstantQp; 8651 uint32_t preferredMaxL0ReferenceCount; 8652 uint32_t preferredMaxL1ReferenceCount; 8653 } VkVideoEncodeH265QualityLevelPropertiesKHR; 8654 8655 typedef struct VkVideoEncodeH265SessionParametersAddInfoKHR { 8656 VkStructureType sType; 8657 const void* pNext; 8658 uint32_t stdVPSCount; 8659 const StdVideoH265VideoParameterSet* pStdVPSs; 8660 uint32_t stdSPSCount; 8661 const StdVideoH265SequenceParameterSet* pStdSPSs; 8662 uint32_t stdPPSCount; 8663 const StdVideoH265PictureParameterSet* pStdPPSs; 8664 } VkVideoEncodeH265SessionParametersAddInfoKHR; 8665 8666 typedef struct VkVideoEncodeH265SessionParametersCreateInfoKHR { 8667 VkStructureType sType; 8668 const void* pNext; 8669 uint32_t maxStdVPSCount; 8670 uint32_t maxStdSPSCount; 8671 uint32_t maxStdPPSCount; 8672 const VkVideoEncodeH265SessionParametersAddInfoKHR* pParametersAddInfo; 8673 } VkVideoEncodeH265SessionParametersCreateInfoKHR; 8674 8675 typedef struct VkVideoEncodeH265SessionParametersGetInfoKHR { 8676 VkStructureType sType; 8677 const void* pNext; 8678 VkBool32 writeStdVPS; 8679 VkBool32 writeStdSPS; 8680 VkBool32 writeStdPPS; 8681 uint32_t stdVPSId; 8682 uint32_t stdSPSId; 8683 uint32_t stdPPSId; 8684 } VkVideoEncodeH265SessionParametersGetInfoKHR; 8685 8686 typedef struct VkVideoEncodeH265SessionParametersFeedbackInfoKHR { 8687 VkStructureType sType; 8688 void* pNext; 8689 VkBool32 hasStdVPSOverrides; 8690 VkBool32 hasStdSPSOverrides; 8691 VkBool32 hasStdPPSOverrides; 8692 } VkVideoEncodeH265SessionParametersFeedbackInfoKHR; 8693 8694 typedef struct VkVideoEncodeH265NaluSliceSegmentInfoKHR { 8695 VkStructureType sType; 8696 const void* pNext; 8697 int32_t constantQp; 8698 const StdVideoEncodeH265SliceSegmentHeader* pStdSliceSegmentHeader; 8699 } VkVideoEncodeH265NaluSliceSegmentInfoKHR; 8700 8701 typedef struct VkVideoEncodeH265PictureInfoKHR { 8702 VkStructureType sType; 8703 const void* pNext; 8704 uint32_t naluSliceSegmentEntryCount; 8705 const VkVideoEncodeH265NaluSliceSegmentInfoKHR* pNaluSliceSegmentEntries; 8706 const StdVideoEncodeH265PictureInfo* pStdPictureInfo; 8707 } VkVideoEncodeH265PictureInfoKHR; 8708 8709 typedef struct VkVideoEncodeH265DpbSlotInfoKHR { 8710 VkStructureType sType; 8711 const void* pNext; 8712 const StdVideoEncodeH265ReferenceInfo* pStdReferenceInfo; 8713 } VkVideoEncodeH265DpbSlotInfoKHR; 8714 8715 typedef struct VkVideoEncodeH265ProfileInfoKHR { 8716 VkStructureType sType; 8717 const void* pNext; 8718 StdVideoH265ProfileIdc stdProfileIdc; 8719 } VkVideoEncodeH265ProfileInfoKHR; 8720 8721 typedef struct VkVideoEncodeH265RateControlInfoKHR { 8722 VkStructureType sType; 8723 const void* pNext; 8724 VkVideoEncodeH265RateControlFlagsKHR flags; 8725 uint32_t gopFrameCount; 8726 uint32_t idrPeriod; 8727 uint32_t consecutiveBFrameCount; 8728 uint32_t subLayerCount; 8729 } VkVideoEncodeH265RateControlInfoKHR; 8730 8731 typedef struct VkVideoEncodeH265FrameSizeKHR { 8732 uint32_t frameISize; 8733 uint32_t framePSize; 8734 uint32_t frameBSize; 8735 } VkVideoEncodeH265FrameSizeKHR; 8736 8737 typedef struct VkVideoEncodeH265RateControlLayerInfoKHR { 8738 VkStructureType sType; 8739 const void* pNext; 8740 VkBool32 useMinQp; 8741 VkVideoEncodeH265QpKHR minQp; 8742 VkBool32 useMaxQp; 8743 VkVideoEncodeH265QpKHR maxQp; 8744 VkBool32 useMaxFrameSize; 8745 VkVideoEncodeH265FrameSizeKHR maxFrameSize; 8746 } VkVideoEncodeH265RateControlLayerInfoKHR; 8747 8748 typedef struct VkVideoEncodeH265GopRemainingFrameInfoKHR { 8749 VkStructureType sType; 8750 const void* pNext; 8751 VkBool32 useGopRemainingFrames; 8752 uint32_t gopRemainingI; 8753 uint32_t gopRemainingP; 8754 uint32_t gopRemainingB; 8755 } VkVideoEncodeH265GopRemainingFrameInfoKHR; 8756 8757 8758 8759 // VK_KHR_video_decode_h264 is a preprocessor guard. Do not pass it to API calls. 8760 #define VK_KHR_video_decode_h264 1 8761 #include "vk_video/vulkan_video_codec_h264std_decode.h" 8762 #define VK_KHR_VIDEO_DECODE_H264_SPEC_VERSION 9 8763 #define VK_KHR_VIDEO_DECODE_H264_EXTENSION_NAME "VK_KHR_video_decode_h264" 8764 8765 typedef enum VkVideoDecodeH264PictureLayoutFlagBitsKHR { 8766 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_PROGRESSIVE_KHR = 0, 8767 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_INTERLEAVED_LINES_BIT_KHR = 0x00000001, 8768 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_SEPARATE_PLANES_BIT_KHR = 0x00000002, 8769 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8770 } VkVideoDecodeH264PictureLayoutFlagBitsKHR; 8771 typedef VkFlags VkVideoDecodeH264PictureLayoutFlagsKHR; 8772 typedef struct VkVideoDecodeH264ProfileInfoKHR { 8773 VkStructureType sType; 8774 const void* pNext; 8775 StdVideoH264ProfileIdc stdProfileIdc; 8776 VkVideoDecodeH264PictureLayoutFlagBitsKHR pictureLayout; 8777 } VkVideoDecodeH264ProfileInfoKHR; 8778 8779 typedef struct VkVideoDecodeH264CapabilitiesKHR { 8780 VkStructureType sType; 8781 void* pNext; 8782 StdVideoH264LevelIdc maxLevelIdc; 8783 VkOffset2D fieldOffsetGranularity; 8784 } VkVideoDecodeH264CapabilitiesKHR; 8785 8786 typedef struct VkVideoDecodeH264SessionParametersAddInfoKHR { 8787 VkStructureType sType; 8788 const void* pNext; 8789 uint32_t stdSPSCount; 8790 const StdVideoH264SequenceParameterSet* pStdSPSs; 8791 uint32_t stdPPSCount; 8792 const StdVideoH264PictureParameterSet* pStdPPSs; 8793 } VkVideoDecodeH264SessionParametersAddInfoKHR; 8794 8795 typedef struct VkVideoDecodeH264SessionParametersCreateInfoKHR { 8796 VkStructureType sType; 8797 const void* pNext; 8798 uint32_t maxStdSPSCount; 8799 uint32_t maxStdPPSCount; 8800 const VkVideoDecodeH264SessionParametersAddInfoKHR* pParametersAddInfo; 8801 } VkVideoDecodeH264SessionParametersCreateInfoKHR; 8802 8803 typedef struct VkVideoDecodeH264PictureInfoKHR { 8804 VkStructureType sType; 8805 const void* pNext; 8806 const StdVideoDecodeH264PictureInfo* pStdPictureInfo; 8807 uint32_t sliceCount; 8808 const uint32_t* pSliceOffsets; 8809 } VkVideoDecodeH264PictureInfoKHR; 8810 8811 typedef struct VkVideoDecodeH264DpbSlotInfoKHR { 8812 VkStructureType sType; 8813 const void* pNext; 8814 const StdVideoDecodeH264ReferenceInfo* pStdReferenceInfo; 8815 } VkVideoDecodeH264DpbSlotInfoKHR; 8816 8817 8818 8819 // VK_KHR_dynamic_rendering is a preprocessor guard. Do not pass it to API calls. 8820 #define VK_KHR_dynamic_rendering 1 8821 #define VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION 1 8822 #define VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME "VK_KHR_dynamic_rendering" 8823 typedef VkRenderingFlags VkRenderingFlagsKHR; 8824 8825 typedef VkRenderingFlagBits VkRenderingFlagBitsKHR; 8826 8827 typedef VkRenderingInfo VkRenderingInfoKHR; 8828 8829 typedef VkRenderingAttachmentInfo VkRenderingAttachmentInfoKHR; 8830 8831 typedef VkPipelineRenderingCreateInfo VkPipelineRenderingCreateInfoKHR; 8832 8833 typedef VkPhysicalDeviceDynamicRenderingFeatures VkPhysicalDeviceDynamicRenderingFeaturesKHR; 8834 8835 typedef VkCommandBufferInheritanceRenderingInfo VkCommandBufferInheritanceRenderingInfoKHR; 8836 8837 typedef struct VkRenderingFragmentShadingRateAttachmentInfoKHR { 8838 VkStructureType sType; 8839 const void* pNext; 8840 VkImageView imageView; 8841 VkImageLayout imageLayout; 8842 VkExtent2D shadingRateAttachmentTexelSize; 8843 } VkRenderingFragmentShadingRateAttachmentInfoKHR; 8844 8845 typedef struct VkRenderingFragmentDensityMapAttachmentInfoEXT { 8846 VkStructureType sType; 8847 const void* pNext; 8848 VkImageView imageView; 8849 VkImageLayout imageLayout; 8850 } VkRenderingFragmentDensityMapAttachmentInfoEXT; 8851 8852 typedef struct VkAttachmentSampleCountInfoAMD { 8853 VkStructureType sType; 8854 const void* pNext; 8855 uint32_t colorAttachmentCount; 8856 const VkSampleCountFlagBits* pColorAttachmentSamples; 8857 VkSampleCountFlagBits depthStencilAttachmentSamples; 8858 } VkAttachmentSampleCountInfoAMD; 8859 8860 typedef VkAttachmentSampleCountInfoAMD VkAttachmentSampleCountInfoNV; 8861 8862 typedef struct VkMultiviewPerViewAttributesInfoNVX { 8863 VkStructureType sType; 8864 const void* pNext; 8865 VkBool32 perViewAttributes; 8866 VkBool32 perViewAttributesPositionXOnly; 8867 } VkMultiviewPerViewAttributesInfoNVX; 8868 8869 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderingKHR)(VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo); 8870 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderingKHR)(VkCommandBuffer commandBuffer); 8871 8872 #ifndef VK_NO_PROTOTYPES 8873 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderingKHR( 8874 VkCommandBuffer commandBuffer, 8875 const VkRenderingInfo* pRenderingInfo); 8876 8877 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderingKHR( 8878 VkCommandBuffer commandBuffer); 8879 #endif 8880 8881 8882 // VK_KHR_multiview is a preprocessor guard. Do not pass it to API calls. 8883 #define VK_KHR_multiview 1 8884 #define VK_KHR_MULTIVIEW_SPEC_VERSION 1 8885 #define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview" 8886 typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR; 8887 8888 typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR; 8889 8890 typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR; 8891 8892 8893 8894 // VK_KHR_get_physical_device_properties2 is a preprocessor guard. Do not pass it to API calls. 8895 #define VK_KHR_get_physical_device_properties2 1 8896 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 2 8897 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2" 8898 typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR; 8899 8900 typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR; 8901 8902 typedef VkFormatProperties2 VkFormatProperties2KHR; 8903 8904 typedef VkImageFormatProperties2 VkImageFormatProperties2KHR; 8905 8906 typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR; 8907 8908 typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR; 8909 8910 typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR; 8911 8912 typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR; 8913 8914 typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR; 8915 8916 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures); 8917 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties); 8918 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties); 8919 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties); 8920 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties); 8921 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 8922 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties); 8923 8924 #ifndef VK_NO_PROTOTYPES 8925 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR( 8926 VkPhysicalDevice physicalDevice, 8927 VkPhysicalDeviceFeatures2* pFeatures); 8928 8929 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR( 8930 VkPhysicalDevice physicalDevice, 8931 VkPhysicalDeviceProperties2* pProperties); 8932 8933 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR( 8934 VkPhysicalDevice physicalDevice, 8935 VkFormat format, 8936 VkFormatProperties2* pFormatProperties); 8937 8938 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR( 8939 VkPhysicalDevice physicalDevice, 8940 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, 8941 VkImageFormatProperties2* pImageFormatProperties); 8942 8943 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR( 8944 VkPhysicalDevice physicalDevice, 8945 uint32_t* pQueueFamilyPropertyCount, 8946 VkQueueFamilyProperties2* pQueueFamilyProperties); 8947 8948 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR( 8949 VkPhysicalDevice physicalDevice, 8950 VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 8951 8952 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR( 8953 VkPhysicalDevice physicalDevice, 8954 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, 8955 uint32_t* pPropertyCount, 8956 VkSparseImageFormatProperties2* pProperties); 8957 #endif 8958 8959 8960 // VK_KHR_device_group is a preprocessor guard. Do not pass it to API calls. 8961 #define VK_KHR_device_group 1 8962 #define VK_KHR_DEVICE_GROUP_SPEC_VERSION 4 8963 #define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group" 8964 typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR; 8965 8966 typedef VkPeerMemoryFeatureFlagBits VkPeerMemoryFeatureFlagBitsKHR; 8967 8968 typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR; 8969 8970 typedef VkMemoryAllocateFlagBits VkMemoryAllocateFlagBitsKHR; 8971 8972 typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR; 8973 8974 typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR; 8975 8976 typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR; 8977 8978 typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR; 8979 8980 typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR; 8981 8982 typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR; 8983 8984 typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR; 8985 8986 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 8987 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer commandBuffer, uint32_t deviceMask); 8988 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); 8989 8990 #ifndef VK_NO_PROTOTYPES 8991 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHR( 8992 VkDevice device, 8993 uint32_t heapIndex, 8994 uint32_t localDeviceIndex, 8995 uint32_t remoteDeviceIndex, 8996 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 8997 8998 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMaskKHR( 8999 VkCommandBuffer commandBuffer, 9000 uint32_t deviceMask); 9001 9002 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHR( 9003 VkCommandBuffer commandBuffer, 9004 uint32_t baseGroupX, 9005 uint32_t baseGroupY, 9006 uint32_t baseGroupZ, 9007 uint32_t groupCountX, 9008 uint32_t groupCountY, 9009 uint32_t groupCountZ); 9010 #endif 9011 9012 9013 // VK_KHR_shader_draw_parameters is a preprocessor guard. Do not pass it to API calls. 9014 #define VK_KHR_shader_draw_parameters 1 9015 #define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1 9016 #define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters" 9017 9018 9019 // VK_KHR_maintenance1 is a preprocessor guard. Do not pass it to API calls. 9020 #define VK_KHR_maintenance1 1 9021 #define VK_KHR_MAINTENANCE_1_SPEC_VERSION 2 9022 #define VK_KHR_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_maintenance1" 9023 #define VK_KHR_MAINTENANCE1_SPEC_VERSION VK_KHR_MAINTENANCE_1_SPEC_VERSION 9024 #define VK_KHR_MAINTENANCE1_EXTENSION_NAME VK_KHR_MAINTENANCE_1_EXTENSION_NAME 9025 typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR; 9026 9027 typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags); 9028 9029 #ifndef VK_NO_PROTOTYPES 9030 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR( 9031 VkDevice device, 9032 VkCommandPool commandPool, 9033 VkCommandPoolTrimFlags flags); 9034 #endif 9035 9036 9037 // VK_KHR_device_group_creation is a preprocessor guard. Do not pass it to API calls. 9038 #define VK_KHR_device_group_creation 1 9039 #define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1 9040 #define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation" 9041 #define VK_MAX_DEVICE_GROUP_SIZE_KHR VK_MAX_DEVICE_GROUP_SIZE 9042 typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR; 9043 9044 typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR; 9045 9046 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 9047 9048 #ifndef VK_NO_PROTOTYPES 9049 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHR( 9050 VkInstance instance, 9051 uint32_t* pPhysicalDeviceGroupCount, 9052 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 9053 #endif 9054 9055 9056 // VK_KHR_external_memory_capabilities is a preprocessor guard. Do not pass it to API calls. 9057 #define VK_KHR_external_memory_capabilities 1 9058 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1 9059 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities" 9060 #define VK_LUID_SIZE_KHR VK_LUID_SIZE 9061 typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR; 9062 9063 typedef VkExternalMemoryHandleTypeFlagBits VkExternalMemoryHandleTypeFlagBitsKHR; 9064 9065 typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR; 9066 9067 typedef VkExternalMemoryFeatureFlagBits VkExternalMemoryFeatureFlagBitsKHR; 9068 9069 typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR; 9070 9071 typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR; 9072 9073 typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR; 9074 9075 typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR; 9076 9077 typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR; 9078 9079 typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR; 9080 9081 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties); 9082 9083 #ifndef VK_NO_PROTOTYPES 9084 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR( 9085 VkPhysicalDevice physicalDevice, 9086 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, 9087 VkExternalBufferProperties* pExternalBufferProperties); 9088 #endif 9089 9090 9091 // VK_KHR_external_memory is a preprocessor guard. Do not pass it to API calls. 9092 #define VK_KHR_external_memory 1 9093 #define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1 9094 #define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory" 9095 #define VK_QUEUE_FAMILY_EXTERNAL_KHR VK_QUEUE_FAMILY_EXTERNAL 9096 typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR; 9097 9098 typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR; 9099 9100 typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR; 9101 9102 9103 9104 // VK_KHR_external_memory_fd is a preprocessor guard. Do not pass it to API calls. 9105 #define VK_KHR_external_memory_fd 1 9106 #define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1 9107 #define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd" 9108 typedef struct VkImportMemoryFdInfoKHR { 9109 VkStructureType sType; 9110 const void* pNext; 9111 VkExternalMemoryHandleTypeFlagBits handleType; 9112 int fd; 9113 } VkImportMemoryFdInfoKHR; 9114 9115 typedef struct VkMemoryFdPropertiesKHR { 9116 VkStructureType sType; 9117 void* pNext; 9118 uint32_t memoryTypeBits; 9119 } VkMemoryFdPropertiesKHR; 9120 9121 typedef struct VkMemoryGetFdInfoKHR { 9122 VkStructureType sType; 9123 const void* pNext; 9124 VkDeviceMemory memory; 9125 VkExternalMemoryHandleTypeFlagBits handleType; 9126 } VkMemoryGetFdInfoKHR; 9127 9128 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd); 9129 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdPropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties); 9130 9131 #ifndef VK_NO_PROTOTYPES 9132 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR( 9133 VkDevice device, 9134 const VkMemoryGetFdInfoKHR* pGetFdInfo, 9135 int* pFd); 9136 9137 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR( 9138 VkDevice device, 9139 VkExternalMemoryHandleTypeFlagBits handleType, 9140 int fd, 9141 VkMemoryFdPropertiesKHR* pMemoryFdProperties); 9142 #endif 9143 9144 9145 // VK_KHR_external_semaphore_capabilities is a preprocessor guard. Do not pass it to API calls. 9146 #define VK_KHR_external_semaphore_capabilities 1 9147 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1 9148 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities" 9149 typedef VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreHandleTypeFlagsKHR; 9150 9151 typedef VkExternalSemaphoreHandleTypeFlagBits VkExternalSemaphoreHandleTypeFlagBitsKHR; 9152 9153 typedef VkExternalSemaphoreFeatureFlags VkExternalSemaphoreFeatureFlagsKHR; 9154 9155 typedef VkExternalSemaphoreFeatureFlagBits VkExternalSemaphoreFeatureFlagBitsKHR; 9156 9157 typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR; 9158 9159 typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR; 9160 9161 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 9162 9163 #ifndef VK_NO_PROTOTYPES 9164 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( 9165 VkPhysicalDevice physicalDevice, 9166 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, 9167 VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 9168 #endif 9169 9170 9171 // VK_KHR_external_semaphore is a preprocessor guard. Do not pass it to API calls. 9172 #define VK_KHR_external_semaphore 1 9173 #define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1 9174 #define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore" 9175 typedef VkSemaphoreImportFlags VkSemaphoreImportFlagsKHR; 9176 9177 typedef VkSemaphoreImportFlagBits VkSemaphoreImportFlagBitsKHR; 9178 9179 typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR; 9180 9181 9182 9183 // VK_KHR_external_semaphore_fd is a preprocessor guard. Do not pass it to API calls. 9184 #define VK_KHR_external_semaphore_fd 1 9185 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1 9186 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd" 9187 typedef struct VkImportSemaphoreFdInfoKHR { 9188 VkStructureType sType; 9189 const void* pNext; 9190 VkSemaphore semaphore; 9191 VkSemaphoreImportFlags flags; 9192 VkExternalSemaphoreHandleTypeFlagBits handleType; 9193 int fd; 9194 } VkImportSemaphoreFdInfoKHR; 9195 9196 typedef struct VkSemaphoreGetFdInfoKHR { 9197 VkStructureType sType; 9198 const void* pNext; 9199 VkSemaphore semaphore; 9200 VkExternalSemaphoreHandleTypeFlagBits handleType; 9201 } VkSemaphoreGetFdInfoKHR; 9202 9203 typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo); 9204 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd); 9205 9206 #ifndef VK_NO_PROTOTYPES 9207 VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR( 9208 VkDevice device, 9209 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo); 9210 9211 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR( 9212 VkDevice device, 9213 const VkSemaphoreGetFdInfoKHR* pGetFdInfo, 9214 int* pFd); 9215 #endif 9216 9217 9218 // VK_KHR_push_descriptor is a preprocessor guard. Do not pass it to API calls. 9219 #define VK_KHR_push_descriptor 1 9220 #define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2 9221 #define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor" 9222 typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR { 9223 VkStructureType sType; 9224 void* pNext; 9225 uint32_t maxPushDescriptors; 9226 } VkPhysicalDevicePushDescriptorPropertiesKHR; 9227 9228 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites); 9229 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData); 9230 9231 #ifndef VK_NO_PROTOTYPES 9232 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR( 9233 VkCommandBuffer commandBuffer, 9234 VkPipelineBindPoint pipelineBindPoint, 9235 VkPipelineLayout layout, 9236 uint32_t set, 9237 uint32_t descriptorWriteCount, 9238 const VkWriteDescriptorSet* pDescriptorWrites); 9239 9240 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR( 9241 VkCommandBuffer commandBuffer, 9242 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 9243 VkPipelineLayout layout, 9244 uint32_t set, 9245 const void* pData); 9246 #endif 9247 9248 9249 // VK_KHR_shader_float16_int8 is a preprocessor guard. Do not pass it to API calls. 9250 #define VK_KHR_shader_float16_int8 1 9251 #define VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION 1 9252 #define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8" 9253 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceShaderFloat16Int8FeaturesKHR; 9254 9255 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceFloat16Int8FeaturesKHR; 9256 9257 9258 9259 // VK_KHR_16bit_storage is a preprocessor guard. Do not pass it to API calls. 9260 #define VK_KHR_16bit_storage 1 9261 #define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1 9262 #define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage" 9263 typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR; 9264 9265 9266 9267 // VK_KHR_incremental_present is a preprocessor guard. Do not pass it to API calls. 9268 #define VK_KHR_incremental_present 1 9269 #define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 2 9270 #define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present" 9271 typedef struct VkRectLayerKHR { 9272 VkOffset2D offset; 9273 VkExtent2D extent; 9274 uint32_t layer; 9275 } VkRectLayerKHR; 9276 9277 typedef struct VkPresentRegionKHR { 9278 uint32_t rectangleCount; 9279 const VkRectLayerKHR* pRectangles; 9280 } VkPresentRegionKHR; 9281 9282 typedef struct VkPresentRegionsKHR { 9283 VkStructureType sType; 9284 const void* pNext; 9285 uint32_t swapchainCount; 9286 const VkPresentRegionKHR* pRegions; 9287 } VkPresentRegionsKHR; 9288 9289 9290 9291 // VK_KHR_descriptor_update_template is a preprocessor guard. Do not pass it to API calls. 9292 #define VK_KHR_descriptor_update_template 1 9293 typedef VkDescriptorUpdateTemplate VkDescriptorUpdateTemplateKHR; 9294 9295 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1 9296 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template" 9297 typedef VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateTypeKHR; 9298 9299 typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR; 9300 9301 typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR; 9302 9303 typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR; 9304 9305 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 9306 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator); 9307 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData); 9308 9309 #ifndef VK_NO_PROTOTYPES 9310 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR( 9311 VkDevice device, 9312 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, 9313 const VkAllocationCallbacks* pAllocator, 9314 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 9315 9316 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR( 9317 VkDevice device, 9318 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 9319 const VkAllocationCallbacks* pAllocator); 9320 9321 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR( 9322 VkDevice device, 9323 VkDescriptorSet descriptorSet, 9324 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 9325 const void* pData); 9326 #endif 9327 9328 9329 // VK_KHR_imageless_framebuffer is a preprocessor guard. Do not pass it to API calls. 9330 #define VK_KHR_imageless_framebuffer 1 9331 #define VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION 1 9332 #define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer" 9333 typedef VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeaturesKHR; 9334 9335 typedef VkFramebufferAttachmentsCreateInfo VkFramebufferAttachmentsCreateInfoKHR; 9336 9337 typedef VkFramebufferAttachmentImageInfo VkFramebufferAttachmentImageInfoKHR; 9338 9339 typedef VkRenderPassAttachmentBeginInfo VkRenderPassAttachmentBeginInfoKHR; 9340 9341 9342 9343 // VK_KHR_create_renderpass2 is a preprocessor guard. Do not pass it to API calls. 9344 #define VK_KHR_create_renderpass2 1 9345 #define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1 9346 #define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2" 9347 typedef VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR; 9348 9349 typedef VkAttachmentDescription2 VkAttachmentDescription2KHR; 9350 9351 typedef VkAttachmentReference2 VkAttachmentReference2KHR; 9352 9353 typedef VkSubpassDescription2 VkSubpassDescription2KHR; 9354 9355 typedef VkSubpassDependency2 VkSubpassDependency2KHR; 9356 9357 typedef VkSubpassBeginInfo VkSubpassBeginInfoKHR; 9358 9359 typedef VkSubpassEndInfo VkSubpassEndInfoKHR; 9360 9361 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2KHR)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); 9362 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo); 9363 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo); 9364 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo); 9365 9366 #ifndef VK_NO_PROTOTYPES 9367 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2KHR( 9368 VkDevice device, 9369 const VkRenderPassCreateInfo2* pCreateInfo, 9370 const VkAllocationCallbacks* pAllocator, 9371 VkRenderPass* pRenderPass); 9372 9373 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2KHR( 9374 VkCommandBuffer commandBuffer, 9375 const VkRenderPassBeginInfo* pRenderPassBegin, 9376 const VkSubpassBeginInfo* pSubpassBeginInfo); 9377 9378 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2KHR( 9379 VkCommandBuffer commandBuffer, 9380 const VkSubpassBeginInfo* pSubpassBeginInfo, 9381 const VkSubpassEndInfo* pSubpassEndInfo); 9382 9383 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2KHR( 9384 VkCommandBuffer commandBuffer, 9385 const VkSubpassEndInfo* pSubpassEndInfo); 9386 #endif 9387 9388 9389 // VK_KHR_shared_presentable_image is a preprocessor guard. Do not pass it to API calls. 9390 #define VK_KHR_shared_presentable_image 1 9391 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1 9392 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image" 9393 typedef struct VkSharedPresentSurfaceCapabilitiesKHR { 9394 VkStructureType sType; 9395 void* pNext; 9396 VkImageUsageFlags sharedPresentSupportedUsageFlags; 9397 } VkSharedPresentSurfaceCapabilitiesKHR; 9398 9399 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain); 9400 9401 #ifndef VK_NO_PROTOTYPES 9402 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR( 9403 VkDevice device, 9404 VkSwapchainKHR swapchain); 9405 #endif 9406 9407 9408 // VK_KHR_external_fence_capabilities is a preprocessor guard. Do not pass it to API calls. 9409 #define VK_KHR_external_fence_capabilities 1 9410 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1 9411 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities" 9412 typedef VkExternalFenceHandleTypeFlags VkExternalFenceHandleTypeFlagsKHR; 9413 9414 typedef VkExternalFenceHandleTypeFlagBits VkExternalFenceHandleTypeFlagBitsKHR; 9415 9416 typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR; 9417 9418 typedef VkExternalFenceFeatureFlagBits VkExternalFenceFeatureFlagBitsKHR; 9419 9420 typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR; 9421 9422 typedef VkExternalFenceProperties VkExternalFencePropertiesKHR; 9423 9424 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties); 9425 9426 #ifndef VK_NO_PROTOTYPES 9427 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFencePropertiesKHR( 9428 VkPhysicalDevice physicalDevice, 9429 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, 9430 VkExternalFenceProperties* pExternalFenceProperties); 9431 #endif 9432 9433 9434 // VK_KHR_external_fence is a preprocessor guard. Do not pass it to API calls. 9435 #define VK_KHR_external_fence 1 9436 #define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1 9437 #define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence" 9438 typedef VkFenceImportFlags VkFenceImportFlagsKHR; 9439 9440 typedef VkFenceImportFlagBits VkFenceImportFlagBitsKHR; 9441 9442 typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR; 9443 9444 9445 9446 // VK_KHR_external_fence_fd is a preprocessor guard. Do not pass it to API calls. 9447 #define VK_KHR_external_fence_fd 1 9448 #define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1 9449 #define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd" 9450 typedef struct VkImportFenceFdInfoKHR { 9451 VkStructureType sType; 9452 const void* pNext; 9453 VkFence fence; 9454 VkFenceImportFlags flags; 9455 VkExternalFenceHandleTypeFlagBits handleType; 9456 int fd; 9457 } VkImportFenceFdInfoKHR; 9458 9459 typedef struct VkFenceGetFdInfoKHR { 9460 VkStructureType sType; 9461 const void* pNext; 9462 VkFence fence; 9463 VkExternalFenceHandleTypeFlagBits handleType; 9464 } VkFenceGetFdInfoKHR; 9465 9466 typedef VkResult (VKAPI_PTR *PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo); 9467 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd); 9468 9469 #ifndef VK_NO_PROTOTYPES 9470 VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceFdKHR( 9471 VkDevice device, 9472 const VkImportFenceFdInfoKHR* pImportFenceFdInfo); 9473 9474 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceFdKHR( 9475 VkDevice device, 9476 const VkFenceGetFdInfoKHR* pGetFdInfo, 9477 int* pFd); 9478 #endif 9479 9480 9481 // VK_KHR_performance_query is a preprocessor guard. Do not pass it to API calls. 9482 #define VK_KHR_performance_query 1 9483 #define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1 9484 #define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query" 9485 9486 typedef enum VkPerformanceCounterUnitKHR { 9487 VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0, 9488 VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1, 9489 VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR = 2, 9490 VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR = 3, 9491 VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR = 4, 9492 VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR = 5, 9493 VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR = 6, 9494 VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR = 7, 9495 VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8, 9496 VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9, 9497 VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10, 9498 VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR = 0x7FFFFFFF 9499 } VkPerformanceCounterUnitKHR; 9500 9501 typedef enum VkPerformanceCounterScopeKHR { 9502 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR = 0, 9503 VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR = 1, 9504 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR = 2, 9505 VK_QUERY_SCOPE_COMMAND_BUFFER_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR, 9506 VK_QUERY_SCOPE_RENDER_PASS_KHR = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR, 9507 VK_QUERY_SCOPE_COMMAND_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR, 9508 VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF 9509 } VkPerformanceCounterScopeKHR; 9510 9511 typedef enum VkPerformanceCounterStorageKHR { 9512 VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR = 0, 9513 VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR = 1, 9514 VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR = 2, 9515 VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3, 9516 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4, 9517 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5, 9518 VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = 0x7FFFFFFF 9519 } VkPerformanceCounterStorageKHR; 9520 9521 typedef enum VkPerformanceCounterDescriptionFlagBitsKHR { 9522 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR = 0x00000001, 9523 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR = 0x00000002, 9524 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR, 9525 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR, 9526 VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9527 } VkPerformanceCounterDescriptionFlagBitsKHR; 9528 typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR; 9529 9530 typedef enum VkAcquireProfilingLockFlagBitsKHR { 9531 VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9532 } VkAcquireProfilingLockFlagBitsKHR; 9533 typedef VkFlags VkAcquireProfilingLockFlagsKHR; 9534 typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR { 9535 VkStructureType sType; 9536 void* pNext; 9537 VkBool32 performanceCounterQueryPools; 9538 VkBool32 performanceCounterMultipleQueryPools; 9539 } VkPhysicalDevicePerformanceQueryFeaturesKHR; 9540 9541 typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR { 9542 VkStructureType sType; 9543 void* pNext; 9544 VkBool32 allowCommandBufferQueryCopies; 9545 } VkPhysicalDevicePerformanceQueryPropertiesKHR; 9546 9547 typedef struct VkPerformanceCounterKHR { 9548 VkStructureType sType; 9549 void* pNext; 9550 VkPerformanceCounterUnitKHR unit; 9551 VkPerformanceCounterScopeKHR scope; 9552 VkPerformanceCounterStorageKHR storage; 9553 uint8_t uuid[VK_UUID_SIZE]; 9554 } VkPerformanceCounterKHR; 9555 9556 typedef struct VkPerformanceCounterDescriptionKHR { 9557 VkStructureType sType; 9558 void* pNext; 9559 VkPerformanceCounterDescriptionFlagsKHR flags; 9560 char name[VK_MAX_DESCRIPTION_SIZE]; 9561 char category[VK_MAX_DESCRIPTION_SIZE]; 9562 char description[VK_MAX_DESCRIPTION_SIZE]; 9563 } VkPerformanceCounterDescriptionKHR; 9564 9565 typedef struct VkQueryPoolPerformanceCreateInfoKHR { 9566 VkStructureType sType; 9567 const void* pNext; 9568 uint32_t queueFamilyIndex; 9569 uint32_t counterIndexCount; 9570 const uint32_t* pCounterIndices; 9571 } VkQueryPoolPerformanceCreateInfoKHR; 9572 9573 typedef union VkPerformanceCounterResultKHR { 9574 int32_t int32; 9575 int64_t int64; 9576 uint32_t uint32; 9577 uint64_t uint64; 9578 float float32; 9579 double float64; 9580 } VkPerformanceCounterResultKHR; 9581 9582 typedef struct VkAcquireProfilingLockInfoKHR { 9583 VkStructureType sType; 9584 const void* pNext; 9585 VkAcquireProfilingLockFlagsKHR flags; 9586 uint64_t timeout; 9587 } VkAcquireProfilingLockInfoKHR; 9588 9589 typedef struct VkPerformanceQuerySubmitInfoKHR { 9590 VkStructureType sType; 9591 const void* pNext; 9592 uint32_t counterPassIndex; 9593 } VkPerformanceQuerySubmitInfoKHR; 9594 9595 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, uint32_t* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions); 9596 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)(VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, uint32_t* pNumPasses); 9597 typedef VkResult (VKAPI_PTR *PFN_vkAcquireProfilingLockKHR)(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo); 9598 typedef void (VKAPI_PTR *PFN_vkReleaseProfilingLockKHR)(VkDevice device); 9599 9600 #ifndef VK_NO_PROTOTYPES 9601 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( 9602 VkPhysicalDevice physicalDevice, 9603 uint32_t queueFamilyIndex, 9604 uint32_t* pCounterCount, 9605 VkPerformanceCounterKHR* pCounters, 9606 VkPerformanceCounterDescriptionKHR* pCounterDescriptions); 9607 9608 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR( 9609 VkPhysicalDevice physicalDevice, 9610 const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, 9611 uint32_t* pNumPasses); 9612 9613 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireProfilingLockKHR( 9614 VkDevice device, 9615 const VkAcquireProfilingLockInfoKHR* pInfo); 9616 9617 VKAPI_ATTR void VKAPI_CALL vkReleaseProfilingLockKHR( 9618 VkDevice device); 9619 #endif 9620 9621 9622 // VK_KHR_maintenance2 is a preprocessor guard. Do not pass it to API calls. 9623 #define VK_KHR_maintenance2 1 9624 #define VK_KHR_MAINTENANCE_2_SPEC_VERSION 1 9625 #define VK_KHR_MAINTENANCE_2_EXTENSION_NAME "VK_KHR_maintenance2" 9626 #define VK_KHR_MAINTENANCE2_SPEC_VERSION VK_KHR_MAINTENANCE_2_SPEC_VERSION 9627 #define VK_KHR_MAINTENANCE2_EXTENSION_NAME VK_KHR_MAINTENANCE_2_EXTENSION_NAME 9628 typedef VkPointClippingBehavior VkPointClippingBehaviorKHR; 9629 9630 typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR; 9631 9632 typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR; 9633 9634 typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR; 9635 9636 typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR; 9637 9638 typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR; 9639 9640 typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR; 9641 9642 9643 9644 // VK_KHR_get_surface_capabilities2 is a preprocessor guard. Do not pass it to API calls. 9645 #define VK_KHR_get_surface_capabilities2 1 9646 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1 9647 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2" 9648 typedef struct VkPhysicalDeviceSurfaceInfo2KHR { 9649 VkStructureType sType; 9650 const void* pNext; 9651 VkSurfaceKHR surface; 9652 } VkPhysicalDeviceSurfaceInfo2KHR; 9653 9654 typedef struct VkSurfaceCapabilities2KHR { 9655 VkStructureType sType; 9656 void* pNext; 9657 VkSurfaceCapabilitiesKHR surfaceCapabilities; 9658 } VkSurfaceCapabilities2KHR; 9659 9660 typedef struct VkSurfaceFormat2KHR { 9661 VkStructureType sType; 9662 void* pNext; 9663 VkSurfaceFormatKHR surfaceFormat; 9664 } VkSurfaceFormat2KHR; 9665 9666 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities); 9667 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats); 9668 9669 #ifndef VK_NO_PROTOTYPES 9670 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR( 9671 VkPhysicalDevice physicalDevice, 9672 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, 9673 VkSurfaceCapabilities2KHR* pSurfaceCapabilities); 9674 9675 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR( 9676 VkPhysicalDevice physicalDevice, 9677 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, 9678 uint32_t* pSurfaceFormatCount, 9679 VkSurfaceFormat2KHR* pSurfaceFormats); 9680 #endif 9681 9682 9683 // VK_KHR_variable_pointers is a preprocessor guard. Do not pass it to API calls. 9684 #define VK_KHR_variable_pointers 1 9685 #define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1 9686 #define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers" 9687 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeaturesKHR; 9688 9689 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointersFeaturesKHR; 9690 9691 9692 9693 // VK_KHR_get_display_properties2 is a preprocessor guard. Do not pass it to API calls. 9694 #define VK_KHR_get_display_properties2 1 9695 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1 9696 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2" 9697 typedef struct VkDisplayProperties2KHR { 9698 VkStructureType sType; 9699 void* pNext; 9700 VkDisplayPropertiesKHR displayProperties; 9701 } VkDisplayProperties2KHR; 9702 9703 typedef struct VkDisplayPlaneProperties2KHR { 9704 VkStructureType sType; 9705 void* pNext; 9706 VkDisplayPlanePropertiesKHR displayPlaneProperties; 9707 } VkDisplayPlaneProperties2KHR; 9708 9709 typedef struct VkDisplayModeProperties2KHR { 9710 VkStructureType sType; 9711 void* pNext; 9712 VkDisplayModePropertiesKHR displayModeProperties; 9713 } VkDisplayModeProperties2KHR; 9714 9715 typedef struct VkDisplayPlaneInfo2KHR { 9716 VkStructureType sType; 9717 const void* pNext; 9718 VkDisplayModeKHR mode; 9719 uint32_t planeIndex; 9720 } VkDisplayPlaneInfo2KHR; 9721 9722 typedef struct VkDisplayPlaneCapabilities2KHR { 9723 VkStructureType sType; 9724 void* pNext; 9725 VkDisplayPlaneCapabilitiesKHR capabilities; 9726 } VkDisplayPlaneCapabilities2KHR; 9727 9728 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayProperties2KHR* pProperties); 9729 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties); 9730 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModeProperties2KHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModeProperties2KHR* pProperties); 9731 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities); 9732 9733 #ifndef VK_NO_PROTOTYPES 9734 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayProperties2KHR( 9735 VkPhysicalDevice physicalDevice, 9736 uint32_t* pPropertyCount, 9737 VkDisplayProperties2KHR* pProperties); 9738 9739 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlaneProperties2KHR( 9740 VkPhysicalDevice physicalDevice, 9741 uint32_t* pPropertyCount, 9742 VkDisplayPlaneProperties2KHR* pProperties); 9743 9744 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModeProperties2KHR( 9745 VkPhysicalDevice physicalDevice, 9746 VkDisplayKHR display, 9747 uint32_t* pPropertyCount, 9748 VkDisplayModeProperties2KHR* pProperties); 9749 9750 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilities2KHR( 9751 VkPhysicalDevice physicalDevice, 9752 const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, 9753 VkDisplayPlaneCapabilities2KHR* pCapabilities); 9754 #endif 9755 9756 9757 // VK_KHR_dedicated_allocation is a preprocessor guard. Do not pass it to API calls. 9758 #define VK_KHR_dedicated_allocation 1 9759 #define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3 9760 #define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation" 9761 typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR; 9762 9763 typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR; 9764 9765 9766 9767 // VK_KHR_storage_buffer_storage_class is a preprocessor guard. Do not pass it to API calls. 9768 #define VK_KHR_storage_buffer_storage_class 1 9769 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1 9770 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class" 9771 9772 9773 // VK_KHR_relaxed_block_layout is a preprocessor guard. Do not pass it to API calls. 9774 #define VK_KHR_relaxed_block_layout 1 9775 #define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1 9776 #define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout" 9777 9778 9779 // VK_KHR_get_memory_requirements2 is a preprocessor guard. Do not pass it to API calls. 9780 #define VK_KHR_get_memory_requirements2 1 9781 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1 9782 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2" 9783 typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR; 9784 9785 typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR; 9786 9787 typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR; 9788 9789 typedef VkMemoryRequirements2 VkMemoryRequirements2KHR; 9790 9791 typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR; 9792 9793 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); 9794 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); 9795 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 9796 9797 #ifndef VK_NO_PROTOTYPES 9798 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2KHR( 9799 VkDevice device, 9800 const VkImageMemoryRequirementsInfo2* pInfo, 9801 VkMemoryRequirements2* pMemoryRequirements); 9802 9803 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2KHR( 9804 VkDevice device, 9805 const VkBufferMemoryRequirementsInfo2* pInfo, 9806 VkMemoryRequirements2* pMemoryRequirements); 9807 9808 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR( 9809 VkDevice device, 9810 const VkImageSparseMemoryRequirementsInfo2* pInfo, 9811 uint32_t* pSparseMemoryRequirementCount, 9812 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 9813 #endif 9814 9815 9816 // VK_KHR_image_format_list is a preprocessor guard. Do not pass it to API calls. 9817 #define VK_KHR_image_format_list 1 9818 #define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1 9819 #define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list" 9820 typedef VkImageFormatListCreateInfo VkImageFormatListCreateInfoKHR; 9821 9822 9823 9824 // VK_KHR_sampler_ycbcr_conversion is a preprocessor guard. Do not pass it to API calls. 9825 #define VK_KHR_sampler_ycbcr_conversion 1 9826 typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR; 9827 9828 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 14 9829 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion" 9830 typedef VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR; 9831 9832 typedef VkSamplerYcbcrRange VkSamplerYcbcrRangeKHR; 9833 9834 typedef VkChromaLocation VkChromaLocationKHR; 9835 9836 typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR; 9837 9838 typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR; 9839 9840 typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR; 9841 9842 typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR; 9843 9844 typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR; 9845 9846 typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR; 9847 9848 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion); 9849 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator); 9850 9851 #ifndef VK_NO_PROTOTYPES 9852 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversionKHR( 9853 VkDevice device, 9854 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, 9855 const VkAllocationCallbacks* pAllocator, 9856 VkSamplerYcbcrConversion* pYcbcrConversion); 9857 9858 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversionKHR( 9859 VkDevice device, 9860 VkSamplerYcbcrConversion ycbcrConversion, 9861 const VkAllocationCallbacks* pAllocator); 9862 #endif 9863 9864 9865 // VK_KHR_bind_memory2 is a preprocessor guard. Do not pass it to API calls. 9866 #define VK_KHR_bind_memory2 1 9867 #define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1 9868 #define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2" 9869 typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR; 9870 9871 typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR; 9872 9873 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos); 9874 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos); 9875 9876 #ifndef VK_NO_PROTOTYPES 9877 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2KHR( 9878 VkDevice device, 9879 uint32_t bindInfoCount, 9880 const VkBindBufferMemoryInfo* pBindInfos); 9881 9882 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR( 9883 VkDevice device, 9884 uint32_t bindInfoCount, 9885 const VkBindImageMemoryInfo* pBindInfos); 9886 #endif 9887 9888 9889 // VK_KHR_maintenance3 is a preprocessor guard. Do not pass it to API calls. 9890 #define VK_KHR_maintenance3 1 9891 #define VK_KHR_MAINTENANCE_3_SPEC_VERSION 1 9892 #define VK_KHR_MAINTENANCE_3_EXTENSION_NAME "VK_KHR_maintenance3" 9893 #define VK_KHR_MAINTENANCE3_SPEC_VERSION VK_KHR_MAINTENANCE_3_SPEC_VERSION 9894 #define VK_KHR_MAINTENANCE3_EXTENSION_NAME VK_KHR_MAINTENANCE_3_EXTENSION_NAME 9895 typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR; 9896 9897 typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR; 9898 9899 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport); 9900 9901 #ifndef VK_NO_PROTOTYPES 9902 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR( 9903 VkDevice device, 9904 const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 9905 VkDescriptorSetLayoutSupport* pSupport); 9906 #endif 9907 9908 9909 // VK_KHR_draw_indirect_count is a preprocessor guard. Do not pass it to API calls. 9910 #define VK_KHR_draw_indirect_count 1 9911 #define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1 9912 #define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count" 9913 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 9914 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 9915 9916 #ifndef VK_NO_PROTOTYPES 9917 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountKHR( 9918 VkCommandBuffer commandBuffer, 9919 VkBuffer buffer, 9920 VkDeviceSize offset, 9921 VkBuffer countBuffer, 9922 VkDeviceSize countBufferOffset, 9923 uint32_t maxDrawCount, 9924 uint32_t stride); 9925 9926 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountKHR( 9927 VkCommandBuffer commandBuffer, 9928 VkBuffer buffer, 9929 VkDeviceSize offset, 9930 VkBuffer countBuffer, 9931 VkDeviceSize countBufferOffset, 9932 uint32_t maxDrawCount, 9933 uint32_t stride); 9934 #endif 9935 9936 9937 // VK_KHR_shader_subgroup_extended_types is a preprocessor guard. Do not pass it to API calls. 9938 #define VK_KHR_shader_subgroup_extended_types 1 9939 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION 1 9940 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME "VK_KHR_shader_subgroup_extended_types" 9941 typedef VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR; 9942 9943 9944 9945 // VK_KHR_8bit_storage is a preprocessor guard. Do not pass it to API calls. 9946 #define VK_KHR_8bit_storage 1 9947 #define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1 9948 #define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage" 9949 typedef VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeaturesKHR; 9950 9951 9952 9953 // VK_KHR_shader_atomic_int64 is a preprocessor guard. Do not pass it to API calls. 9954 #define VK_KHR_shader_atomic_int64 1 9955 #define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1 9956 #define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64" 9957 typedef VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64FeaturesKHR; 9958 9959 9960 9961 // VK_KHR_shader_clock is a preprocessor guard. Do not pass it to API calls. 9962 #define VK_KHR_shader_clock 1 9963 #define VK_KHR_SHADER_CLOCK_SPEC_VERSION 1 9964 #define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock" 9965 typedef struct VkPhysicalDeviceShaderClockFeaturesKHR { 9966 VkStructureType sType; 9967 void* pNext; 9968 VkBool32 shaderSubgroupClock; 9969 VkBool32 shaderDeviceClock; 9970 } VkPhysicalDeviceShaderClockFeaturesKHR; 9971 9972 9973 9974 // VK_KHR_video_decode_h265 is a preprocessor guard. Do not pass it to API calls. 9975 #define VK_KHR_video_decode_h265 1 9976 #include "vk_video/vulkan_video_codec_h265std_decode.h" 9977 #define VK_KHR_VIDEO_DECODE_H265_SPEC_VERSION 8 9978 #define VK_KHR_VIDEO_DECODE_H265_EXTENSION_NAME "VK_KHR_video_decode_h265" 9979 typedef struct VkVideoDecodeH265ProfileInfoKHR { 9980 VkStructureType sType; 9981 const void* pNext; 9982 StdVideoH265ProfileIdc stdProfileIdc; 9983 } VkVideoDecodeH265ProfileInfoKHR; 9984 9985 typedef struct VkVideoDecodeH265CapabilitiesKHR { 9986 VkStructureType sType; 9987 void* pNext; 9988 StdVideoH265LevelIdc maxLevelIdc; 9989 } VkVideoDecodeH265CapabilitiesKHR; 9990 9991 typedef struct VkVideoDecodeH265SessionParametersAddInfoKHR { 9992 VkStructureType sType; 9993 const void* pNext; 9994 uint32_t stdVPSCount; 9995 const StdVideoH265VideoParameterSet* pStdVPSs; 9996 uint32_t stdSPSCount; 9997 const StdVideoH265SequenceParameterSet* pStdSPSs; 9998 uint32_t stdPPSCount; 9999 const StdVideoH265PictureParameterSet* pStdPPSs; 10000 } VkVideoDecodeH265SessionParametersAddInfoKHR; 10001 10002 typedef struct VkVideoDecodeH265SessionParametersCreateInfoKHR { 10003 VkStructureType sType; 10004 const void* pNext; 10005 uint32_t maxStdVPSCount; 10006 uint32_t maxStdSPSCount; 10007 uint32_t maxStdPPSCount; 10008 const VkVideoDecodeH265SessionParametersAddInfoKHR* pParametersAddInfo; 10009 } VkVideoDecodeH265SessionParametersCreateInfoKHR; 10010 10011 typedef struct VkVideoDecodeH265PictureInfoKHR { 10012 VkStructureType sType; 10013 const void* pNext; 10014 const StdVideoDecodeH265PictureInfo* pStdPictureInfo; 10015 uint32_t sliceSegmentCount; 10016 const uint32_t* pSliceSegmentOffsets; 10017 } VkVideoDecodeH265PictureInfoKHR; 10018 10019 typedef struct VkVideoDecodeH265DpbSlotInfoKHR { 10020 VkStructureType sType; 10021 const void* pNext; 10022 const StdVideoDecodeH265ReferenceInfo* pStdReferenceInfo; 10023 } VkVideoDecodeH265DpbSlotInfoKHR; 10024 10025 10026 10027 // VK_KHR_global_priority is a preprocessor guard. Do not pass it to API calls. 10028 #define VK_KHR_global_priority 1 10029 #define VK_MAX_GLOBAL_PRIORITY_SIZE_KHR 16U 10030 #define VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION 1 10031 #define VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME "VK_KHR_global_priority" 10032 10033 typedef enum VkQueueGlobalPriorityKHR { 10034 VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR = 128, 10035 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR = 256, 10036 VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR = 512, 10037 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR = 1024, 10038 VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR, 10039 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR, 10040 VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR, 10041 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR, 10042 VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_KHR = 0x7FFFFFFF 10043 } VkQueueGlobalPriorityKHR; 10044 typedef struct VkDeviceQueueGlobalPriorityCreateInfoKHR { 10045 VkStructureType sType; 10046 const void* pNext; 10047 VkQueueGlobalPriorityKHR globalPriority; 10048 } VkDeviceQueueGlobalPriorityCreateInfoKHR; 10049 10050 typedef struct VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR { 10051 VkStructureType sType; 10052 void* pNext; 10053 VkBool32 globalPriorityQuery; 10054 } VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR; 10055 10056 typedef struct VkQueueFamilyGlobalPriorityPropertiesKHR { 10057 VkStructureType sType; 10058 void* pNext; 10059 uint32_t priorityCount; 10060 VkQueueGlobalPriorityKHR priorities[VK_MAX_GLOBAL_PRIORITY_SIZE_KHR]; 10061 } VkQueueFamilyGlobalPriorityPropertiesKHR; 10062 10063 10064 10065 // VK_KHR_driver_properties is a preprocessor guard. Do not pass it to API calls. 10066 #define VK_KHR_driver_properties 1 10067 #define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1 10068 #define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties" 10069 #define VK_MAX_DRIVER_NAME_SIZE_KHR VK_MAX_DRIVER_NAME_SIZE 10070 #define VK_MAX_DRIVER_INFO_SIZE_KHR VK_MAX_DRIVER_INFO_SIZE 10071 typedef VkDriverId VkDriverIdKHR; 10072 10073 typedef VkConformanceVersion VkConformanceVersionKHR; 10074 10075 typedef VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverPropertiesKHR; 10076 10077 10078 10079 // VK_KHR_shader_float_controls is a preprocessor guard. Do not pass it to API calls. 10080 #define VK_KHR_shader_float_controls 1 10081 #define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 4 10082 #define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls" 10083 typedef VkShaderFloatControlsIndependence VkShaderFloatControlsIndependenceKHR; 10084 10085 typedef VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsPropertiesKHR; 10086 10087 10088 10089 // VK_KHR_depth_stencil_resolve is a preprocessor guard. Do not pass it to API calls. 10090 #define VK_KHR_depth_stencil_resolve 1 10091 #define VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION 1 10092 #define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME "VK_KHR_depth_stencil_resolve" 10093 typedef VkResolveModeFlagBits VkResolveModeFlagBitsKHR; 10094 10095 typedef VkResolveModeFlags VkResolveModeFlagsKHR; 10096 10097 typedef VkSubpassDescriptionDepthStencilResolve VkSubpassDescriptionDepthStencilResolveKHR; 10098 10099 typedef VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolvePropertiesKHR; 10100 10101 10102 10103 // VK_KHR_swapchain_mutable_format is a preprocessor guard. Do not pass it to API calls. 10104 #define VK_KHR_swapchain_mutable_format 1 10105 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1 10106 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME "VK_KHR_swapchain_mutable_format" 10107 10108 10109 // VK_KHR_timeline_semaphore is a preprocessor guard. Do not pass it to API calls. 10110 #define VK_KHR_timeline_semaphore 1 10111 #define VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION 2 10112 #define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore" 10113 typedef VkSemaphoreType VkSemaphoreTypeKHR; 10114 10115 typedef VkSemaphoreWaitFlagBits VkSemaphoreWaitFlagBitsKHR; 10116 10117 typedef VkSemaphoreWaitFlags VkSemaphoreWaitFlagsKHR; 10118 10119 typedef VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeaturesKHR; 10120 10121 typedef VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphorePropertiesKHR; 10122 10123 typedef VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR; 10124 10125 typedef VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR; 10126 10127 typedef VkSemaphoreWaitInfo VkSemaphoreWaitInfoKHR; 10128 10129 typedef VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR; 10130 10131 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValueKHR)(VkDevice device, VkSemaphore semaphore, uint64_t* pValue); 10132 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphoresKHR)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout); 10133 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphoreKHR)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo); 10134 10135 #ifndef VK_NO_PROTOTYPES 10136 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValueKHR( 10137 VkDevice device, 10138 VkSemaphore semaphore, 10139 uint64_t* pValue); 10140 10141 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphoresKHR( 10142 VkDevice device, 10143 const VkSemaphoreWaitInfo* pWaitInfo, 10144 uint64_t timeout); 10145 10146 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphoreKHR( 10147 VkDevice device, 10148 const VkSemaphoreSignalInfo* pSignalInfo); 10149 #endif 10150 10151 10152 // VK_KHR_vulkan_memory_model is a preprocessor guard. Do not pass it to API calls. 10153 #define VK_KHR_vulkan_memory_model 1 10154 #define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3 10155 #define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model" 10156 typedef VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeaturesKHR; 10157 10158 10159 10160 // VK_KHR_shader_terminate_invocation is a preprocessor guard. Do not pass it to API calls. 10161 #define VK_KHR_shader_terminate_invocation 1 10162 #define VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION 1 10163 #define VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME "VK_KHR_shader_terminate_invocation" 10164 typedef VkPhysicalDeviceShaderTerminateInvocationFeatures VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR; 10165 10166 10167 10168 // VK_KHR_fragment_shading_rate is a preprocessor guard. Do not pass it to API calls. 10169 #define VK_KHR_fragment_shading_rate 1 10170 #define VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION 2 10171 #define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate" 10172 10173 typedef enum VkFragmentShadingRateCombinerOpKHR { 10174 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0, 10175 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR = 1, 10176 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR = 2, 10177 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR = 3, 10178 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR = 4, 10179 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_ENUM_KHR = 0x7FFFFFFF 10180 } VkFragmentShadingRateCombinerOpKHR; 10181 typedef struct VkFragmentShadingRateAttachmentInfoKHR { 10182 VkStructureType sType; 10183 const void* pNext; 10184 const VkAttachmentReference2* pFragmentShadingRateAttachment; 10185 VkExtent2D shadingRateAttachmentTexelSize; 10186 } VkFragmentShadingRateAttachmentInfoKHR; 10187 10188 typedef struct VkPipelineFragmentShadingRateStateCreateInfoKHR { 10189 VkStructureType sType; 10190 const void* pNext; 10191 VkExtent2D fragmentSize; 10192 VkFragmentShadingRateCombinerOpKHR combinerOps[2]; 10193 } VkPipelineFragmentShadingRateStateCreateInfoKHR; 10194 10195 typedef struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR { 10196 VkStructureType sType; 10197 void* pNext; 10198 VkBool32 pipelineFragmentShadingRate; 10199 VkBool32 primitiveFragmentShadingRate; 10200 VkBool32 attachmentFragmentShadingRate; 10201 } VkPhysicalDeviceFragmentShadingRateFeaturesKHR; 10202 10203 typedef struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR { 10204 VkStructureType sType; 10205 void* pNext; 10206 VkExtent2D minFragmentShadingRateAttachmentTexelSize; 10207 VkExtent2D maxFragmentShadingRateAttachmentTexelSize; 10208 uint32_t maxFragmentShadingRateAttachmentTexelSizeAspectRatio; 10209 VkBool32 primitiveFragmentShadingRateWithMultipleViewports; 10210 VkBool32 layeredShadingRateAttachments; 10211 VkBool32 fragmentShadingRateNonTrivialCombinerOps; 10212 VkExtent2D maxFragmentSize; 10213 uint32_t maxFragmentSizeAspectRatio; 10214 uint32_t maxFragmentShadingRateCoverageSamples; 10215 VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples; 10216 VkBool32 fragmentShadingRateWithShaderDepthStencilWrites; 10217 VkBool32 fragmentShadingRateWithSampleMask; 10218 VkBool32 fragmentShadingRateWithShaderSampleMask; 10219 VkBool32 fragmentShadingRateWithConservativeRasterization; 10220 VkBool32 fragmentShadingRateWithFragmentShaderInterlock; 10221 VkBool32 fragmentShadingRateWithCustomSampleLocations; 10222 VkBool32 fragmentShadingRateStrictMultiplyCombiner; 10223 } VkPhysicalDeviceFragmentShadingRatePropertiesKHR; 10224 10225 typedef struct VkPhysicalDeviceFragmentShadingRateKHR { 10226 VkStructureType sType; 10227 void* pNext; 10228 VkSampleCountFlags sampleCounts; 10229 VkExtent2D fragmentSize; 10230 } VkPhysicalDeviceFragmentShadingRateKHR; 10231 10232 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates); 10233 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateKHR)(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); 10234 10235 #ifndef VK_NO_PROTOTYPES 10236 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceFragmentShadingRatesKHR( 10237 VkPhysicalDevice physicalDevice, 10238 uint32_t* pFragmentShadingRateCount, 10239 VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates); 10240 10241 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateKHR( 10242 VkCommandBuffer commandBuffer, 10243 const VkExtent2D* pFragmentSize, 10244 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); 10245 #endif 10246 10247 10248 // VK_KHR_dynamic_rendering_local_read is a preprocessor guard. Do not pass it to API calls. 10249 #define VK_KHR_dynamic_rendering_local_read 1 10250 #define VK_KHR_DYNAMIC_RENDERING_LOCAL_READ_SPEC_VERSION 1 10251 #define VK_KHR_DYNAMIC_RENDERING_LOCAL_READ_EXTENSION_NAME "VK_KHR_dynamic_rendering_local_read" 10252 typedef struct VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR { 10253 VkStructureType sType; 10254 void* pNext; 10255 VkBool32 dynamicRenderingLocalRead; 10256 } VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR; 10257 10258 typedef struct VkRenderingAttachmentLocationInfoKHR { 10259 VkStructureType sType; 10260 const void* pNext; 10261 uint32_t colorAttachmentCount; 10262 const uint32_t* pColorAttachmentLocations; 10263 } VkRenderingAttachmentLocationInfoKHR; 10264 10265 typedef struct VkRenderingInputAttachmentIndexInfoKHR { 10266 VkStructureType sType; 10267 const void* pNext; 10268 uint32_t colorAttachmentCount; 10269 const uint32_t* pColorAttachmentInputIndices; 10270 const uint32_t* pDepthInputAttachmentIndex; 10271 const uint32_t* pStencilInputAttachmentIndex; 10272 } VkRenderingInputAttachmentIndexInfoKHR; 10273 10274 typedef void (VKAPI_PTR *PFN_vkCmdSetRenderingAttachmentLocationsKHR)(VkCommandBuffer commandBuffer, const VkRenderingAttachmentLocationInfoKHR* pLocationInfo); 10275 typedef void (VKAPI_PTR *PFN_vkCmdSetRenderingInputAttachmentIndicesKHR)(VkCommandBuffer commandBuffer, const VkRenderingInputAttachmentIndexInfoKHR* pLocationInfo); 10276 10277 #ifndef VK_NO_PROTOTYPES 10278 VKAPI_ATTR void VKAPI_CALL vkCmdSetRenderingAttachmentLocationsKHR( 10279 VkCommandBuffer commandBuffer, 10280 const VkRenderingAttachmentLocationInfoKHR* pLocationInfo); 10281 10282 VKAPI_ATTR void VKAPI_CALL vkCmdSetRenderingInputAttachmentIndicesKHR( 10283 VkCommandBuffer commandBuffer, 10284 const VkRenderingInputAttachmentIndexInfoKHR* pLocationInfo); 10285 #endif 10286 10287 10288 // VK_KHR_shader_quad_control is a preprocessor guard. Do not pass it to API calls. 10289 #define VK_KHR_shader_quad_control 1 10290 #define VK_KHR_SHADER_QUAD_CONTROL_SPEC_VERSION 1 10291 #define VK_KHR_SHADER_QUAD_CONTROL_EXTENSION_NAME "VK_KHR_shader_quad_control" 10292 typedef struct VkPhysicalDeviceShaderQuadControlFeaturesKHR { 10293 VkStructureType sType; 10294 void* pNext; 10295 VkBool32 shaderQuadControl; 10296 } VkPhysicalDeviceShaderQuadControlFeaturesKHR; 10297 10298 10299 10300 // VK_KHR_spirv_1_4 is a preprocessor guard. Do not pass it to API calls. 10301 #define VK_KHR_spirv_1_4 1 10302 #define VK_KHR_SPIRV_1_4_SPEC_VERSION 1 10303 #define VK_KHR_SPIRV_1_4_EXTENSION_NAME "VK_KHR_spirv_1_4" 10304 10305 10306 // VK_KHR_surface_protected_capabilities is a preprocessor guard. Do not pass it to API calls. 10307 #define VK_KHR_surface_protected_capabilities 1 10308 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION 1 10309 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME "VK_KHR_surface_protected_capabilities" 10310 typedef struct VkSurfaceProtectedCapabilitiesKHR { 10311 VkStructureType sType; 10312 const void* pNext; 10313 VkBool32 supportsProtected; 10314 } VkSurfaceProtectedCapabilitiesKHR; 10315 10316 10317 10318 // VK_KHR_separate_depth_stencil_layouts is a preprocessor guard. Do not pass it to API calls. 10319 #define VK_KHR_separate_depth_stencil_layouts 1 10320 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION 1 10321 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME "VK_KHR_separate_depth_stencil_layouts" 10322 typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR; 10323 10324 typedef VkAttachmentReferenceStencilLayout VkAttachmentReferenceStencilLayoutKHR; 10325 10326 typedef VkAttachmentDescriptionStencilLayout VkAttachmentDescriptionStencilLayoutKHR; 10327 10328 10329 10330 // VK_KHR_present_wait is a preprocessor guard. Do not pass it to API calls. 10331 #define VK_KHR_present_wait 1 10332 #define VK_KHR_PRESENT_WAIT_SPEC_VERSION 1 10333 #define VK_KHR_PRESENT_WAIT_EXTENSION_NAME "VK_KHR_present_wait" 10334 typedef struct VkPhysicalDevicePresentWaitFeaturesKHR { 10335 VkStructureType sType; 10336 void* pNext; 10337 VkBool32 presentWait; 10338 } VkPhysicalDevicePresentWaitFeaturesKHR; 10339 10340 typedef VkResult (VKAPI_PTR *PFN_vkWaitForPresentKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout); 10341 10342 #ifndef VK_NO_PROTOTYPES 10343 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForPresentKHR( 10344 VkDevice device, 10345 VkSwapchainKHR swapchain, 10346 uint64_t presentId, 10347 uint64_t timeout); 10348 #endif 10349 10350 10351 // VK_KHR_uniform_buffer_standard_layout is a preprocessor guard. Do not pass it to API calls. 10352 #define VK_KHR_uniform_buffer_standard_layout 1 10353 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION 1 10354 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout" 10355 typedef VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR; 10356 10357 10358 10359 // VK_KHR_buffer_device_address is a preprocessor guard. Do not pass it to API calls. 10360 #define VK_KHR_buffer_device_address 1 10361 #define VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 1 10362 #define VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_KHR_buffer_device_address" 10363 typedef VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR; 10364 10365 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoKHR; 10366 10367 typedef VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfoKHR; 10368 10369 typedef VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR; 10370 10371 typedef VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR; 10372 10373 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 10374 typedef uint64_t (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 10375 typedef uint64_t (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); 10376 10377 #ifndef VK_NO_PROTOTYPES 10378 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressKHR( 10379 VkDevice device, 10380 const VkBufferDeviceAddressInfo* pInfo); 10381 10382 VKAPI_ATTR uint64_t VKAPI_CALL vkGetBufferOpaqueCaptureAddressKHR( 10383 VkDevice device, 10384 const VkBufferDeviceAddressInfo* pInfo); 10385 10386 VKAPI_ATTR uint64_t VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddressKHR( 10387 VkDevice device, 10388 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); 10389 #endif 10390 10391 10392 // VK_KHR_deferred_host_operations is a preprocessor guard. Do not pass it to API calls. 10393 #define VK_KHR_deferred_host_operations 1 10394 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR) 10395 #define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 4 10396 #define VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME "VK_KHR_deferred_host_operations" 10397 typedef VkResult (VKAPI_PTR *PFN_vkCreateDeferredOperationKHR)(VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation); 10398 typedef void (VKAPI_PTR *PFN_vkDestroyDeferredOperationKHR)(VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator); 10399 typedef uint32_t (VKAPI_PTR *PFN_vkGetDeferredOperationMaxConcurrencyKHR)(VkDevice device, VkDeferredOperationKHR operation); 10400 typedef VkResult (VKAPI_PTR *PFN_vkGetDeferredOperationResultKHR)(VkDevice device, VkDeferredOperationKHR operation); 10401 typedef VkResult (VKAPI_PTR *PFN_vkDeferredOperationJoinKHR)(VkDevice device, VkDeferredOperationKHR operation); 10402 10403 #ifndef VK_NO_PROTOTYPES 10404 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDeferredOperationKHR( 10405 VkDevice device, 10406 const VkAllocationCallbacks* pAllocator, 10407 VkDeferredOperationKHR* pDeferredOperation); 10408 10409 VKAPI_ATTR void VKAPI_CALL vkDestroyDeferredOperationKHR( 10410 VkDevice device, 10411 VkDeferredOperationKHR operation, 10412 const VkAllocationCallbacks* pAllocator); 10413 10414 VKAPI_ATTR uint32_t VKAPI_CALL vkGetDeferredOperationMaxConcurrencyKHR( 10415 VkDevice device, 10416 VkDeferredOperationKHR operation); 10417 10418 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeferredOperationResultKHR( 10419 VkDevice device, 10420 VkDeferredOperationKHR operation); 10421 10422 VKAPI_ATTR VkResult VKAPI_CALL vkDeferredOperationJoinKHR( 10423 VkDevice device, 10424 VkDeferredOperationKHR operation); 10425 #endif 10426 10427 10428 // VK_KHR_pipeline_executable_properties is a preprocessor guard. Do not pass it to API calls. 10429 #define VK_KHR_pipeline_executable_properties 1 10430 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION 1 10431 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties" 10432 10433 typedef enum VkPipelineExecutableStatisticFormatKHR { 10434 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR = 0, 10435 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR = 1, 10436 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR = 2, 10437 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR = 3, 10438 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR = 0x7FFFFFFF 10439 } VkPipelineExecutableStatisticFormatKHR; 10440 typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR { 10441 VkStructureType sType; 10442 void* pNext; 10443 VkBool32 pipelineExecutableInfo; 10444 } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR; 10445 10446 typedef struct VkPipelineInfoKHR { 10447 VkStructureType sType; 10448 const void* pNext; 10449 VkPipeline pipeline; 10450 } VkPipelineInfoKHR; 10451 10452 typedef struct VkPipelineExecutablePropertiesKHR { 10453 VkStructureType sType; 10454 void* pNext; 10455 VkShaderStageFlags stages; 10456 char name[VK_MAX_DESCRIPTION_SIZE]; 10457 char description[VK_MAX_DESCRIPTION_SIZE]; 10458 uint32_t subgroupSize; 10459 } VkPipelineExecutablePropertiesKHR; 10460 10461 typedef struct VkPipelineExecutableInfoKHR { 10462 VkStructureType sType; 10463 const void* pNext; 10464 VkPipeline pipeline; 10465 uint32_t executableIndex; 10466 } VkPipelineExecutableInfoKHR; 10467 10468 typedef union VkPipelineExecutableStatisticValueKHR { 10469 VkBool32 b32; 10470 int64_t i64; 10471 uint64_t u64; 10472 double f64; 10473 } VkPipelineExecutableStatisticValueKHR; 10474 10475 typedef struct VkPipelineExecutableStatisticKHR { 10476 VkStructureType sType; 10477 void* pNext; 10478 char name[VK_MAX_DESCRIPTION_SIZE]; 10479 char description[VK_MAX_DESCRIPTION_SIZE]; 10480 VkPipelineExecutableStatisticFormatKHR format; 10481 VkPipelineExecutableStatisticValueKHR value; 10482 } VkPipelineExecutableStatisticKHR; 10483 10484 typedef struct VkPipelineExecutableInternalRepresentationKHR { 10485 VkStructureType sType; 10486 void* pNext; 10487 char name[VK_MAX_DESCRIPTION_SIZE]; 10488 char description[VK_MAX_DESCRIPTION_SIZE]; 10489 VkBool32 isText; 10490 size_t dataSize; 10491 void* pData; 10492 } VkPipelineExecutableInternalRepresentationKHR; 10493 10494 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutablePropertiesKHR)(VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties); 10495 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableStatisticsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics); 10496 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableInternalRepresentationsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations); 10497 10498 #ifndef VK_NO_PROTOTYPES 10499 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutablePropertiesKHR( 10500 VkDevice device, 10501 const VkPipelineInfoKHR* pPipelineInfo, 10502 uint32_t* pExecutableCount, 10503 VkPipelineExecutablePropertiesKHR* pProperties); 10504 10505 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableStatisticsKHR( 10506 VkDevice device, 10507 const VkPipelineExecutableInfoKHR* pExecutableInfo, 10508 uint32_t* pStatisticCount, 10509 VkPipelineExecutableStatisticKHR* pStatistics); 10510 10511 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableInternalRepresentationsKHR( 10512 VkDevice device, 10513 const VkPipelineExecutableInfoKHR* pExecutableInfo, 10514 uint32_t* pInternalRepresentationCount, 10515 VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations); 10516 #endif 10517 10518 10519 // VK_KHR_map_memory2 is a preprocessor guard. Do not pass it to API calls. 10520 #define VK_KHR_map_memory2 1 10521 #define VK_KHR_MAP_MEMORY_2_SPEC_VERSION 1 10522 #define VK_KHR_MAP_MEMORY_2_EXTENSION_NAME "VK_KHR_map_memory2" 10523 10524 typedef enum VkMemoryUnmapFlagBitsKHR { 10525 VK_MEMORY_UNMAP_RESERVE_BIT_EXT = 0x00000001, 10526 VK_MEMORY_UNMAP_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 10527 } VkMemoryUnmapFlagBitsKHR; 10528 typedef VkFlags VkMemoryUnmapFlagsKHR; 10529 typedef struct VkMemoryMapInfoKHR { 10530 VkStructureType sType; 10531 const void* pNext; 10532 VkMemoryMapFlags flags; 10533 VkDeviceMemory memory; 10534 VkDeviceSize offset; 10535 VkDeviceSize size; 10536 } VkMemoryMapInfoKHR; 10537 10538 typedef struct VkMemoryUnmapInfoKHR { 10539 VkStructureType sType; 10540 const void* pNext; 10541 VkMemoryUnmapFlagsKHR flags; 10542 VkDeviceMemory memory; 10543 } VkMemoryUnmapInfoKHR; 10544 10545 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory2KHR)(VkDevice device, const VkMemoryMapInfoKHR* pMemoryMapInfo, void** ppData); 10546 typedef VkResult (VKAPI_PTR *PFN_vkUnmapMemory2KHR)(VkDevice device, const VkMemoryUnmapInfoKHR* pMemoryUnmapInfo); 10547 10548 #ifndef VK_NO_PROTOTYPES 10549 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory2KHR( 10550 VkDevice device, 10551 const VkMemoryMapInfoKHR* pMemoryMapInfo, 10552 void** ppData); 10553 10554 VKAPI_ATTR VkResult VKAPI_CALL vkUnmapMemory2KHR( 10555 VkDevice device, 10556 const VkMemoryUnmapInfoKHR* pMemoryUnmapInfo); 10557 #endif 10558 10559 10560 // VK_KHR_shader_integer_dot_product is a preprocessor guard. Do not pass it to API calls. 10561 #define VK_KHR_shader_integer_dot_product 1 10562 #define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION 1 10563 #define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME "VK_KHR_shader_integer_dot_product" 10564 typedef VkPhysicalDeviceShaderIntegerDotProductFeatures VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR; 10565 10566 typedef VkPhysicalDeviceShaderIntegerDotProductProperties VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR; 10567 10568 10569 10570 // VK_KHR_pipeline_library is a preprocessor guard. Do not pass it to API calls. 10571 #define VK_KHR_pipeline_library 1 10572 #define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1 10573 #define VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME "VK_KHR_pipeline_library" 10574 typedef struct VkPipelineLibraryCreateInfoKHR { 10575 VkStructureType sType; 10576 const void* pNext; 10577 uint32_t libraryCount; 10578 const VkPipeline* pLibraries; 10579 } VkPipelineLibraryCreateInfoKHR; 10580 10581 10582 10583 // VK_KHR_shader_non_semantic_info is a preprocessor guard. Do not pass it to API calls. 10584 #define VK_KHR_shader_non_semantic_info 1 10585 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION 1 10586 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME "VK_KHR_shader_non_semantic_info" 10587 10588 10589 // VK_KHR_present_id is a preprocessor guard. Do not pass it to API calls. 10590 #define VK_KHR_present_id 1 10591 #define VK_KHR_PRESENT_ID_SPEC_VERSION 1 10592 #define VK_KHR_PRESENT_ID_EXTENSION_NAME "VK_KHR_present_id" 10593 typedef struct VkPresentIdKHR { 10594 VkStructureType sType; 10595 const void* pNext; 10596 uint32_t swapchainCount; 10597 const uint64_t* pPresentIds; 10598 } VkPresentIdKHR; 10599 10600 typedef struct VkPhysicalDevicePresentIdFeaturesKHR { 10601 VkStructureType sType; 10602 void* pNext; 10603 VkBool32 presentId; 10604 } VkPhysicalDevicePresentIdFeaturesKHR; 10605 10606 10607 10608 // VK_KHR_video_encode_queue is a preprocessor guard. Do not pass it to API calls. 10609 #define VK_KHR_video_encode_queue 1 10610 #define VK_KHR_VIDEO_ENCODE_QUEUE_SPEC_VERSION 12 10611 #define VK_KHR_VIDEO_ENCODE_QUEUE_EXTENSION_NAME "VK_KHR_video_encode_queue" 10612 10613 typedef enum VkVideoEncodeTuningModeKHR { 10614 VK_VIDEO_ENCODE_TUNING_MODE_DEFAULT_KHR = 0, 10615 VK_VIDEO_ENCODE_TUNING_MODE_HIGH_QUALITY_KHR = 1, 10616 VK_VIDEO_ENCODE_TUNING_MODE_LOW_LATENCY_KHR = 2, 10617 VK_VIDEO_ENCODE_TUNING_MODE_ULTRA_LOW_LATENCY_KHR = 3, 10618 VK_VIDEO_ENCODE_TUNING_MODE_LOSSLESS_KHR = 4, 10619 VK_VIDEO_ENCODE_TUNING_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 10620 } VkVideoEncodeTuningModeKHR; 10621 10622 typedef enum VkVideoEncodeFlagBitsKHR { 10623 VK_VIDEO_ENCODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 10624 } VkVideoEncodeFlagBitsKHR; 10625 typedef VkFlags VkVideoEncodeFlagsKHR; 10626 10627 typedef enum VkVideoEncodeCapabilityFlagBitsKHR { 10628 VK_VIDEO_ENCODE_CAPABILITY_PRECEDING_EXTERNALLY_ENCODED_BYTES_BIT_KHR = 0x00000001, 10629 VK_VIDEO_ENCODE_CAPABILITY_INSUFFICIENT_BITSTREAM_BUFFER_RANGE_DETECTION_BIT_KHR = 0x00000002, 10630 VK_VIDEO_ENCODE_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 10631 } VkVideoEncodeCapabilityFlagBitsKHR; 10632 typedef VkFlags VkVideoEncodeCapabilityFlagsKHR; 10633 10634 typedef enum VkVideoEncodeRateControlModeFlagBitsKHR { 10635 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DEFAULT_KHR = 0, 10636 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DISABLED_BIT_KHR = 0x00000001, 10637 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_CBR_BIT_KHR = 0x00000002, 10638 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_VBR_BIT_KHR = 0x00000004, 10639 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 10640 } VkVideoEncodeRateControlModeFlagBitsKHR; 10641 typedef VkFlags VkVideoEncodeRateControlModeFlagsKHR; 10642 10643 typedef enum VkVideoEncodeFeedbackFlagBitsKHR { 10644 VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BUFFER_OFFSET_BIT_KHR = 0x00000001, 10645 VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BYTES_WRITTEN_BIT_KHR = 0x00000002, 10646 VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_HAS_OVERRIDES_BIT_KHR = 0x00000004, 10647 VK_VIDEO_ENCODE_FEEDBACK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 10648 } VkVideoEncodeFeedbackFlagBitsKHR; 10649 typedef VkFlags VkVideoEncodeFeedbackFlagsKHR; 10650 10651 typedef enum VkVideoEncodeUsageFlagBitsKHR { 10652 VK_VIDEO_ENCODE_USAGE_DEFAULT_KHR = 0, 10653 VK_VIDEO_ENCODE_USAGE_TRANSCODING_BIT_KHR = 0x00000001, 10654 VK_VIDEO_ENCODE_USAGE_STREAMING_BIT_KHR = 0x00000002, 10655 VK_VIDEO_ENCODE_USAGE_RECORDING_BIT_KHR = 0x00000004, 10656 VK_VIDEO_ENCODE_USAGE_CONFERENCING_BIT_KHR = 0x00000008, 10657 VK_VIDEO_ENCODE_USAGE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 10658 } VkVideoEncodeUsageFlagBitsKHR; 10659 typedef VkFlags VkVideoEncodeUsageFlagsKHR; 10660 10661 typedef enum VkVideoEncodeContentFlagBitsKHR { 10662 VK_VIDEO_ENCODE_CONTENT_DEFAULT_KHR = 0, 10663 VK_VIDEO_ENCODE_CONTENT_CAMERA_BIT_KHR = 0x00000001, 10664 VK_VIDEO_ENCODE_CONTENT_DESKTOP_BIT_KHR = 0x00000002, 10665 VK_VIDEO_ENCODE_CONTENT_RENDERED_BIT_KHR = 0x00000004, 10666 VK_VIDEO_ENCODE_CONTENT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 10667 } VkVideoEncodeContentFlagBitsKHR; 10668 typedef VkFlags VkVideoEncodeContentFlagsKHR; 10669 typedef VkFlags VkVideoEncodeRateControlFlagsKHR; 10670 typedef struct VkVideoEncodeInfoKHR { 10671 VkStructureType sType; 10672 const void* pNext; 10673 VkVideoEncodeFlagsKHR flags; 10674 VkBuffer dstBuffer; 10675 VkDeviceSize dstBufferOffset; 10676 VkDeviceSize dstBufferRange; 10677 VkVideoPictureResourceInfoKHR srcPictureResource; 10678 const VkVideoReferenceSlotInfoKHR* pSetupReferenceSlot; 10679 uint32_t referenceSlotCount; 10680 const VkVideoReferenceSlotInfoKHR* pReferenceSlots; 10681 uint32_t precedingExternallyEncodedBytes; 10682 } VkVideoEncodeInfoKHR; 10683 10684 typedef struct VkVideoEncodeCapabilitiesKHR { 10685 VkStructureType sType; 10686 void* pNext; 10687 VkVideoEncodeCapabilityFlagsKHR flags; 10688 VkVideoEncodeRateControlModeFlagsKHR rateControlModes; 10689 uint32_t maxRateControlLayers; 10690 uint64_t maxBitrate; 10691 uint32_t maxQualityLevels; 10692 VkExtent2D encodeInputPictureGranularity; 10693 VkVideoEncodeFeedbackFlagsKHR supportedEncodeFeedbackFlags; 10694 } VkVideoEncodeCapabilitiesKHR; 10695 10696 typedef struct VkQueryPoolVideoEncodeFeedbackCreateInfoKHR { 10697 VkStructureType sType; 10698 const void* pNext; 10699 VkVideoEncodeFeedbackFlagsKHR encodeFeedbackFlags; 10700 } VkQueryPoolVideoEncodeFeedbackCreateInfoKHR; 10701 10702 typedef struct VkVideoEncodeUsageInfoKHR { 10703 VkStructureType sType; 10704 const void* pNext; 10705 VkVideoEncodeUsageFlagsKHR videoUsageHints; 10706 VkVideoEncodeContentFlagsKHR videoContentHints; 10707 VkVideoEncodeTuningModeKHR tuningMode; 10708 } VkVideoEncodeUsageInfoKHR; 10709 10710 typedef struct VkVideoEncodeRateControlLayerInfoKHR { 10711 VkStructureType sType; 10712 const void* pNext; 10713 uint64_t averageBitrate; 10714 uint64_t maxBitrate; 10715 uint32_t frameRateNumerator; 10716 uint32_t frameRateDenominator; 10717 } VkVideoEncodeRateControlLayerInfoKHR; 10718 10719 typedef struct VkVideoEncodeRateControlInfoKHR { 10720 VkStructureType sType; 10721 const void* pNext; 10722 VkVideoEncodeRateControlFlagsKHR flags; 10723 VkVideoEncodeRateControlModeFlagBitsKHR rateControlMode; 10724 uint32_t layerCount; 10725 const VkVideoEncodeRateControlLayerInfoKHR* pLayers; 10726 uint32_t virtualBufferSizeInMs; 10727 uint32_t initialVirtualBufferSizeInMs; 10728 } VkVideoEncodeRateControlInfoKHR; 10729 10730 typedef struct VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR { 10731 VkStructureType sType; 10732 const void* pNext; 10733 const VkVideoProfileInfoKHR* pVideoProfile; 10734 uint32_t qualityLevel; 10735 } VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR; 10736 10737 typedef struct VkVideoEncodeQualityLevelPropertiesKHR { 10738 VkStructureType sType; 10739 void* pNext; 10740 VkVideoEncodeRateControlModeFlagBitsKHR preferredRateControlMode; 10741 uint32_t preferredRateControlLayerCount; 10742 } VkVideoEncodeQualityLevelPropertiesKHR; 10743 10744 typedef struct VkVideoEncodeQualityLevelInfoKHR { 10745 VkStructureType sType; 10746 const void* pNext; 10747 uint32_t qualityLevel; 10748 } VkVideoEncodeQualityLevelInfoKHR; 10749 10750 typedef struct VkVideoEncodeSessionParametersGetInfoKHR { 10751 VkStructureType sType; 10752 const void* pNext; 10753 VkVideoSessionParametersKHR videoSessionParameters; 10754 } VkVideoEncodeSessionParametersGetInfoKHR; 10755 10756 typedef struct VkVideoEncodeSessionParametersFeedbackInfoKHR { 10757 VkStructureType sType; 10758 void* pNext; 10759 VkBool32 hasOverrides; 10760 } VkVideoEncodeSessionParametersFeedbackInfoKHR; 10761 10762 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR* pQualityLevelInfo, VkVideoEncodeQualityLevelPropertiesKHR* pQualityLevelProperties); 10763 typedef VkResult (VKAPI_PTR *PFN_vkGetEncodedVideoSessionParametersKHR)(VkDevice device, const VkVideoEncodeSessionParametersGetInfoKHR* pVideoSessionParametersInfo, VkVideoEncodeSessionParametersFeedbackInfoKHR* pFeedbackInfo, size_t* pDataSize, void* pData); 10764 typedef void (VKAPI_PTR *PFN_vkCmdEncodeVideoKHR)(VkCommandBuffer commandBuffer, const VkVideoEncodeInfoKHR* pEncodeInfo); 10765 10766 #ifndef VK_NO_PROTOTYPES 10767 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR( 10768 VkPhysicalDevice physicalDevice, 10769 const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR* pQualityLevelInfo, 10770 VkVideoEncodeQualityLevelPropertiesKHR* pQualityLevelProperties); 10771 10772 VKAPI_ATTR VkResult VKAPI_CALL vkGetEncodedVideoSessionParametersKHR( 10773 VkDevice device, 10774 const VkVideoEncodeSessionParametersGetInfoKHR* pVideoSessionParametersInfo, 10775 VkVideoEncodeSessionParametersFeedbackInfoKHR* pFeedbackInfo, 10776 size_t* pDataSize, 10777 void* pData); 10778 10779 VKAPI_ATTR void VKAPI_CALL vkCmdEncodeVideoKHR( 10780 VkCommandBuffer commandBuffer, 10781 const VkVideoEncodeInfoKHR* pEncodeInfo); 10782 #endif 10783 10784 10785 // VK_KHR_synchronization2 is a preprocessor guard. Do not pass it to API calls. 10786 #define VK_KHR_synchronization2 1 10787 #define VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION 1 10788 #define VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME "VK_KHR_synchronization2" 10789 typedef VkPipelineStageFlags2 VkPipelineStageFlags2KHR; 10790 10791 typedef VkPipelineStageFlagBits2 VkPipelineStageFlagBits2KHR; 10792 10793 typedef VkAccessFlags2 VkAccessFlags2KHR; 10794 10795 typedef VkAccessFlagBits2 VkAccessFlagBits2KHR; 10796 10797 typedef VkSubmitFlagBits VkSubmitFlagBitsKHR; 10798 10799 typedef VkSubmitFlags VkSubmitFlagsKHR; 10800 10801 typedef VkMemoryBarrier2 VkMemoryBarrier2KHR; 10802 10803 typedef VkBufferMemoryBarrier2 VkBufferMemoryBarrier2KHR; 10804 10805 typedef VkImageMemoryBarrier2 VkImageMemoryBarrier2KHR; 10806 10807 typedef VkDependencyInfo VkDependencyInfoKHR; 10808 10809 typedef VkSubmitInfo2 VkSubmitInfo2KHR; 10810 10811 typedef VkSemaphoreSubmitInfo VkSemaphoreSubmitInfoKHR; 10812 10813 typedef VkCommandBufferSubmitInfo VkCommandBufferSubmitInfoKHR; 10814 10815 typedef VkPhysicalDeviceSynchronization2Features VkPhysicalDeviceSynchronization2FeaturesKHR; 10816 10817 typedef struct VkQueueFamilyCheckpointProperties2NV { 10818 VkStructureType sType; 10819 void* pNext; 10820 VkPipelineStageFlags2 checkpointExecutionStageMask; 10821 } VkQueueFamilyCheckpointProperties2NV; 10822 10823 typedef struct VkCheckpointData2NV { 10824 VkStructureType sType; 10825 void* pNext; 10826 VkPipelineStageFlags2 stage; 10827 void* pCheckpointMarker; 10828 } VkCheckpointData2NV; 10829 10830 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo); 10831 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask); 10832 typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2KHR)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos); 10833 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2KHR)(VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo); 10834 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2KHR)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query); 10835 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2KHR)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence); 10836 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarker2AMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker); 10837 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointData2NV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData); 10838 10839 #ifndef VK_NO_PROTOTYPES 10840 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2KHR( 10841 VkCommandBuffer commandBuffer, 10842 VkEvent event, 10843 const VkDependencyInfo* pDependencyInfo); 10844 10845 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2KHR( 10846 VkCommandBuffer commandBuffer, 10847 VkEvent event, 10848 VkPipelineStageFlags2 stageMask); 10849 10850 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2KHR( 10851 VkCommandBuffer commandBuffer, 10852 uint32_t eventCount, 10853 const VkEvent* pEvents, 10854 const VkDependencyInfo* pDependencyInfos); 10855 10856 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2KHR( 10857 VkCommandBuffer commandBuffer, 10858 const VkDependencyInfo* pDependencyInfo); 10859 10860 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2KHR( 10861 VkCommandBuffer commandBuffer, 10862 VkPipelineStageFlags2 stage, 10863 VkQueryPool queryPool, 10864 uint32_t query); 10865 10866 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2KHR( 10867 VkQueue queue, 10868 uint32_t submitCount, 10869 const VkSubmitInfo2* pSubmits, 10870 VkFence fence); 10871 10872 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarker2AMD( 10873 VkCommandBuffer commandBuffer, 10874 VkPipelineStageFlags2 stage, 10875 VkBuffer dstBuffer, 10876 VkDeviceSize dstOffset, 10877 uint32_t marker); 10878 10879 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointData2NV( 10880 VkQueue queue, 10881 uint32_t* pCheckpointDataCount, 10882 VkCheckpointData2NV* pCheckpointData); 10883 #endif 10884 10885 10886 // VK_KHR_fragment_shader_barycentric is a preprocessor guard. Do not pass it to API calls. 10887 #define VK_KHR_fragment_shader_barycentric 1 10888 #define VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1 10889 #define VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_KHR_fragment_shader_barycentric" 10890 typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR { 10891 VkStructureType sType; 10892 void* pNext; 10893 VkBool32 fragmentShaderBarycentric; 10894 } VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR; 10895 10896 typedef struct VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR { 10897 VkStructureType sType; 10898 void* pNext; 10899 VkBool32 triStripVertexOrderIndependentOfProvokingVertex; 10900 } VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR; 10901 10902 10903 10904 // VK_KHR_shader_subgroup_uniform_control_flow is a preprocessor guard. Do not pass it to API calls. 10905 #define VK_KHR_shader_subgroup_uniform_control_flow 1 10906 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION 1 10907 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME "VK_KHR_shader_subgroup_uniform_control_flow" 10908 typedef struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR { 10909 VkStructureType sType; 10910 void* pNext; 10911 VkBool32 shaderSubgroupUniformControlFlow; 10912 } VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR; 10913 10914 10915 10916 // VK_KHR_zero_initialize_workgroup_memory is a preprocessor guard. Do not pass it to API calls. 10917 #define VK_KHR_zero_initialize_workgroup_memory 1 10918 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION 1 10919 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME "VK_KHR_zero_initialize_workgroup_memory" 10920 typedef VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR; 10921 10922 10923 10924 // VK_KHR_workgroup_memory_explicit_layout is a preprocessor guard. Do not pass it to API calls. 10925 #define VK_KHR_workgroup_memory_explicit_layout 1 10926 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION 1 10927 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME "VK_KHR_workgroup_memory_explicit_layout" 10928 typedef struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR { 10929 VkStructureType sType; 10930 void* pNext; 10931 VkBool32 workgroupMemoryExplicitLayout; 10932 VkBool32 workgroupMemoryExplicitLayoutScalarBlockLayout; 10933 VkBool32 workgroupMemoryExplicitLayout8BitAccess; 10934 VkBool32 workgroupMemoryExplicitLayout16BitAccess; 10935 } VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR; 10936 10937 10938 10939 // VK_KHR_copy_commands2 is a preprocessor guard. Do not pass it to API calls. 10940 #define VK_KHR_copy_commands2 1 10941 #define VK_KHR_COPY_COMMANDS_2_SPEC_VERSION 1 10942 #define VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME "VK_KHR_copy_commands2" 10943 typedef VkCopyBufferInfo2 VkCopyBufferInfo2KHR; 10944 10945 typedef VkCopyImageInfo2 VkCopyImageInfo2KHR; 10946 10947 typedef VkCopyBufferToImageInfo2 VkCopyBufferToImageInfo2KHR; 10948 10949 typedef VkCopyImageToBufferInfo2 VkCopyImageToBufferInfo2KHR; 10950 10951 typedef VkBlitImageInfo2 VkBlitImageInfo2KHR; 10952 10953 typedef VkResolveImageInfo2 VkResolveImageInfo2KHR; 10954 10955 typedef VkBufferCopy2 VkBufferCopy2KHR; 10956 10957 typedef VkImageCopy2 VkImageCopy2KHR; 10958 10959 typedef VkImageBlit2 VkImageBlit2KHR; 10960 10961 typedef VkBufferImageCopy2 VkBufferImageCopy2KHR; 10962 10963 typedef VkImageResolve2 VkImageResolve2KHR; 10964 10965 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo); 10966 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo); 10967 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo); 10968 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo); 10969 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2KHR)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo); 10970 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2KHR)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo); 10971 10972 #ifndef VK_NO_PROTOTYPES 10973 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2KHR( 10974 VkCommandBuffer commandBuffer, 10975 const VkCopyBufferInfo2* pCopyBufferInfo); 10976 10977 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2KHR( 10978 VkCommandBuffer commandBuffer, 10979 const VkCopyImageInfo2* pCopyImageInfo); 10980 10981 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2KHR( 10982 VkCommandBuffer commandBuffer, 10983 const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo); 10984 10985 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2KHR( 10986 VkCommandBuffer commandBuffer, 10987 const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo); 10988 10989 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2KHR( 10990 VkCommandBuffer commandBuffer, 10991 const VkBlitImageInfo2* pBlitImageInfo); 10992 10993 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2KHR( 10994 VkCommandBuffer commandBuffer, 10995 const VkResolveImageInfo2* pResolveImageInfo); 10996 #endif 10997 10998 10999 // VK_KHR_format_feature_flags2 is a preprocessor guard. Do not pass it to API calls. 11000 #define VK_KHR_format_feature_flags2 1 11001 #define VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION 2 11002 #define VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME "VK_KHR_format_feature_flags2" 11003 typedef VkFormatFeatureFlags2 VkFormatFeatureFlags2KHR; 11004 11005 typedef VkFormatFeatureFlagBits2 VkFormatFeatureFlagBits2KHR; 11006 11007 typedef VkFormatProperties3 VkFormatProperties3KHR; 11008 11009 11010 11011 // VK_KHR_ray_tracing_maintenance1 is a preprocessor guard. Do not pass it to API calls. 11012 #define VK_KHR_ray_tracing_maintenance1 1 11013 #define VK_KHR_RAY_TRACING_MAINTENANCE_1_SPEC_VERSION 1 11014 #define VK_KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_ray_tracing_maintenance1" 11015 typedef struct VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR { 11016 VkStructureType sType; 11017 void* pNext; 11018 VkBool32 rayTracingMaintenance1; 11019 VkBool32 rayTracingPipelineTraceRaysIndirect2; 11020 } VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR; 11021 11022 typedef struct VkTraceRaysIndirectCommand2KHR { 11023 VkDeviceAddress raygenShaderRecordAddress; 11024 VkDeviceSize raygenShaderRecordSize; 11025 VkDeviceAddress missShaderBindingTableAddress; 11026 VkDeviceSize missShaderBindingTableSize; 11027 VkDeviceSize missShaderBindingTableStride; 11028 VkDeviceAddress hitShaderBindingTableAddress; 11029 VkDeviceSize hitShaderBindingTableSize; 11030 VkDeviceSize hitShaderBindingTableStride; 11031 VkDeviceAddress callableShaderBindingTableAddress; 11032 VkDeviceSize callableShaderBindingTableSize; 11033 VkDeviceSize callableShaderBindingTableStride; 11034 uint32_t width; 11035 uint32_t height; 11036 uint32_t depth; 11037 } VkTraceRaysIndirectCommand2KHR; 11038 11039 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirect2KHR)(VkCommandBuffer commandBuffer, VkDeviceAddress indirectDeviceAddress); 11040 11041 #ifndef VK_NO_PROTOTYPES 11042 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirect2KHR( 11043 VkCommandBuffer commandBuffer, 11044 VkDeviceAddress indirectDeviceAddress); 11045 #endif 11046 11047 11048 // VK_KHR_portability_enumeration is a preprocessor guard. Do not pass it to API calls. 11049 #define VK_KHR_portability_enumeration 1 11050 #define VK_KHR_PORTABILITY_ENUMERATION_SPEC_VERSION 1 11051 #define VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME "VK_KHR_portability_enumeration" 11052 11053 11054 // VK_KHR_maintenance4 is a preprocessor guard. Do not pass it to API calls. 11055 #define VK_KHR_maintenance4 1 11056 #define VK_KHR_MAINTENANCE_4_SPEC_VERSION 2 11057 #define VK_KHR_MAINTENANCE_4_EXTENSION_NAME "VK_KHR_maintenance4" 11058 typedef VkPhysicalDeviceMaintenance4Features VkPhysicalDeviceMaintenance4FeaturesKHR; 11059 11060 typedef VkPhysicalDeviceMaintenance4Properties VkPhysicalDeviceMaintenance4PropertiesKHR; 11061 11062 typedef VkDeviceBufferMemoryRequirements VkDeviceBufferMemoryRequirementsKHR; 11063 11064 typedef VkDeviceImageMemoryRequirements VkDeviceImageMemoryRequirementsKHR; 11065 11066 typedef void (VKAPI_PTR *PFN_vkGetDeviceBufferMemoryRequirementsKHR)(VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements); 11067 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageMemoryRequirementsKHR)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements); 11068 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSparseMemoryRequirementsKHR)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 11069 11070 #ifndef VK_NO_PROTOTYPES 11071 VKAPI_ATTR void VKAPI_CALL vkGetDeviceBufferMemoryRequirementsKHR( 11072 VkDevice device, 11073 const VkDeviceBufferMemoryRequirements* pInfo, 11074 VkMemoryRequirements2* pMemoryRequirements); 11075 11076 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageMemoryRequirementsKHR( 11077 VkDevice device, 11078 const VkDeviceImageMemoryRequirements* pInfo, 11079 VkMemoryRequirements2* pMemoryRequirements); 11080 11081 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSparseMemoryRequirementsKHR( 11082 VkDevice device, 11083 const VkDeviceImageMemoryRequirements* pInfo, 11084 uint32_t* pSparseMemoryRequirementCount, 11085 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 11086 #endif 11087 11088 11089 // VK_KHR_shader_subgroup_rotate is a preprocessor guard. Do not pass it to API calls. 11090 #define VK_KHR_shader_subgroup_rotate 1 11091 #define VK_KHR_SHADER_SUBGROUP_ROTATE_SPEC_VERSION 2 11092 #define VK_KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME "VK_KHR_shader_subgroup_rotate" 11093 typedef struct VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR { 11094 VkStructureType sType; 11095 void* pNext; 11096 VkBool32 shaderSubgroupRotate; 11097 VkBool32 shaderSubgroupRotateClustered; 11098 } VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR; 11099 11100 11101 11102 // VK_KHR_shader_maximal_reconvergence is a preprocessor guard. Do not pass it to API calls. 11103 #define VK_KHR_shader_maximal_reconvergence 1 11104 #define VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_SPEC_VERSION 1 11105 #define VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_EXTENSION_NAME "VK_KHR_shader_maximal_reconvergence" 11106 typedef struct VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR { 11107 VkStructureType sType; 11108 void* pNext; 11109 VkBool32 shaderMaximalReconvergence; 11110 } VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR; 11111 11112 11113 11114 // VK_KHR_maintenance5 is a preprocessor guard. Do not pass it to API calls. 11115 #define VK_KHR_maintenance5 1 11116 #define VK_KHR_MAINTENANCE_5_SPEC_VERSION 1 11117 #define VK_KHR_MAINTENANCE_5_EXTENSION_NAME "VK_KHR_maintenance5" 11118 typedef VkFlags64 VkPipelineCreateFlags2KHR; 11119 11120 // Flag bits for VkPipelineCreateFlagBits2KHR 11121 typedef VkFlags64 VkPipelineCreateFlagBits2KHR; 11122 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT_KHR = 0x00000001ULL; 11123 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT_KHR = 0x00000002ULL; 11124 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DERIVATIVE_BIT_KHR = 0x00000004ULL; 11125 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT = 0x400000000ULL; 11126 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = 0x00000008ULL; 11127 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DISPATCH_BASE_BIT_KHR = 0x00000010ULL; 11128 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DEFER_COMPILE_BIT_NV = 0x00000020ULL; 11129 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_CAPTURE_STATISTICS_BIT_KHR = 0x00000040ULL; 11130 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080ULL; 11131 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_KHR = 0x00000100ULL; 11132 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_EARLY_RETURN_ON_FAILURE_BIT_KHR = 0x00000200ULL; 11133 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_LINK_TIME_OPTIMIZATION_BIT_EXT = 0x00000400ULL; 11134 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT = 0x00800000ULL; 11135 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_LIBRARY_BIT_KHR = 0x00000800ULL; 11136 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000ULL; 11137 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000ULL; 11138 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000ULL; 11139 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000ULL; 11140 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000ULL; 11141 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000ULL; 11142 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000ULL; 11143 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_NV = 0x00040000ULL; 11144 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000ULL; 11145 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00200000ULL; 11146 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00400000ULL; 11147 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT = 0x01000000ULL; 11148 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x02000000ULL; 11149 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x04000000ULL; 11150 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT_EXT = 0x08000000ULL; 11151 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT_EXT = 0x40000000ULL; 11152 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV = 0x10000000ULL; 11153 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DESCRIPTOR_BUFFER_BIT_EXT = 0x20000000ULL; 11154 11155 typedef VkFlags64 VkBufferUsageFlags2KHR; 11156 11157 // Flag bits for VkBufferUsageFlagBits2KHR 11158 typedef VkFlags64 VkBufferUsageFlagBits2KHR; 11159 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_TRANSFER_SRC_BIT_KHR = 0x00000001ULL; 11160 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_TRANSFER_DST_BIT_KHR = 0x00000002ULL; 11161 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR = 0x00000004ULL; 11162 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_STORAGE_TEXEL_BUFFER_BIT_KHR = 0x00000008ULL; 11163 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_UNIFORM_BUFFER_BIT_KHR = 0x00000010ULL; 11164 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_STORAGE_BUFFER_BIT_KHR = 0x00000020ULL; 11165 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_INDEX_BUFFER_BIT_KHR = 0x00000040ULL; 11166 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_VERTEX_BUFFER_BIT_KHR = 0x00000080ULL; 11167 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_INDIRECT_BUFFER_BIT_KHR = 0x00000100ULL; 11168 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_EXECUTION_GRAPH_SCRATCH_BIT_AMDX = 0x02000000ULL; 11169 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200ULL; 11170 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400ULL; 11171 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_RAY_TRACING_BIT_NV = 0x00000400ULL; 11172 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800ULL; 11173 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000ULL; 11174 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000ULL; 11175 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_VIDEO_DECODE_DST_BIT_KHR = 0x00004000ULL; 11176 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000ULL; 11177 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000ULL; 11178 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_SHADER_DEVICE_ADDRESS_BIT_KHR = 0x00020000ULL; 11179 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000ULL; 11180 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000ULL; 11181 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT = 0x00200000ULL; 11182 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT = 0x00400000ULL; 11183 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT = 0x04000000ULL; 11184 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT = 0x00800000ULL; 11185 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_MICROMAP_STORAGE_BIT_EXT = 0x01000000ULL; 11186 11187 typedef struct VkPhysicalDeviceMaintenance5FeaturesKHR { 11188 VkStructureType sType; 11189 void* pNext; 11190 VkBool32 maintenance5; 11191 } VkPhysicalDeviceMaintenance5FeaturesKHR; 11192 11193 typedef struct VkPhysicalDeviceMaintenance5PropertiesKHR { 11194 VkStructureType sType; 11195 void* pNext; 11196 VkBool32 earlyFragmentMultisampleCoverageAfterSampleCounting; 11197 VkBool32 earlyFragmentSampleMaskTestBeforeSampleCounting; 11198 VkBool32 depthStencilSwizzleOneSupport; 11199 VkBool32 polygonModePointSize; 11200 VkBool32 nonStrictSinglePixelWideLinesUseParallelogram; 11201 VkBool32 nonStrictWideLinesUseParallelogram; 11202 } VkPhysicalDeviceMaintenance5PropertiesKHR; 11203 11204 typedef struct VkRenderingAreaInfoKHR { 11205 VkStructureType sType; 11206 const void* pNext; 11207 uint32_t viewMask; 11208 uint32_t colorAttachmentCount; 11209 const VkFormat* pColorAttachmentFormats; 11210 VkFormat depthAttachmentFormat; 11211 VkFormat stencilAttachmentFormat; 11212 } VkRenderingAreaInfoKHR; 11213 11214 typedef struct VkImageSubresource2KHR { 11215 VkStructureType sType; 11216 void* pNext; 11217 VkImageSubresource imageSubresource; 11218 } VkImageSubresource2KHR; 11219 11220 typedef struct VkDeviceImageSubresourceInfoKHR { 11221 VkStructureType sType; 11222 const void* pNext; 11223 const VkImageCreateInfo* pCreateInfo; 11224 const VkImageSubresource2KHR* pSubresource; 11225 } VkDeviceImageSubresourceInfoKHR; 11226 11227 typedef struct VkSubresourceLayout2KHR { 11228 VkStructureType sType; 11229 void* pNext; 11230 VkSubresourceLayout subresourceLayout; 11231 } VkSubresourceLayout2KHR; 11232 11233 typedef struct VkPipelineCreateFlags2CreateInfoKHR { 11234 VkStructureType sType; 11235 const void* pNext; 11236 VkPipelineCreateFlags2KHR flags; 11237 } VkPipelineCreateFlags2CreateInfoKHR; 11238 11239 typedef struct VkBufferUsageFlags2CreateInfoKHR { 11240 VkStructureType sType; 11241 const void* pNext; 11242 VkBufferUsageFlags2KHR usage; 11243 } VkBufferUsageFlags2CreateInfoKHR; 11244 11245 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer2KHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType); 11246 typedef void (VKAPI_PTR *PFN_vkGetRenderingAreaGranularityKHR)(VkDevice device, const VkRenderingAreaInfoKHR* pRenderingAreaInfo, VkExtent2D* pGranularity); 11247 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSubresourceLayoutKHR)(VkDevice device, const VkDeviceImageSubresourceInfoKHR* pInfo, VkSubresourceLayout2KHR* pLayout); 11248 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout2KHR)(VkDevice device, VkImage image, const VkImageSubresource2KHR* pSubresource, VkSubresourceLayout2KHR* pLayout); 11249 11250 #ifndef VK_NO_PROTOTYPES 11251 VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer2KHR( 11252 VkCommandBuffer commandBuffer, 11253 VkBuffer buffer, 11254 VkDeviceSize offset, 11255 VkDeviceSize size, 11256 VkIndexType indexType); 11257 11258 VKAPI_ATTR void VKAPI_CALL vkGetRenderingAreaGranularityKHR( 11259 VkDevice device, 11260 const VkRenderingAreaInfoKHR* pRenderingAreaInfo, 11261 VkExtent2D* pGranularity); 11262 11263 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSubresourceLayoutKHR( 11264 VkDevice device, 11265 const VkDeviceImageSubresourceInfoKHR* pInfo, 11266 VkSubresourceLayout2KHR* pLayout); 11267 11268 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout2KHR( 11269 VkDevice device, 11270 VkImage image, 11271 const VkImageSubresource2KHR* pSubresource, 11272 VkSubresourceLayout2KHR* pLayout); 11273 #endif 11274 11275 11276 // VK_KHR_ray_tracing_position_fetch is a preprocessor guard. Do not pass it to API calls. 11277 #define VK_KHR_ray_tracing_position_fetch 1 11278 #define VK_KHR_RAY_TRACING_POSITION_FETCH_SPEC_VERSION 1 11279 #define VK_KHR_RAY_TRACING_POSITION_FETCH_EXTENSION_NAME "VK_KHR_ray_tracing_position_fetch" 11280 typedef struct VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR { 11281 VkStructureType sType; 11282 void* pNext; 11283 VkBool32 rayTracingPositionFetch; 11284 } VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR; 11285 11286 11287 11288 // VK_KHR_cooperative_matrix is a preprocessor guard. Do not pass it to API calls. 11289 #define VK_KHR_cooperative_matrix 1 11290 #define VK_KHR_COOPERATIVE_MATRIX_SPEC_VERSION 2 11291 #define VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_KHR_cooperative_matrix" 11292 11293 typedef enum VkComponentTypeKHR { 11294 VK_COMPONENT_TYPE_FLOAT16_KHR = 0, 11295 VK_COMPONENT_TYPE_FLOAT32_KHR = 1, 11296 VK_COMPONENT_TYPE_FLOAT64_KHR = 2, 11297 VK_COMPONENT_TYPE_SINT8_KHR = 3, 11298 VK_COMPONENT_TYPE_SINT16_KHR = 4, 11299 VK_COMPONENT_TYPE_SINT32_KHR = 5, 11300 VK_COMPONENT_TYPE_SINT64_KHR = 6, 11301 VK_COMPONENT_TYPE_UINT8_KHR = 7, 11302 VK_COMPONENT_TYPE_UINT16_KHR = 8, 11303 VK_COMPONENT_TYPE_UINT32_KHR = 9, 11304 VK_COMPONENT_TYPE_UINT64_KHR = 10, 11305 VK_COMPONENT_TYPE_FLOAT16_NV = VK_COMPONENT_TYPE_FLOAT16_KHR, 11306 VK_COMPONENT_TYPE_FLOAT32_NV = VK_COMPONENT_TYPE_FLOAT32_KHR, 11307 VK_COMPONENT_TYPE_FLOAT64_NV = VK_COMPONENT_TYPE_FLOAT64_KHR, 11308 VK_COMPONENT_TYPE_SINT8_NV = VK_COMPONENT_TYPE_SINT8_KHR, 11309 VK_COMPONENT_TYPE_SINT16_NV = VK_COMPONENT_TYPE_SINT16_KHR, 11310 VK_COMPONENT_TYPE_SINT32_NV = VK_COMPONENT_TYPE_SINT32_KHR, 11311 VK_COMPONENT_TYPE_SINT64_NV = VK_COMPONENT_TYPE_SINT64_KHR, 11312 VK_COMPONENT_TYPE_UINT8_NV = VK_COMPONENT_TYPE_UINT8_KHR, 11313 VK_COMPONENT_TYPE_UINT16_NV = VK_COMPONENT_TYPE_UINT16_KHR, 11314 VK_COMPONENT_TYPE_UINT32_NV = VK_COMPONENT_TYPE_UINT32_KHR, 11315 VK_COMPONENT_TYPE_UINT64_NV = VK_COMPONENT_TYPE_UINT64_KHR, 11316 VK_COMPONENT_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 11317 } VkComponentTypeKHR; 11318 11319 typedef enum VkScopeKHR { 11320 VK_SCOPE_DEVICE_KHR = 1, 11321 VK_SCOPE_WORKGROUP_KHR = 2, 11322 VK_SCOPE_SUBGROUP_KHR = 3, 11323 VK_SCOPE_QUEUE_FAMILY_KHR = 5, 11324 VK_SCOPE_DEVICE_NV = VK_SCOPE_DEVICE_KHR, 11325 VK_SCOPE_WORKGROUP_NV = VK_SCOPE_WORKGROUP_KHR, 11326 VK_SCOPE_SUBGROUP_NV = VK_SCOPE_SUBGROUP_KHR, 11327 VK_SCOPE_QUEUE_FAMILY_NV = VK_SCOPE_QUEUE_FAMILY_KHR, 11328 VK_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF 11329 } VkScopeKHR; 11330 typedef struct VkCooperativeMatrixPropertiesKHR { 11331 VkStructureType sType; 11332 void* pNext; 11333 uint32_t MSize; 11334 uint32_t NSize; 11335 uint32_t KSize; 11336 VkComponentTypeKHR AType; 11337 VkComponentTypeKHR BType; 11338 VkComponentTypeKHR CType; 11339 VkComponentTypeKHR ResultType; 11340 VkBool32 saturatingAccumulation; 11341 VkScopeKHR scope; 11342 } VkCooperativeMatrixPropertiesKHR; 11343 11344 typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesKHR { 11345 VkStructureType sType; 11346 void* pNext; 11347 VkBool32 cooperativeMatrix; 11348 VkBool32 cooperativeMatrixRobustBufferAccess; 11349 } VkPhysicalDeviceCooperativeMatrixFeaturesKHR; 11350 11351 typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesKHR { 11352 VkStructureType sType; 11353 void* pNext; 11354 VkShaderStageFlags cooperativeMatrixSupportedStages; 11355 } VkPhysicalDeviceCooperativeMatrixPropertiesKHR; 11356 11357 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesKHR* pProperties); 11358 11359 #ifndef VK_NO_PROTOTYPES 11360 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( 11361 VkPhysicalDevice physicalDevice, 11362 uint32_t* pPropertyCount, 11363 VkCooperativeMatrixPropertiesKHR* pProperties); 11364 #endif 11365 11366 11367 // VK_KHR_video_decode_av1 is a preprocessor guard. Do not pass it to API calls. 11368 #define VK_KHR_video_decode_av1 1 11369 #include "vk_video/vulkan_video_codec_av1std.h" 11370 #include "vk_video/vulkan_video_codec_av1std_decode.h" 11371 #define VK_MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR 7U 11372 #define VK_KHR_VIDEO_DECODE_AV1_SPEC_VERSION 1 11373 #define VK_KHR_VIDEO_DECODE_AV1_EXTENSION_NAME "VK_KHR_video_decode_av1" 11374 typedef struct VkVideoDecodeAV1ProfileInfoKHR { 11375 VkStructureType sType; 11376 const void* pNext; 11377 StdVideoAV1Profile stdProfile; 11378 VkBool32 filmGrainSupport; 11379 } VkVideoDecodeAV1ProfileInfoKHR; 11380 11381 typedef struct VkVideoDecodeAV1CapabilitiesKHR { 11382 VkStructureType sType; 11383 void* pNext; 11384 StdVideoAV1Level maxLevel; 11385 } VkVideoDecodeAV1CapabilitiesKHR; 11386 11387 typedef struct VkVideoDecodeAV1SessionParametersCreateInfoKHR { 11388 VkStructureType sType; 11389 const void* pNext; 11390 const StdVideoAV1SequenceHeader* pStdSequenceHeader; 11391 } VkVideoDecodeAV1SessionParametersCreateInfoKHR; 11392 11393 typedef struct VkVideoDecodeAV1PictureInfoKHR { 11394 VkStructureType sType; 11395 const void* pNext; 11396 const StdVideoDecodeAV1PictureInfo* pStdPictureInfo; 11397 int32_t referenceNameSlotIndices[VK_MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR]; 11398 uint32_t frameHeaderOffset; 11399 uint32_t tileCount; 11400 const uint32_t* pTileOffsets; 11401 const uint32_t* pTileSizes; 11402 } VkVideoDecodeAV1PictureInfoKHR; 11403 11404 typedef struct VkVideoDecodeAV1DpbSlotInfoKHR { 11405 VkStructureType sType; 11406 const void* pNext; 11407 const StdVideoDecodeAV1ReferenceInfo* pStdReferenceInfo; 11408 } VkVideoDecodeAV1DpbSlotInfoKHR; 11409 11410 11411 11412 // VK_KHR_video_maintenance1 is a preprocessor guard. Do not pass it to API calls. 11413 #define VK_KHR_video_maintenance1 1 11414 #define VK_KHR_VIDEO_MAINTENANCE_1_SPEC_VERSION 1 11415 #define VK_KHR_VIDEO_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_video_maintenance1" 11416 typedef struct VkPhysicalDeviceVideoMaintenance1FeaturesKHR { 11417 VkStructureType sType; 11418 void* pNext; 11419 VkBool32 videoMaintenance1; 11420 } VkPhysicalDeviceVideoMaintenance1FeaturesKHR; 11421 11422 typedef struct VkVideoInlineQueryInfoKHR { 11423 VkStructureType sType; 11424 const void* pNext; 11425 VkQueryPool queryPool; 11426 uint32_t firstQuery; 11427 uint32_t queryCount; 11428 } VkVideoInlineQueryInfoKHR; 11429 11430 11431 11432 // VK_KHR_vertex_attribute_divisor is a preprocessor guard. Do not pass it to API calls. 11433 #define VK_KHR_vertex_attribute_divisor 1 11434 #define VK_KHR_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 1 11435 #define VK_KHR_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_KHR_vertex_attribute_divisor" 11436 typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR { 11437 VkStructureType sType; 11438 void* pNext; 11439 uint32_t maxVertexAttribDivisor; 11440 VkBool32 supportsNonZeroFirstInstance; 11441 } VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR; 11442 11443 typedef struct VkVertexInputBindingDivisorDescriptionKHR { 11444 uint32_t binding; 11445 uint32_t divisor; 11446 } VkVertexInputBindingDivisorDescriptionKHR; 11447 11448 typedef struct VkPipelineVertexInputDivisorStateCreateInfoKHR { 11449 VkStructureType sType; 11450 const void* pNext; 11451 uint32_t vertexBindingDivisorCount; 11452 const VkVertexInputBindingDivisorDescriptionKHR* pVertexBindingDivisors; 11453 } VkPipelineVertexInputDivisorStateCreateInfoKHR; 11454 11455 typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR { 11456 VkStructureType sType; 11457 void* pNext; 11458 VkBool32 vertexAttributeInstanceRateDivisor; 11459 VkBool32 vertexAttributeInstanceRateZeroDivisor; 11460 } VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR; 11461 11462 11463 11464 // VK_KHR_load_store_op_none is a preprocessor guard. Do not pass it to API calls. 11465 #define VK_KHR_load_store_op_none 1 11466 #define VK_KHR_LOAD_STORE_OP_NONE_SPEC_VERSION 1 11467 #define VK_KHR_LOAD_STORE_OP_NONE_EXTENSION_NAME "VK_KHR_load_store_op_none" 11468 11469 11470 // VK_KHR_shader_float_controls2 is a preprocessor guard. Do not pass it to API calls. 11471 #define VK_KHR_shader_float_controls2 1 11472 #define VK_KHR_SHADER_FLOAT_CONTROLS_2_SPEC_VERSION 1 11473 #define VK_KHR_SHADER_FLOAT_CONTROLS_2_EXTENSION_NAME "VK_KHR_shader_float_controls2" 11474 typedef struct VkPhysicalDeviceShaderFloatControls2FeaturesKHR { 11475 VkStructureType sType; 11476 void* pNext; 11477 VkBool32 shaderFloatControls2; 11478 } VkPhysicalDeviceShaderFloatControls2FeaturesKHR; 11479 11480 11481 11482 // VK_KHR_index_type_uint8 is a preprocessor guard. Do not pass it to API calls. 11483 #define VK_KHR_index_type_uint8 1 11484 #define VK_KHR_INDEX_TYPE_UINT8_SPEC_VERSION 1 11485 #define VK_KHR_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_KHR_index_type_uint8" 11486 typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesKHR { 11487 VkStructureType sType; 11488 void* pNext; 11489 VkBool32 indexTypeUint8; 11490 } VkPhysicalDeviceIndexTypeUint8FeaturesKHR; 11491 11492 11493 11494 // VK_KHR_line_rasterization is a preprocessor guard. Do not pass it to API calls. 11495 #define VK_KHR_line_rasterization 1 11496 #define VK_KHR_LINE_RASTERIZATION_SPEC_VERSION 1 11497 #define VK_KHR_LINE_RASTERIZATION_EXTENSION_NAME "VK_KHR_line_rasterization" 11498 11499 typedef enum VkLineRasterizationModeKHR { 11500 VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR = 0, 11501 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR = 1, 11502 VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR = 2, 11503 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR = 3, 11504 VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR, 11505 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR, 11506 VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR, 11507 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR, 11508 VK_LINE_RASTERIZATION_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 11509 } VkLineRasterizationModeKHR; 11510 typedef struct VkPhysicalDeviceLineRasterizationFeaturesKHR { 11511 VkStructureType sType; 11512 void* pNext; 11513 VkBool32 rectangularLines; 11514 VkBool32 bresenhamLines; 11515 VkBool32 smoothLines; 11516 VkBool32 stippledRectangularLines; 11517 VkBool32 stippledBresenhamLines; 11518 VkBool32 stippledSmoothLines; 11519 } VkPhysicalDeviceLineRasterizationFeaturesKHR; 11520 11521 typedef struct VkPhysicalDeviceLineRasterizationPropertiesKHR { 11522 VkStructureType sType; 11523 void* pNext; 11524 uint32_t lineSubPixelPrecisionBits; 11525 } VkPhysicalDeviceLineRasterizationPropertiesKHR; 11526 11527 typedef struct VkPipelineRasterizationLineStateCreateInfoKHR { 11528 VkStructureType sType; 11529 const void* pNext; 11530 VkLineRasterizationModeKHR lineRasterizationMode; 11531 VkBool32 stippledLineEnable; 11532 uint32_t lineStippleFactor; 11533 uint16_t lineStipplePattern; 11534 } VkPipelineRasterizationLineStateCreateInfoKHR; 11535 11536 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleKHR)(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern); 11537 11538 #ifndef VK_NO_PROTOTYPES 11539 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleKHR( 11540 VkCommandBuffer commandBuffer, 11541 uint32_t lineStippleFactor, 11542 uint16_t lineStipplePattern); 11543 #endif 11544 11545 11546 // VK_KHR_calibrated_timestamps is a preprocessor guard. Do not pass it to API calls. 11547 #define VK_KHR_calibrated_timestamps 1 11548 #define VK_KHR_CALIBRATED_TIMESTAMPS_SPEC_VERSION 1 11549 #define VK_KHR_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_KHR_calibrated_timestamps" 11550 11551 typedef enum VkTimeDomainKHR { 11552 VK_TIME_DOMAIN_DEVICE_KHR = 0, 11553 VK_TIME_DOMAIN_CLOCK_MONOTONIC_KHR = 1, 11554 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_KHR = 2, 11555 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_KHR = 3, 11556 VK_TIME_DOMAIN_DEVICE_EXT = VK_TIME_DOMAIN_DEVICE_KHR, 11557 VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = VK_TIME_DOMAIN_CLOCK_MONOTONIC_KHR, 11558 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_KHR, 11559 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_KHR, 11560 VK_TIME_DOMAIN_MAX_ENUM_KHR = 0x7FFFFFFF 11561 } VkTimeDomainKHR; 11562 typedef struct VkCalibratedTimestampInfoKHR { 11563 VkStructureType sType; 11564 const void* pNext; 11565 VkTimeDomainKHR timeDomain; 11566 } VkCalibratedTimestampInfoKHR; 11567 11568 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsKHR)(VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainKHR* pTimeDomains); 11569 typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsKHR)(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoKHR* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation); 11570 11571 #ifndef VK_NO_PROTOTYPES 11572 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( 11573 VkPhysicalDevice physicalDevice, 11574 uint32_t* pTimeDomainCount, 11575 VkTimeDomainKHR* pTimeDomains); 11576 11577 VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsKHR( 11578 VkDevice device, 11579 uint32_t timestampCount, 11580 const VkCalibratedTimestampInfoKHR* pTimestampInfos, 11581 uint64_t* pTimestamps, 11582 uint64_t* pMaxDeviation); 11583 #endif 11584 11585 11586 // VK_KHR_shader_expect_assume is a preprocessor guard. Do not pass it to API calls. 11587 #define VK_KHR_shader_expect_assume 1 11588 #define VK_KHR_SHADER_EXPECT_ASSUME_SPEC_VERSION 1 11589 #define VK_KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME "VK_KHR_shader_expect_assume" 11590 typedef struct VkPhysicalDeviceShaderExpectAssumeFeaturesKHR { 11591 VkStructureType sType; 11592 void* pNext; 11593 VkBool32 shaderExpectAssume; 11594 } VkPhysicalDeviceShaderExpectAssumeFeaturesKHR; 11595 11596 11597 11598 // VK_KHR_maintenance6 is a preprocessor guard. Do not pass it to API calls. 11599 #define VK_KHR_maintenance6 1 11600 #define VK_KHR_MAINTENANCE_6_SPEC_VERSION 1 11601 #define VK_KHR_MAINTENANCE_6_EXTENSION_NAME "VK_KHR_maintenance6" 11602 typedef struct VkPhysicalDeviceMaintenance6FeaturesKHR { 11603 VkStructureType sType; 11604 void* pNext; 11605 VkBool32 maintenance6; 11606 } VkPhysicalDeviceMaintenance6FeaturesKHR; 11607 11608 typedef struct VkPhysicalDeviceMaintenance6PropertiesKHR { 11609 VkStructureType sType; 11610 void* pNext; 11611 VkBool32 blockTexelViewCompatibleMultipleLayers; 11612 uint32_t maxCombinedImageSamplerDescriptorCount; 11613 VkBool32 fragmentShadingRateClampCombinerInputs; 11614 } VkPhysicalDeviceMaintenance6PropertiesKHR; 11615 11616 typedef struct VkBindMemoryStatusKHR { 11617 VkStructureType sType; 11618 const void* pNext; 11619 VkResult* pResult; 11620 } VkBindMemoryStatusKHR; 11621 11622 typedef struct VkBindDescriptorSetsInfoKHR { 11623 VkStructureType sType; 11624 const void* pNext; 11625 VkShaderStageFlags stageFlags; 11626 VkPipelineLayout layout; 11627 uint32_t firstSet; 11628 uint32_t descriptorSetCount; 11629 const VkDescriptorSet* pDescriptorSets; 11630 uint32_t dynamicOffsetCount; 11631 const uint32_t* pDynamicOffsets; 11632 } VkBindDescriptorSetsInfoKHR; 11633 11634 typedef struct VkPushConstantsInfoKHR { 11635 VkStructureType sType; 11636 const void* pNext; 11637 VkPipelineLayout layout; 11638 VkShaderStageFlags stageFlags; 11639 uint32_t offset; 11640 uint32_t size; 11641 const void* pValues; 11642 } VkPushConstantsInfoKHR; 11643 11644 typedef struct VkPushDescriptorSetInfoKHR { 11645 VkStructureType sType; 11646 const void* pNext; 11647 VkShaderStageFlags stageFlags; 11648 VkPipelineLayout layout; 11649 uint32_t set; 11650 uint32_t descriptorWriteCount; 11651 const VkWriteDescriptorSet* pDescriptorWrites; 11652 } VkPushDescriptorSetInfoKHR; 11653 11654 typedef struct VkPushDescriptorSetWithTemplateInfoKHR { 11655 VkStructureType sType; 11656 const void* pNext; 11657 VkDescriptorUpdateTemplate descriptorUpdateTemplate; 11658 VkPipelineLayout layout; 11659 uint32_t set; 11660 const void* pData; 11661 } VkPushDescriptorSetWithTemplateInfoKHR; 11662 11663 typedef struct VkSetDescriptorBufferOffsetsInfoEXT { 11664 VkStructureType sType; 11665 const void* pNext; 11666 VkShaderStageFlags stageFlags; 11667 VkPipelineLayout layout; 11668 uint32_t firstSet; 11669 uint32_t setCount; 11670 const uint32_t* pBufferIndices; 11671 const VkDeviceSize* pOffsets; 11672 } VkSetDescriptorBufferOffsetsInfoEXT; 11673 11674 typedef struct VkBindDescriptorBufferEmbeddedSamplersInfoEXT { 11675 VkStructureType sType; 11676 const void* pNext; 11677 VkShaderStageFlags stageFlags; 11678 VkPipelineLayout layout; 11679 uint32_t set; 11680 } VkBindDescriptorBufferEmbeddedSamplersInfoEXT; 11681 11682 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets2KHR)(VkCommandBuffer commandBuffer, const VkBindDescriptorSetsInfoKHR* pBindDescriptorSetsInfo); 11683 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants2KHR)(VkCommandBuffer commandBuffer, const VkPushConstantsInfoKHR* pPushConstantsInfo); 11684 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSet2KHR)(VkCommandBuffer commandBuffer, const VkPushDescriptorSetInfoKHR* pPushDescriptorSetInfo); 11685 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplate2KHR)(VkCommandBuffer commandBuffer, const VkPushDescriptorSetWithTemplateInfoKHR* pPushDescriptorSetWithTemplateInfo); 11686 typedef void (VKAPI_PTR *PFN_vkCmdSetDescriptorBufferOffsets2EXT)(VkCommandBuffer commandBuffer, const VkSetDescriptorBufferOffsetsInfoEXT* pSetDescriptorBufferOffsetsInfo); 11687 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT)(VkCommandBuffer commandBuffer, const VkBindDescriptorBufferEmbeddedSamplersInfoEXT* pBindDescriptorBufferEmbeddedSamplersInfo); 11688 11689 #ifndef VK_NO_PROTOTYPES 11690 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets2KHR( 11691 VkCommandBuffer commandBuffer, 11692 const VkBindDescriptorSetsInfoKHR* pBindDescriptorSetsInfo); 11693 11694 VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants2KHR( 11695 VkCommandBuffer commandBuffer, 11696 const VkPushConstantsInfoKHR* pPushConstantsInfo); 11697 11698 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSet2KHR( 11699 VkCommandBuffer commandBuffer, 11700 const VkPushDescriptorSetInfoKHR* pPushDescriptorSetInfo); 11701 11702 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplate2KHR( 11703 VkCommandBuffer commandBuffer, 11704 const VkPushDescriptorSetWithTemplateInfoKHR* pPushDescriptorSetWithTemplateInfo); 11705 11706 VKAPI_ATTR void VKAPI_CALL vkCmdSetDescriptorBufferOffsets2EXT( 11707 VkCommandBuffer commandBuffer, 11708 const VkSetDescriptorBufferOffsetsInfoEXT* pSetDescriptorBufferOffsetsInfo); 11709 11710 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorBufferEmbeddedSamplers2EXT( 11711 VkCommandBuffer commandBuffer, 11712 const VkBindDescriptorBufferEmbeddedSamplersInfoEXT* pBindDescriptorBufferEmbeddedSamplersInfo); 11713 #endif 11714 11715 11716 // VK_EXT_debug_report is a preprocessor guard. Do not pass it to API calls. 11717 #define VK_EXT_debug_report 1 11718 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT) 11719 #define VK_EXT_DEBUG_REPORT_SPEC_VERSION 10 11720 #define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report" 11721 11722 typedef enum VkDebugReportObjectTypeEXT { 11723 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0, 11724 VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1, 11725 VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2, 11726 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3, 11727 VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4, 11728 VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5, 11729 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6, 11730 VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7, 11731 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8, 11732 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9, 11733 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10, 11734 VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11, 11735 VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12, 11736 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13, 11737 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14, 11738 VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15, 11739 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16, 11740 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17, 11741 VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18, 11742 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19, 11743 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20, 11744 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21, 11745 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22, 11746 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23, 11747 VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24, 11748 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25, 11749 VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26, 11750 VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27, 11751 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28, 11752 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29, 11753 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30, 11754 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33, 11755 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000, 11756 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000, 11757 VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT = 1000029000, 11758 VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT = 1000029001, 11759 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT = 1000150000, 11760 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = 1000165000, 11761 VK_DEBUG_REPORT_OBJECT_TYPE_CUDA_MODULE_NV_EXT = 1000307000, 11762 VK_DEBUG_REPORT_OBJECT_TYPE_CUDA_FUNCTION_NV_EXT = 1000307001, 11763 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT = 1000366000, 11764 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT, 11765 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT, 11766 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT, 11767 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT, 11768 VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 11769 } VkDebugReportObjectTypeEXT; 11770 11771 typedef enum VkDebugReportFlagBitsEXT { 11772 VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001, 11773 VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002, 11774 VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004, 11775 VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008, 11776 VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010, 11777 VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 11778 } VkDebugReportFlagBitsEXT; 11779 typedef VkFlags VkDebugReportFlagsEXT; 11780 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)( 11781 VkDebugReportFlagsEXT flags, 11782 VkDebugReportObjectTypeEXT objectType, 11783 uint64_t object, 11784 size_t location, 11785 int32_t messageCode, 11786 const char* pLayerPrefix, 11787 const char* pMessage, 11788 void* pUserData); 11789 11790 typedef struct VkDebugReportCallbackCreateInfoEXT { 11791 VkStructureType sType; 11792 const void* pNext; 11793 VkDebugReportFlagsEXT flags; 11794 PFN_vkDebugReportCallbackEXT pfnCallback; 11795 void* pUserData; 11796 } VkDebugReportCallbackCreateInfoEXT; 11797 11798 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback); 11799 typedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator); 11800 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); 11801 11802 #ifndef VK_NO_PROTOTYPES 11803 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT( 11804 VkInstance instance, 11805 const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, 11806 const VkAllocationCallbacks* pAllocator, 11807 VkDebugReportCallbackEXT* pCallback); 11808 11809 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT( 11810 VkInstance instance, 11811 VkDebugReportCallbackEXT callback, 11812 const VkAllocationCallbacks* pAllocator); 11813 11814 VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT( 11815 VkInstance instance, 11816 VkDebugReportFlagsEXT flags, 11817 VkDebugReportObjectTypeEXT objectType, 11818 uint64_t object, 11819 size_t location, 11820 int32_t messageCode, 11821 const char* pLayerPrefix, 11822 const char* pMessage); 11823 #endif 11824 11825 11826 // VK_NV_glsl_shader is a preprocessor guard. Do not pass it to API calls. 11827 #define VK_NV_glsl_shader 1 11828 #define VK_NV_GLSL_SHADER_SPEC_VERSION 1 11829 #define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader" 11830 11831 11832 // VK_EXT_depth_range_unrestricted is a preprocessor guard. Do not pass it to API calls. 11833 #define VK_EXT_depth_range_unrestricted 1 11834 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1 11835 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted" 11836 11837 11838 // VK_IMG_filter_cubic is a preprocessor guard. Do not pass it to API calls. 11839 #define VK_IMG_filter_cubic 1 11840 #define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1 11841 #define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic" 11842 11843 11844 // VK_AMD_rasterization_order is a preprocessor guard. Do not pass it to API calls. 11845 #define VK_AMD_rasterization_order 1 11846 #define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1 11847 #define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order" 11848 11849 typedef enum VkRasterizationOrderAMD { 11850 VK_RASTERIZATION_ORDER_STRICT_AMD = 0, 11851 VK_RASTERIZATION_ORDER_RELAXED_AMD = 1, 11852 VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF 11853 } VkRasterizationOrderAMD; 11854 typedef struct VkPipelineRasterizationStateRasterizationOrderAMD { 11855 VkStructureType sType; 11856 const void* pNext; 11857 VkRasterizationOrderAMD rasterizationOrder; 11858 } VkPipelineRasterizationStateRasterizationOrderAMD; 11859 11860 11861 11862 // VK_AMD_shader_trinary_minmax is a preprocessor guard. Do not pass it to API calls. 11863 #define VK_AMD_shader_trinary_minmax 1 11864 #define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1 11865 #define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax" 11866 11867 11868 // VK_AMD_shader_explicit_vertex_parameter is a preprocessor guard. Do not pass it to API calls. 11869 #define VK_AMD_shader_explicit_vertex_parameter 1 11870 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1 11871 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter" 11872 11873 11874 // VK_EXT_debug_marker is a preprocessor guard. Do not pass it to API calls. 11875 #define VK_EXT_debug_marker 1 11876 #define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4 11877 #define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker" 11878 typedef struct VkDebugMarkerObjectNameInfoEXT { 11879 VkStructureType sType; 11880 const void* pNext; 11881 VkDebugReportObjectTypeEXT objectType; 11882 uint64_t object; 11883 const char* pObjectName; 11884 } VkDebugMarkerObjectNameInfoEXT; 11885 11886 typedef struct VkDebugMarkerObjectTagInfoEXT { 11887 VkStructureType sType; 11888 const void* pNext; 11889 VkDebugReportObjectTypeEXT objectType; 11890 uint64_t object; 11891 uint64_t tagName; 11892 size_t tagSize; 11893 const void* pTag; 11894 } VkDebugMarkerObjectTagInfoEXT; 11895 11896 typedef struct VkDebugMarkerMarkerInfoEXT { 11897 VkStructureType sType; 11898 const void* pNext; 11899 const char* pMarkerName; 11900 float color[4]; 11901 } VkDebugMarkerMarkerInfoEXT; 11902 11903 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo); 11904 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo); 11905 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 11906 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer); 11907 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 11908 11909 #ifndef VK_NO_PROTOTYPES 11910 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT( 11911 VkDevice device, 11912 const VkDebugMarkerObjectTagInfoEXT* pTagInfo); 11913 11914 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT( 11915 VkDevice device, 11916 const VkDebugMarkerObjectNameInfoEXT* pNameInfo); 11917 11918 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT( 11919 VkCommandBuffer commandBuffer, 11920 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 11921 11922 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT( 11923 VkCommandBuffer commandBuffer); 11924 11925 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT( 11926 VkCommandBuffer commandBuffer, 11927 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 11928 #endif 11929 11930 11931 // VK_AMD_gcn_shader is a preprocessor guard. Do not pass it to API calls. 11932 #define VK_AMD_gcn_shader 1 11933 #define VK_AMD_GCN_SHADER_SPEC_VERSION 1 11934 #define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader" 11935 11936 11937 // VK_NV_dedicated_allocation is a preprocessor guard. Do not pass it to API calls. 11938 #define VK_NV_dedicated_allocation 1 11939 #define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1 11940 #define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation" 11941 typedef struct VkDedicatedAllocationImageCreateInfoNV { 11942 VkStructureType sType; 11943 const void* pNext; 11944 VkBool32 dedicatedAllocation; 11945 } VkDedicatedAllocationImageCreateInfoNV; 11946 11947 typedef struct VkDedicatedAllocationBufferCreateInfoNV { 11948 VkStructureType sType; 11949 const void* pNext; 11950 VkBool32 dedicatedAllocation; 11951 } VkDedicatedAllocationBufferCreateInfoNV; 11952 11953 typedef struct VkDedicatedAllocationMemoryAllocateInfoNV { 11954 VkStructureType sType; 11955 const void* pNext; 11956 VkImage image; 11957 VkBuffer buffer; 11958 } VkDedicatedAllocationMemoryAllocateInfoNV; 11959 11960 11961 11962 // VK_EXT_transform_feedback is a preprocessor guard. Do not pass it to API calls. 11963 #define VK_EXT_transform_feedback 1 11964 #define VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION 1 11965 #define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback" 11966 typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT; 11967 typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT { 11968 VkStructureType sType; 11969 void* pNext; 11970 VkBool32 transformFeedback; 11971 VkBool32 geometryStreams; 11972 } VkPhysicalDeviceTransformFeedbackFeaturesEXT; 11973 11974 typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT { 11975 VkStructureType sType; 11976 void* pNext; 11977 uint32_t maxTransformFeedbackStreams; 11978 uint32_t maxTransformFeedbackBuffers; 11979 VkDeviceSize maxTransformFeedbackBufferSize; 11980 uint32_t maxTransformFeedbackStreamDataSize; 11981 uint32_t maxTransformFeedbackBufferDataSize; 11982 uint32_t maxTransformFeedbackBufferDataStride; 11983 VkBool32 transformFeedbackQueries; 11984 VkBool32 transformFeedbackStreamsLinesTriangles; 11985 VkBool32 transformFeedbackRasterizationStreamSelect; 11986 VkBool32 transformFeedbackDraw; 11987 } VkPhysicalDeviceTransformFeedbackPropertiesEXT; 11988 11989 typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT { 11990 VkStructureType sType; 11991 const void* pNext; 11992 VkPipelineRasterizationStateStreamCreateFlagsEXT flags; 11993 uint32_t rasterizationStream; 11994 } VkPipelineRasterizationStateStreamCreateInfoEXT; 11995 11996 typedef void (VKAPI_PTR *PFN_vkCmdBindTransformFeedbackBuffersEXT)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes); 11997 typedef void (VKAPI_PTR *PFN_vkCmdBeginTransformFeedbackEXT)(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets); 11998 typedef void (VKAPI_PTR *PFN_vkCmdEndTransformFeedbackEXT)(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets); 11999 typedef void (VKAPI_PTR *PFN_vkCmdBeginQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index); 12000 typedef void (VKAPI_PTR *PFN_vkCmdEndQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index); 12001 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectByteCountEXT)(VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride); 12002 12003 #ifndef VK_NO_PROTOTYPES 12004 VKAPI_ATTR void VKAPI_CALL vkCmdBindTransformFeedbackBuffersEXT( 12005 VkCommandBuffer commandBuffer, 12006 uint32_t firstBinding, 12007 uint32_t bindingCount, 12008 const VkBuffer* pBuffers, 12009 const VkDeviceSize* pOffsets, 12010 const VkDeviceSize* pSizes); 12011 12012 VKAPI_ATTR void VKAPI_CALL vkCmdBeginTransformFeedbackEXT( 12013 VkCommandBuffer commandBuffer, 12014 uint32_t firstCounterBuffer, 12015 uint32_t counterBufferCount, 12016 const VkBuffer* pCounterBuffers, 12017 const VkDeviceSize* pCounterBufferOffsets); 12018 12019 VKAPI_ATTR void VKAPI_CALL vkCmdEndTransformFeedbackEXT( 12020 VkCommandBuffer commandBuffer, 12021 uint32_t firstCounterBuffer, 12022 uint32_t counterBufferCount, 12023 const VkBuffer* pCounterBuffers, 12024 const VkDeviceSize* pCounterBufferOffsets); 12025 12026 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQueryIndexedEXT( 12027 VkCommandBuffer commandBuffer, 12028 VkQueryPool queryPool, 12029 uint32_t query, 12030 VkQueryControlFlags flags, 12031 uint32_t index); 12032 12033 VKAPI_ATTR void VKAPI_CALL vkCmdEndQueryIndexedEXT( 12034 VkCommandBuffer commandBuffer, 12035 VkQueryPool queryPool, 12036 uint32_t query, 12037 uint32_t index); 12038 12039 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectByteCountEXT( 12040 VkCommandBuffer commandBuffer, 12041 uint32_t instanceCount, 12042 uint32_t firstInstance, 12043 VkBuffer counterBuffer, 12044 VkDeviceSize counterBufferOffset, 12045 uint32_t counterOffset, 12046 uint32_t vertexStride); 12047 #endif 12048 12049 12050 // VK_NVX_binary_import is a preprocessor guard. Do not pass it to API calls. 12051 #define VK_NVX_binary_import 1 12052 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuModuleNVX) 12053 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuFunctionNVX) 12054 #define VK_NVX_BINARY_IMPORT_SPEC_VERSION 1 12055 #define VK_NVX_BINARY_IMPORT_EXTENSION_NAME "VK_NVX_binary_import" 12056 typedef struct VkCuModuleCreateInfoNVX { 12057 VkStructureType sType; 12058 const void* pNext; 12059 size_t dataSize; 12060 const void* pData; 12061 } VkCuModuleCreateInfoNVX; 12062 12063 typedef struct VkCuFunctionCreateInfoNVX { 12064 VkStructureType sType; 12065 const void* pNext; 12066 VkCuModuleNVX module; 12067 const char* pName; 12068 } VkCuFunctionCreateInfoNVX; 12069 12070 typedef struct VkCuLaunchInfoNVX { 12071 VkStructureType sType; 12072 const void* pNext; 12073 VkCuFunctionNVX function; 12074 uint32_t gridDimX; 12075 uint32_t gridDimY; 12076 uint32_t gridDimZ; 12077 uint32_t blockDimX; 12078 uint32_t blockDimY; 12079 uint32_t blockDimZ; 12080 uint32_t sharedMemBytes; 12081 size_t paramCount; 12082 const void* const * pParams; 12083 size_t extraCount; 12084 const void* const * pExtras; 12085 } VkCuLaunchInfoNVX; 12086 12087 typedef VkResult (VKAPI_PTR *PFN_vkCreateCuModuleNVX)(VkDevice device, const VkCuModuleCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuModuleNVX* pModule); 12088 typedef VkResult (VKAPI_PTR *PFN_vkCreateCuFunctionNVX)(VkDevice device, const VkCuFunctionCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuFunctionNVX* pFunction); 12089 typedef void (VKAPI_PTR *PFN_vkDestroyCuModuleNVX)(VkDevice device, VkCuModuleNVX module, const VkAllocationCallbacks* pAllocator); 12090 typedef void (VKAPI_PTR *PFN_vkDestroyCuFunctionNVX)(VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks* pAllocator); 12091 typedef void (VKAPI_PTR *PFN_vkCmdCuLaunchKernelNVX)(VkCommandBuffer commandBuffer, const VkCuLaunchInfoNVX* pLaunchInfo); 12092 12093 #ifndef VK_NO_PROTOTYPES 12094 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuModuleNVX( 12095 VkDevice device, 12096 const VkCuModuleCreateInfoNVX* pCreateInfo, 12097 const VkAllocationCallbacks* pAllocator, 12098 VkCuModuleNVX* pModule); 12099 12100 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuFunctionNVX( 12101 VkDevice device, 12102 const VkCuFunctionCreateInfoNVX* pCreateInfo, 12103 const VkAllocationCallbacks* pAllocator, 12104 VkCuFunctionNVX* pFunction); 12105 12106 VKAPI_ATTR void VKAPI_CALL vkDestroyCuModuleNVX( 12107 VkDevice device, 12108 VkCuModuleNVX module, 12109 const VkAllocationCallbacks* pAllocator); 12110 12111 VKAPI_ATTR void VKAPI_CALL vkDestroyCuFunctionNVX( 12112 VkDevice device, 12113 VkCuFunctionNVX function, 12114 const VkAllocationCallbacks* pAllocator); 12115 12116 VKAPI_ATTR void VKAPI_CALL vkCmdCuLaunchKernelNVX( 12117 VkCommandBuffer commandBuffer, 12118 const VkCuLaunchInfoNVX* pLaunchInfo); 12119 #endif 12120 12121 12122 // VK_NVX_image_view_handle is a preprocessor guard. Do not pass it to API calls. 12123 #define VK_NVX_image_view_handle 1 12124 #define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 2 12125 #define VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME "VK_NVX_image_view_handle" 12126 typedef struct VkImageViewHandleInfoNVX { 12127 VkStructureType sType; 12128 const void* pNext; 12129 VkImageView imageView; 12130 VkDescriptorType descriptorType; 12131 VkSampler sampler; 12132 } VkImageViewHandleInfoNVX; 12133 12134 typedef struct VkImageViewAddressPropertiesNVX { 12135 VkStructureType sType; 12136 void* pNext; 12137 VkDeviceAddress deviceAddress; 12138 VkDeviceSize size; 12139 } VkImageViewAddressPropertiesNVX; 12140 12141 typedef uint32_t (VKAPI_PTR *PFN_vkGetImageViewHandleNVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo); 12142 typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewAddressNVX)(VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties); 12143 12144 #ifndef VK_NO_PROTOTYPES 12145 VKAPI_ATTR uint32_t VKAPI_CALL vkGetImageViewHandleNVX( 12146 VkDevice device, 12147 const VkImageViewHandleInfoNVX* pInfo); 12148 12149 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewAddressNVX( 12150 VkDevice device, 12151 VkImageView imageView, 12152 VkImageViewAddressPropertiesNVX* pProperties); 12153 #endif 12154 12155 12156 // VK_AMD_draw_indirect_count is a preprocessor guard. Do not pass it to API calls. 12157 #define VK_AMD_draw_indirect_count 1 12158 #define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 2 12159 #define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count" 12160 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 12161 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 12162 12163 #ifndef VK_NO_PROTOTYPES 12164 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD( 12165 VkCommandBuffer commandBuffer, 12166 VkBuffer buffer, 12167 VkDeviceSize offset, 12168 VkBuffer countBuffer, 12169 VkDeviceSize countBufferOffset, 12170 uint32_t maxDrawCount, 12171 uint32_t stride); 12172 12173 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD( 12174 VkCommandBuffer commandBuffer, 12175 VkBuffer buffer, 12176 VkDeviceSize offset, 12177 VkBuffer countBuffer, 12178 VkDeviceSize countBufferOffset, 12179 uint32_t maxDrawCount, 12180 uint32_t stride); 12181 #endif 12182 12183 12184 // VK_AMD_negative_viewport_height is a preprocessor guard. Do not pass it to API calls. 12185 #define VK_AMD_negative_viewport_height 1 12186 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1 12187 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height" 12188 12189 12190 // VK_AMD_gpu_shader_half_float is a preprocessor guard. Do not pass it to API calls. 12191 #define VK_AMD_gpu_shader_half_float 1 12192 #define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 2 12193 #define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float" 12194 12195 12196 // VK_AMD_shader_ballot is a preprocessor guard. Do not pass it to API calls. 12197 #define VK_AMD_shader_ballot 1 12198 #define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1 12199 #define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot" 12200 12201 12202 // VK_AMD_texture_gather_bias_lod is a preprocessor guard. Do not pass it to API calls. 12203 #define VK_AMD_texture_gather_bias_lod 1 12204 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1 12205 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod" 12206 typedef struct VkTextureLODGatherFormatPropertiesAMD { 12207 VkStructureType sType; 12208 void* pNext; 12209 VkBool32 supportsTextureGatherLODBiasAMD; 12210 } VkTextureLODGatherFormatPropertiesAMD; 12211 12212 12213 12214 // VK_AMD_shader_info is a preprocessor guard. Do not pass it to API calls. 12215 #define VK_AMD_shader_info 1 12216 #define VK_AMD_SHADER_INFO_SPEC_VERSION 1 12217 #define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info" 12218 12219 typedef enum VkShaderInfoTypeAMD { 12220 VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0, 12221 VK_SHADER_INFO_TYPE_BINARY_AMD = 1, 12222 VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2, 12223 VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF 12224 } VkShaderInfoTypeAMD; 12225 typedef struct VkShaderResourceUsageAMD { 12226 uint32_t numUsedVgprs; 12227 uint32_t numUsedSgprs; 12228 uint32_t ldsSizePerLocalWorkGroup; 12229 size_t ldsUsageSizeInBytes; 12230 size_t scratchMemUsageInBytes; 12231 } VkShaderResourceUsageAMD; 12232 12233 typedef struct VkShaderStatisticsInfoAMD { 12234 VkShaderStageFlags shaderStageMask; 12235 VkShaderResourceUsageAMD resourceUsage; 12236 uint32_t numPhysicalVgprs; 12237 uint32_t numPhysicalSgprs; 12238 uint32_t numAvailableVgprs; 12239 uint32_t numAvailableSgprs; 12240 uint32_t computeWorkGroupSize[3]; 12241 } VkShaderStatisticsInfoAMD; 12242 12243 typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t* pInfoSize, void* pInfo); 12244 12245 #ifndef VK_NO_PROTOTYPES 12246 VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderInfoAMD( 12247 VkDevice device, 12248 VkPipeline pipeline, 12249 VkShaderStageFlagBits shaderStage, 12250 VkShaderInfoTypeAMD infoType, 12251 size_t* pInfoSize, 12252 void* pInfo); 12253 #endif 12254 12255 12256 // VK_AMD_shader_image_load_store_lod is a preprocessor guard. Do not pass it to API calls. 12257 #define VK_AMD_shader_image_load_store_lod 1 12258 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1 12259 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod" 12260 12261 12262 // VK_NV_corner_sampled_image is a preprocessor guard. Do not pass it to API calls. 12263 #define VK_NV_corner_sampled_image 1 12264 #define VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION 2 12265 #define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image" 12266 typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV { 12267 VkStructureType sType; 12268 void* pNext; 12269 VkBool32 cornerSampledImage; 12270 } VkPhysicalDeviceCornerSampledImageFeaturesNV; 12271 12272 12273 12274 // VK_IMG_format_pvrtc is a preprocessor guard. Do not pass it to API calls. 12275 #define VK_IMG_format_pvrtc 1 12276 #define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1 12277 #define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc" 12278 12279 12280 // VK_NV_external_memory_capabilities is a preprocessor guard. Do not pass it to API calls. 12281 #define VK_NV_external_memory_capabilities 1 12282 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1 12283 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities" 12284 12285 typedef enum VkExternalMemoryHandleTypeFlagBitsNV { 12286 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001, 12287 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002, 12288 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004, 12289 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008, 12290 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 12291 } VkExternalMemoryHandleTypeFlagBitsNV; 12292 typedef VkFlags VkExternalMemoryHandleTypeFlagsNV; 12293 12294 typedef enum VkExternalMemoryFeatureFlagBitsNV { 12295 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001, 12296 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002, 12297 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004, 12298 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 12299 } VkExternalMemoryFeatureFlagBitsNV; 12300 typedef VkFlags VkExternalMemoryFeatureFlagsNV; 12301 typedef struct VkExternalImageFormatPropertiesNV { 12302 VkImageFormatProperties imageFormatProperties; 12303 VkExternalMemoryFeatureFlagsNV externalMemoryFeatures; 12304 VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes; 12305 VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes; 12306 } VkExternalImageFormatPropertiesNV; 12307 12308 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties); 12309 12310 #ifndef VK_NO_PROTOTYPES 12311 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV( 12312 VkPhysicalDevice physicalDevice, 12313 VkFormat format, 12314 VkImageType type, 12315 VkImageTiling tiling, 12316 VkImageUsageFlags usage, 12317 VkImageCreateFlags flags, 12318 VkExternalMemoryHandleTypeFlagsNV externalHandleType, 12319 VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties); 12320 #endif 12321 12322 12323 // VK_NV_external_memory is a preprocessor guard. Do not pass it to API calls. 12324 #define VK_NV_external_memory 1 12325 #define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1 12326 #define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory" 12327 typedef struct VkExternalMemoryImageCreateInfoNV { 12328 VkStructureType sType; 12329 const void* pNext; 12330 VkExternalMemoryHandleTypeFlagsNV handleTypes; 12331 } VkExternalMemoryImageCreateInfoNV; 12332 12333 typedef struct VkExportMemoryAllocateInfoNV { 12334 VkStructureType sType; 12335 const void* pNext; 12336 VkExternalMemoryHandleTypeFlagsNV handleTypes; 12337 } VkExportMemoryAllocateInfoNV; 12338 12339 12340 12341 // VK_EXT_validation_flags is a preprocessor guard. Do not pass it to API calls. 12342 #define VK_EXT_validation_flags 1 12343 #define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 3 12344 #define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags" 12345 12346 typedef enum VkValidationCheckEXT { 12347 VK_VALIDATION_CHECK_ALL_EXT = 0, 12348 VK_VALIDATION_CHECK_SHADERS_EXT = 1, 12349 VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF 12350 } VkValidationCheckEXT; 12351 typedef struct VkValidationFlagsEXT { 12352 VkStructureType sType; 12353 const void* pNext; 12354 uint32_t disabledValidationCheckCount; 12355 const VkValidationCheckEXT* pDisabledValidationChecks; 12356 } VkValidationFlagsEXT; 12357 12358 12359 12360 // VK_EXT_shader_subgroup_ballot is a preprocessor guard. Do not pass it to API calls. 12361 #define VK_EXT_shader_subgroup_ballot 1 12362 #define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1 12363 #define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot" 12364 12365 12366 // VK_EXT_shader_subgroup_vote is a preprocessor guard. Do not pass it to API calls. 12367 #define VK_EXT_shader_subgroup_vote 1 12368 #define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1 12369 #define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote" 12370 12371 12372 // VK_EXT_texture_compression_astc_hdr is a preprocessor guard. Do not pass it to API calls. 12373 #define VK_EXT_texture_compression_astc_hdr 1 12374 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1 12375 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr" 12376 typedef VkPhysicalDeviceTextureCompressionASTCHDRFeatures VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT; 12377 12378 12379 12380 // VK_EXT_astc_decode_mode is a preprocessor guard. Do not pass it to API calls. 12381 #define VK_EXT_astc_decode_mode 1 12382 #define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1 12383 #define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode" 12384 typedef struct VkImageViewASTCDecodeModeEXT { 12385 VkStructureType sType; 12386 const void* pNext; 12387 VkFormat decodeMode; 12388 } VkImageViewASTCDecodeModeEXT; 12389 12390 typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT { 12391 VkStructureType sType; 12392 void* pNext; 12393 VkBool32 decodeModeSharedExponent; 12394 } VkPhysicalDeviceASTCDecodeFeaturesEXT; 12395 12396 12397 12398 // VK_EXT_pipeline_robustness is a preprocessor guard. Do not pass it to API calls. 12399 #define VK_EXT_pipeline_robustness 1 12400 #define VK_EXT_PIPELINE_ROBUSTNESS_SPEC_VERSION 1 12401 #define VK_EXT_PIPELINE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_pipeline_robustness" 12402 12403 typedef enum VkPipelineRobustnessBufferBehaviorEXT { 12404 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT_EXT = 0, 12405 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED_EXT = 1, 12406 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT = 2, 12407 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT = 3, 12408 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_MAX_ENUM_EXT = 0x7FFFFFFF 12409 } VkPipelineRobustnessBufferBehaviorEXT; 12410 12411 typedef enum VkPipelineRobustnessImageBehaviorEXT { 12412 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DEVICE_DEFAULT_EXT = 0, 12413 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DISABLED_EXT = 1, 12414 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_EXT = 2, 12415 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_2_EXT = 3, 12416 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_MAX_ENUM_EXT = 0x7FFFFFFF 12417 } VkPipelineRobustnessImageBehaviorEXT; 12418 typedef struct VkPhysicalDevicePipelineRobustnessFeaturesEXT { 12419 VkStructureType sType; 12420 void* pNext; 12421 VkBool32 pipelineRobustness; 12422 } VkPhysicalDevicePipelineRobustnessFeaturesEXT; 12423 12424 typedef struct VkPhysicalDevicePipelineRobustnessPropertiesEXT { 12425 VkStructureType sType; 12426 void* pNext; 12427 VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessStorageBuffers; 12428 VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessUniformBuffers; 12429 VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessVertexInputs; 12430 VkPipelineRobustnessImageBehaviorEXT defaultRobustnessImages; 12431 } VkPhysicalDevicePipelineRobustnessPropertiesEXT; 12432 12433 typedef struct VkPipelineRobustnessCreateInfoEXT { 12434 VkStructureType sType; 12435 const void* pNext; 12436 VkPipelineRobustnessBufferBehaviorEXT storageBuffers; 12437 VkPipelineRobustnessBufferBehaviorEXT uniformBuffers; 12438 VkPipelineRobustnessBufferBehaviorEXT vertexInputs; 12439 VkPipelineRobustnessImageBehaviorEXT images; 12440 } VkPipelineRobustnessCreateInfoEXT; 12441 12442 12443 12444 // VK_EXT_conditional_rendering is a preprocessor guard. Do not pass it to API calls. 12445 #define VK_EXT_conditional_rendering 1 12446 #define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 2 12447 #define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering" 12448 12449 typedef enum VkConditionalRenderingFlagBitsEXT { 12450 VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 0x00000001, 12451 VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 12452 } VkConditionalRenderingFlagBitsEXT; 12453 typedef VkFlags VkConditionalRenderingFlagsEXT; 12454 typedef struct VkConditionalRenderingBeginInfoEXT { 12455 VkStructureType sType; 12456 const void* pNext; 12457 VkBuffer buffer; 12458 VkDeviceSize offset; 12459 VkConditionalRenderingFlagsEXT flags; 12460 } VkConditionalRenderingBeginInfoEXT; 12461 12462 typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT { 12463 VkStructureType sType; 12464 void* pNext; 12465 VkBool32 conditionalRendering; 12466 VkBool32 inheritedConditionalRendering; 12467 } VkPhysicalDeviceConditionalRenderingFeaturesEXT; 12468 12469 typedef struct VkCommandBufferInheritanceConditionalRenderingInfoEXT { 12470 VkStructureType sType; 12471 const void* pNext; 12472 VkBool32 conditionalRenderingEnable; 12473 } VkCommandBufferInheritanceConditionalRenderingInfoEXT; 12474 12475 typedef void (VKAPI_PTR *PFN_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin); 12476 typedef void (VKAPI_PTR *PFN_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer commandBuffer); 12477 12478 #ifndef VK_NO_PROTOTYPES 12479 VKAPI_ATTR void VKAPI_CALL vkCmdBeginConditionalRenderingEXT( 12480 VkCommandBuffer commandBuffer, 12481 const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin); 12482 12483 VKAPI_ATTR void VKAPI_CALL vkCmdEndConditionalRenderingEXT( 12484 VkCommandBuffer commandBuffer); 12485 #endif 12486 12487 12488 // VK_NV_clip_space_w_scaling is a preprocessor guard. Do not pass it to API calls. 12489 #define VK_NV_clip_space_w_scaling 1 12490 #define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1 12491 #define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling" 12492 typedef struct VkViewportWScalingNV { 12493 float xcoeff; 12494 float ycoeff; 12495 } VkViewportWScalingNV; 12496 12497 typedef struct VkPipelineViewportWScalingStateCreateInfoNV { 12498 VkStructureType sType; 12499 const void* pNext; 12500 VkBool32 viewportWScalingEnable; 12501 uint32_t viewportCount; 12502 const VkViewportWScalingNV* pViewportWScalings; 12503 } VkPipelineViewportWScalingStateCreateInfoNV; 12504 12505 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportWScalingNV* pViewportWScalings); 12506 12507 #ifndef VK_NO_PROTOTYPES 12508 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingNV( 12509 VkCommandBuffer commandBuffer, 12510 uint32_t firstViewport, 12511 uint32_t viewportCount, 12512 const VkViewportWScalingNV* pViewportWScalings); 12513 #endif 12514 12515 12516 // VK_EXT_direct_mode_display is a preprocessor guard. Do not pass it to API calls. 12517 #define VK_EXT_direct_mode_display 1 12518 #define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1 12519 #define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display" 12520 typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display); 12521 12522 #ifndef VK_NO_PROTOTYPES 12523 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT( 12524 VkPhysicalDevice physicalDevice, 12525 VkDisplayKHR display); 12526 #endif 12527 12528 12529 // VK_EXT_display_surface_counter is a preprocessor guard. Do not pass it to API calls. 12530 #define VK_EXT_display_surface_counter 1 12531 #define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1 12532 #define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter" 12533 12534 typedef enum VkSurfaceCounterFlagBitsEXT { 12535 VK_SURFACE_COUNTER_VBLANK_BIT_EXT = 0x00000001, 12536 VK_SURFACE_COUNTER_VBLANK_EXT = VK_SURFACE_COUNTER_VBLANK_BIT_EXT, 12537 VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 12538 } VkSurfaceCounterFlagBitsEXT; 12539 typedef VkFlags VkSurfaceCounterFlagsEXT; 12540 typedef struct VkSurfaceCapabilities2EXT { 12541 VkStructureType sType; 12542 void* pNext; 12543 uint32_t minImageCount; 12544 uint32_t maxImageCount; 12545 VkExtent2D currentExtent; 12546 VkExtent2D minImageExtent; 12547 VkExtent2D maxImageExtent; 12548 uint32_t maxImageArrayLayers; 12549 VkSurfaceTransformFlagsKHR supportedTransforms; 12550 VkSurfaceTransformFlagBitsKHR currentTransform; 12551 VkCompositeAlphaFlagsKHR supportedCompositeAlpha; 12552 VkImageUsageFlags supportedUsageFlags; 12553 VkSurfaceCounterFlagsEXT supportedSurfaceCounters; 12554 } VkSurfaceCapabilities2EXT; 12555 12556 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities); 12557 12558 #ifndef VK_NO_PROTOTYPES 12559 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT( 12560 VkPhysicalDevice physicalDevice, 12561 VkSurfaceKHR surface, 12562 VkSurfaceCapabilities2EXT* pSurfaceCapabilities); 12563 #endif 12564 12565 12566 // VK_EXT_display_control is a preprocessor guard. Do not pass it to API calls. 12567 #define VK_EXT_display_control 1 12568 #define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1 12569 #define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control" 12570 12571 typedef enum VkDisplayPowerStateEXT { 12572 VK_DISPLAY_POWER_STATE_OFF_EXT = 0, 12573 VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1, 12574 VK_DISPLAY_POWER_STATE_ON_EXT = 2, 12575 VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF 12576 } VkDisplayPowerStateEXT; 12577 12578 typedef enum VkDeviceEventTypeEXT { 12579 VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0, 12580 VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 12581 } VkDeviceEventTypeEXT; 12582 12583 typedef enum VkDisplayEventTypeEXT { 12584 VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0, 12585 VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 12586 } VkDisplayEventTypeEXT; 12587 typedef struct VkDisplayPowerInfoEXT { 12588 VkStructureType sType; 12589 const void* pNext; 12590 VkDisplayPowerStateEXT powerState; 12591 } VkDisplayPowerInfoEXT; 12592 12593 typedef struct VkDeviceEventInfoEXT { 12594 VkStructureType sType; 12595 const void* pNext; 12596 VkDeviceEventTypeEXT deviceEvent; 12597 } VkDeviceEventInfoEXT; 12598 12599 typedef struct VkDisplayEventInfoEXT { 12600 VkStructureType sType; 12601 const void* pNext; 12602 VkDisplayEventTypeEXT displayEvent; 12603 } VkDisplayEventInfoEXT; 12604 12605 typedef struct VkSwapchainCounterCreateInfoEXT { 12606 VkStructureType sType; 12607 const void* pNext; 12608 VkSurfaceCounterFlagsEXT surfaceCounters; 12609 } VkSwapchainCounterCreateInfoEXT; 12610 12611 typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo); 12612 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); 12613 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); 12614 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue); 12615 12616 #ifndef VK_NO_PROTOTYPES 12617 VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT( 12618 VkDevice device, 12619 VkDisplayKHR display, 12620 const VkDisplayPowerInfoEXT* pDisplayPowerInfo); 12621 12622 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT( 12623 VkDevice device, 12624 const VkDeviceEventInfoEXT* pDeviceEventInfo, 12625 const VkAllocationCallbacks* pAllocator, 12626 VkFence* pFence); 12627 12628 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT( 12629 VkDevice device, 12630 VkDisplayKHR display, 12631 const VkDisplayEventInfoEXT* pDisplayEventInfo, 12632 const VkAllocationCallbacks* pAllocator, 12633 VkFence* pFence); 12634 12635 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT( 12636 VkDevice device, 12637 VkSwapchainKHR swapchain, 12638 VkSurfaceCounterFlagBitsEXT counter, 12639 uint64_t* pCounterValue); 12640 #endif 12641 12642 12643 // VK_GOOGLE_display_timing is a preprocessor guard. Do not pass it to API calls. 12644 #define VK_GOOGLE_display_timing 1 12645 #define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1 12646 #define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing" 12647 typedef struct VkRefreshCycleDurationGOOGLE { 12648 uint64_t refreshDuration; 12649 } VkRefreshCycleDurationGOOGLE; 12650 12651 typedef struct VkPastPresentationTimingGOOGLE { 12652 uint32_t presentID; 12653 uint64_t desiredPresentTime; 12654 uint64_t actualPresentTime; 12655 uint64_t earliestPresentTime; 12656 uint64_t presentMargin; 12657 } VkPastPresentationTimingGOOGLE; 12658 12659 typedef struct VkPresentTimeGOOGLE { 12660 uint32_t presentID; 12661 uint64_t desiredPresentTime; 12662 } VkPresentTimeGOOGLE; 12663 12664 typedef struct VkPresentTimesInfoGOOGLE { 12665 VkStructureType sType; 12666 const void* pNext; 12667 uint32_t swapchainCount; 12668 const VkPresentTimeGOOGLE* pTimes; 12669 } VkPresentTimesInfoGOOGLE; 12670 12671 typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties); 12672 typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings); 12673 12674 #ifndef VK_NO_PROTOTYPES 12675 VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE( 12676 VkDevice device, 12677 VkSwapchainKHR swapchain, 12678 VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties); 12679 12680 VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE( 12681 VkDevice device, 12682 VkSwapchainKHR swapchain, 12683 uint32_t* pPresentationTimingCount, 12684 VkPastPresentationTimingGOOGLE* pPresentationTimings); 12685 #endif 12686 12687 12688 // VK_NV_sample_mask_override_coverage is a preprocessor guard. Do not pass it to API calls. 12689 #define VK_NV_sample_mask_override_coverage 1 12690 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1 12691 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage" 12692 12693 12694 // VK_NV_geometry_shader_passthrough is a preprocessor guard. Do not pass it to API calls. 12695 #define VK_NV_geometry_shader_passthrough 1 12696 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1 12697 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough" 12698 12699 12700 // VK_NV_viewport_array2 is a preprocessor guard. Do not pass it to API calls. 12701 #define VK_NV_viewport_array2 1 12702 #define VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION 1 12703 #define VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME "VK_NV_viewport_array2" 12704 #define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION 12705 #define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME 12706 12707 12708 // VK_NVX_multiview_per_view_attributes is a preprocessor guard. Do not pass it to API calls. 12709 #define VK_NVX_multiview_per_view_attributes 1 12710 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1 12711 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes" 12712 typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX { 12713 VkStructureType sType; 12714 void* pNext; 12715 VkBool32 perViewPositionAllComponents; 12716 } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX; 12717 12718 12719 12720 // VK_NV_viewport_swizzle is a preprocessor guard. Do not pass it to API calls. 12721 #define VK_NV_viewport_swizzle 1 12722 #define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1 12723 #define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle" 12724 12725 typedef enum VkViewportCoordinateSwizzleNV { 12726 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0, 12727 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1, 12728 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2, 12729 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3, 12730 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4, 12731 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5, 12732 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6, 12733 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7, 12734 VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF 12735 } VkViewportCoordinateSwizzleNV; 12736 typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV; 12737 typedef struct VkViewportSwizzleNV { 12738 VkViewportCoordinateSwizzleNV x; 12739 VkViewportCoordinateSwizzleNV y; 12740 VkViewportCoordinateSwizzleNV z; 12741 VkViewportCoordinateSwizzleNV w; 12742 } VkViewportSwizzleNV; 12743 12744 typedef struct VkPipelineViewportSwizzleStateCreateInfoNV { 12745 VkStructureType sType; 12746 const void* pNext; 12747 VkPipelineViewportSwizzleStateCreateFlagsNV flags; 12748 uint32_t viewportCount; 12749 const VkViewportSwizzleNV* pViewportSwizzles; 12750 } VkPipelineViewportSwizzleStateCreateInfoNV; 12751 12752 12753 12754 // VK_EXT_discard_rectangles is a preprocessor guard. Do not pass it to API calls. 12755 #define VK_EXT_discard_rectangles 1 12756 #define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 2 12757 #define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles" 12758 12759 typedef enum VkDiscardRectangleModeEXT { 12760 VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0, 12761 VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1, 12762 VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 12763 } VkDiscardRectangleModeEXT; 12764 typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT; 12765 typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT { 12766 VkStructureType sType; 12767 void* pNext; 12768 uint32_t maxDiscardRectangles; 12769 } VkPhysicalDeviceDiscardRectanglePropertiesEXT; 12770 12771 typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT { 12772 VkStructureType sType; 12773 const void* pNext; 12774 VkPipelineDiscardRectangleStateCreateFlagsEXT flags; 12775 VkDiscardRectangleModeEXT discardRectangleMode; 12776 uint32_t discardRectangleCount; 12777 const VkRect2D* pDiscardRectangles; 12778 } VkPipelineDiscardRectangleStateCreateInfoEXT; 12779 12780 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D* pDiscardRectangles); 12781 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 discardRectangleEnable); 12782 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleModeEXT)(VkCommandBuffer commandBuffer, VkDiscardRectangleModeEXT discardRectangleMode); 12783 12784 #ifndef VK_NO_PROTOTYPES 12785 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT( 12786 VkCommandBuffer commandBuffer, 12787 uint32_t firstDiscardRectangle, 12788 uint32_t discardRectangleCount, 12789 const VkRect2D* pDiscardRectangles); 12790 12791 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEnableEXT( 12792 VkCommandBuffer commandBuffer, 12793 VkBool32 discardRectangleEnable); 12794 12795 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleModeEXT( 12796 VkCommandBuffer commandBuffer, 12797 VkDiscardRectangleModeEXT discardRectangleMode); 12798 #endif 12799 12800 12801 // VK_EXT_conservative_rasterization is a preprocessor guard. Do not pass it to API calls. 12802 #define VK_EXT_conservative_rasterization 1 12803 #define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1 12804 #define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization" 12805 12806 typedef enum VkConservativeRasterizationModeEXT { 12807 VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0, 12808 VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1, 12809 VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2, 12810 VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 12811 } VkConservativeRasterizationModeEXT; 12812 typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT; 12813 typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT { 12814 VkStructureType sType; 12815 void* pNext; 12816 float primitiveOverestimationSize; 12817 float maxExtraPrimitiveOverestimationSize; 12818 float extraPrimitiveOverestimationSizeGranularity; 12819 VkBool32 primitiveUnderestimation; 12820 VkBool32 conservativePointAndLineRasterization; 12821 VkBool32 degenerateTrianglesRasterized; 12822 VkBool32 degenerateLinesRasterized; 12823 VkBool32 fullyCoveredFragmentShaderInputVariable; 12824 VkBool32 conservativeRasterizationPostDepthCoverage; 12825 } VkPhysicalDeviceConservativeRasterizationPropertiesEXT; 12826 12827 typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT { 12828 VkStructureType sType; 12829 const void* pNext; 12830 VkPipelineRasterizationConservativeStateCreateFlagsEXT flags; 12831 VkConservativeRasterizationModeEXT conservativeRasterizationMode; 12832 float extraPrimitiveOverestimationSize; 12833 } VkPipelineRasterizationConservativeStateCreateInfoEXT; 12834 12835 12836 12837 // VK_EXT_depth_clip_enable is a preprocessor guard. Do not pass it to API calls. 12838 #define VK_EXT_depth_clip_enable 1 12839 #define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1 12840 #define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable" 12841 typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT; 12842 typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT { 12843 VkStructureType sType; 12844 void* pNext; 12845 VkBool32 depthClipEnable; 12846 } VkPhysicalDeviceDepthClipEnableFeaturesEXT; 12847 12848 typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT { 12849 VkStructureType sType; 12850 const void* pNext; 12851 VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags; 12852 VkBool32 depthClipEnable; 12853 } VkPipelineRasterizationDepthClipStateCreateInfoEXT; 12854 12855 12856 12857 // VK_EXT_swapchain_colorspace is a preprocessor guard. Do not pass it to API calls. 12858 #define VK_EXT_swapchain_colorspace 1 12859 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 4 12860 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace" 12861 12862 12863 // VK_EXT_hdr_metadata is a preprocessor guard. Do not pass it to API calls. 12864 #define VK_EXT_hdr_metadata 1 12865 #define VK_EXT_HDR_METADATA_SPEC_VERSION 2 12866 #define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata" 12867 typedef struct VkXYColorEXT { 12868 float x; 12869 float y; 12870 } VkXYColorEXT; 12871 12872 typedef struct VkHdrMetadataEXT { 12873 VkStructureType sType; 12874 const void* pNext; 12875 VkXYColorEXT displayPrimaryRed; 12876 VkXYColorEXT displayPrimaryGreen; 12877 VkXYColorEXT displayPrimaryBlue; 12878 VkXYColorEXT whitePoint; 12879 float maxLuminance; 12880 float minLuminance; 12881 float maxContentLightLevel; 12882 float maxFrameAverageLightLevel; 12883 } VkHdrMetadataEXT; 12884 12885 typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, uint32_t swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata); 12886 12887 #ifndef VK_NO_PROTOTYPES 12888 VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT( 12889 VkDevice device, 12890 uint32_t swapchainCount, 12891 const VkSwapchainKHR* pSwapchains, 12892 const VkHdrMetadataEXT* pMetadata); 12893 #endif 12894 12895 12896 // VK_IMG_relaxed_line_rasterization is a preprocessor guard. Do not pass it to API calls. 12897 #define VK_IMG_relaxed_line_rasterization 1 12898 #define VK_IMG_RELAXED_LINE_RASTERIZATION_SPEC_VERSION 1 12899 #define VK_IMG_RELAXED_LINE_RASTERIZATION_EXTENSION_NAME "VK_IMG_relaxed_line_rasterization" 12900 typedef struct VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG { 12901 VkStructureType sType; 12902 void* pNext; 12903 VkBool32 relaxedLineRasterization; 12904 } VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG; 12905 12906 12907 12908 // VK_EXT_external_memory_dma_buf is a preprocessor guard. Do not pass it to API calls. 12909 #define VK_EXT_external_memory_dma_buf 1 12910 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1 12911 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf" 12912 12913 12914 // VK_EXT_queue_family_foreign is a preprocessor guard. Do not pass it to API calls. 12915 #define VK_EXT_queue_family_foreign 1 12916 #define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1 12917 #define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign" 12918 #define VK_QUEUE_FAMILY_FOREIGN_EXT (~2U) 12919 12920 12921 // VK_EXT_debug_utils is a preprocessor guard. Do not pass it to API calls. 12922 #define VK_EXT_debug_utils 1 12923 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT) 12924 #define VK_EXT_DEBUG_UTILS_SPEC_VERSION 2 12925 #define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils" 12926 typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT; 12927 12928 typedef enum VkDebugUtilsMessageSeverityFlagBitsEXT { 12929 VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001, 12930 VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010, 12931 VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100, 12932 VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000, 12933 VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 12934 } VkDebugUtilsMessageSeverityFlagBitsEXT; 12935 12936 typedef enum VkDebugUtilsMessageTypeFlagBitsEXT { 12937 VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001, 12938 VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002, 12939 VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004, 12940 VK_DEBUG_UTILS_MESSAGE_TYPE_DEVICE_ADDRESS_BINDING_BIT_EXT = 0x00000008, 12941 VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 12942 } VkDebugUtilsMessageTypeFlagBitsEXT; 12943 typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT; 12944 typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT; 12945 typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT; 12946 typedef struct VkDebugUtilsLabelEXT { 12947 VkStructureType sType; 12948 const void* pNext; 12949 const char* pLabelName; 12950 float color[4]; 12951 } VkDebugUtilsLabelEXT; 12952 12953 typedef struct VkDebugUtilsObjectNameInfoEXT { 12954 VkStructureType sType; 12955 const void* pNext; 12956 VkObjectType objectType; 12957 uint64_t objectHandle; 12958 const char* pObjectName; 12959 } VkDebugUtilsObjectNameInfoEXT; 12960 12961 typedef struct VkDebugUtilsMessengerCallbackDataEXT { 12962 VkStructureType sType; 12963 const void* pNext; 12964 VkDebugUtilsMessengerCallbackDataFlagsEXT flags; 12965 const char* pMessageIdName; 12966 int32_t messageIdNumber; 12967 const char* pMessage; 12968 uint32_t queueLabelCount; 12969 const VkDebugUtilsLabelEXT* pQueueLabels; 12970 uint32_t cmdBufLabelCount; 12971 const VkDebugUtilsLabelEXT* pCmdBufLabels; 12972 uint32_t objectCount; 12973 const VkDebugUtilsObjectNameInfoEXT* pObjects; 12974 } VkDebugUtilsMessengerCallbackDataEXT; 12975 12976 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)( 12977 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, 12978 VkDebugUtilsMessageTypeFlagsEXT messageTypes, 12979 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData, 12980 void* pUserData); 12981 12982 typedef struct VkDebugUtilsMessengerCreateInfoEXT { 12983 VkStructureType sType; 12984 const void* pNext; 12985 VkDebugUtilsMessengerCreateFlagsEXT flags; 12986 VkDebugUtilsMessageSeverityFlagsEXT messageSeverity; 12987 VkDebugUtilsMessageTypeFlagsEXT messageType; 12988 PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback; 12989 void* pUserData; 12990 } VkDebugUtilsMessengerCreateInfoEXT; 12991 12992 typedef struct VkDebugUtilsObjectTagInfoEXT { 12993 VkStructureType sType; 12994 const void* pNext; 12995 VkObjectType objectType; 12996 uint64_t objectHandle; 12997 uint64_t tagName; 12998 size_t tagSize; 12999 const void* pTag; 13000 } VkDebugUtilsObjectTagInfoEXT; 13001 13002 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo); 13003 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo); 13004 typedef void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo); 13005 typedef void (VKAPI_PTR *PFN_vkQueueEndDebugUtilsLabelEXT)(VkQueue queue); 13006 typedef void (VKAPI_PTR *PFN_vkQueueInsertDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo); 13007 typedef void (VKAPI_PTR *PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo); 13008 typedef void (VKAPI_PTR *PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer); 13009 typedef void (VKAPI_PTR *PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo); 13010 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger); 13011 typedef void (VKAPI_PTR *PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator); 13012 typedef void (VKAPI_PTR *PFN_vkSubmitDebugUtilsMessageEXT)(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData); 13013 13014 #ifndef VK_NO_PROTOTYPES 13015 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectNameEXT( 13016 VkDevice device, 13017 const VkDebugUtilsObjectNameInfoEXT* pNameInfo); 13018 13019 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectTagEXT( 13020 VkDevice device, 13021 const VkDebugUtilsObjectTagInfoEXT* pTagInfo); 13022 13023 VKAPI_ATTR void VKAPI_CALL vkQueueBeginDebugUtilsLabelEXT( 13024 VkQueue queue, 13025 const VkDebugUtilsLabelEXT* pLabelInfo); 13026 13027 VKAPI_ATTR void VKAPI_CALL vkQueueEndDebugUtilsLabelEXT( 13028 VkQueue queue); 13029 13030 VKAPI_ATTR void VKAPI_CALL vkQueueInsertDebugUtilsLabelEXT( 13031 VkQueue queue, 13032 const VkDebugUtilsLabelEXT* pLabelInfo); 13033 13034 VKAPI_ATTR void VKAPI_CALL vkCmdBeginDebugUtilsLabelEXT( 13035 VkCommandBuffer commandBuffer, 13036 const VkDebugUtilsLabelEXT* pLabelInfo); 13037 13038 VKAPI_ATTR void VKAPI_CALL vkCmdEndDebugUtilsLabelEXT( 13039 VkCommandBuffer commandBuffer); 13040 13041 VKAPI_ATTR void VKAPI_CALL vkCmdInsertDebugUtilsLabelEXT( 13042 VkCommandBuffer commandBuffer, 13043 const VkDebugUtilsLabelEXT* pLabelInfo); 13044 13045 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT( 13046 VkInstance instance, 13047 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, 13048 const VkAllocationCallbacks* pAllocator, 13049 VkDebugUtilsMessengerEXT* pMessenger); 13050 13051 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT( 13052 VkInstance instance, 13053 VkDebugUtilsMessengerEXT messenger, 13054 const VkAllocationCallbacks* pAllocator); 13055 13056 VKAPI_ATTR void VKAPI_CALL vkSubmitDebugUtilsMessageEXT( 13057 VkInstance instance, 13058 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, 13059 VkDebugUtilsMessageTypeFlagsEXT messageTypes, 13060 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData); 13061 #endif 13062 13063 13064 // VK_EXT_sampler_filter_minmax is a preprocessor guard. Do not pass it to API calls. 13065 #define VK_EXT_sampler_filter_minmax 1 13066 #define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 2 13067 #define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax" 13068 typedef VkSamplerReductionMode VkSamplerReductionModeEXT; 13069 13070 typedef VkSamplerReductionModeCreateInfo VkSamplerReductionModeCreateInfoEXT; 13071 13072 typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT; 13073 13074 13075 13076 // VK_AMD_gpu_shader_int16 is a preprocessor guard. Do not pass it to API calls. 13077 #define VK_AMD_gpu_shader_int16 1 13078 #define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 2 13079 #define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16" 13080 13081 13082 // VK_AMD_mixed_attachment_samples is a preprocessor guard. Do not pass it to API calls. 13083 #define VK_AMD_mixed_attachment_samples 1 13084 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1 13085 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples" 13086 13087 13088 // VK_AMD_shader_fragment_mask is a preprocessor guard. Do not pass it to API calls. 13089 #define VK_AMD_shader_fragment_mask 1 13090 #define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1 13091 #define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask" 13092 13093 13094 // VK_EXT_inline_uniform_block is a preprocessor guard. Do not pass it to API calls. 13095 #define VK_EXT_inline_uniform_block 1 13096 #define VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION 1 13097 #define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block" 13098 typedef VkPhysicalDeviceInlineUniformBlockFeatures VkPhysicalDeviceInlineUniformBlockFeaturesEXT; 13099 13100 typedef VkPhysicalDeviceInlineUniformBlockProperties VkPhysicalDeviceInlineUniformBlockPropertiesEXT; 13101 13102 typedef VkWriteDescriptorSetInlineUniformBlock VkWriteDescriptorSetInlineUniformBlockEXT; 13103 13104 typedef VkDescriptorPoolInlineUniformBlockCreateInfo VkDescriptorPoolInlineUniformBlockCreateInfoEXT; 13105 13106 13107 13108 // VK_EXT_shader_stencil_export is a preprocessor guard. Do not pass it to API calls. 13109 #define VK_EXT_shader_stencil_export 1 13110 #define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1 13111 #define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export" 13112 13113 13114 // VK_EXT_sample_locations is a preprocessor guard. Do not pass it to API calls. 13115 #define VK_EXT_sample_locations 1 13116 #define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1 13117 #define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations" 13118 typedef struct VkSampleLocationEXT { 13119 float x; 13120 float y; 13121 } VkSampleLocationEXT; 13122 13123 typedef struct VkSampleLocationsInfoEXT { 13124 VkStructureType sType; 13125 const void* pNext; 13126 VkSampleCountFlagBits sampleLocationsPerPixel; 13127 VkExtent2D sampleLocationGridSize; 13128 uint32_t sampleLocationsCount; 13129 const VkSampleLocationEXT* pSampleLocations; 13130 } VkSampleLocationsInfoEXT; 13131 13132 typedef struct VkAttachmentSampleLocationsEXT { 13133 uint32_t attachmentIndex; 13134 VkSampleLocationsInfoEXT sampleLocationsInfo; 13135 } VkAttachmentSampleLocationsEXT; 13136 13137 typedef struct VkSubpassSampleLocationsEXT { 13138 uint32_t subpassIndex; 13139 VkSampleLocationsInfoEXT sampleLocationsInfo; 13140 } VkSubpassSampleLocationsEXT; 13141 13142 typedef struct VkRenderPassSampleLocationsBeginInfoEXT { 13143 VkStructureType sType; 13144 const void* pNext; 13145 uint32_t attachmentInitialSampleLocationsCount; 13146 const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations; 13147 uint32_t postSubpassSampleLocationsCount; 13148 const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations; 13149 } VkRenderPassSampleLocationsBeginInfoEXT; 13150 13151 typedef struct VkPipelineSampleLocationsStateCreateInfoEXT { 13152 VkStructureType sType; 13153 const void* pNext; 13154 VkBool32 sampleLocationsEnable; 13155 VkSampleLocationsInfoEXT sampleLocationsInfo; 13156 } VkPipelineSampleLocationsStateCreateInfoEXT; 13157 13158 typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT { 13159 VkStructureType sType; 13160 void* pNext; 13161 VkSampleCountFlags sampleLocationSampleCounts; 13162 VkExtent2D maxSampleLocationGridSize; 13163 float sampleLocationCoordinateRange[2]; 13164 uint32_t sampleLocationSubPixelBits; 13165 VkBool32 variableSampleLocations; 13166 } VkPhysicalDeviceSampleLocationsPropertiesEXT; 13167 13168 typedef struct VkMultisamplePropertiesEXT { 13169 VkStructureType sType; 13170 void* pNext; 13171 VkExtent2D maxSampleLocationGridSize; 13172 } VkMultisamplePropertiesEXT; 13173 13174 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo); 13175 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties); 13176 13177 #ifndef VK_NO_PROTOTYPES 13178 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEXT( 13179 VkCommandBuffer commandBuffer, 13180 const VkSampleLocationsInfoEXT* pSampleLocationsInfo); 13181 13182 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT( 13183 VkPhysicalDevice physicalDevice, 13184 VkSampleCountFlagBits samples, 13185 VkMultisamplePropertiesEXT* pMultisampleProperties); 13186 #endif 13187 13188 13189 // VK_EXT_blend_operation_advanced is a preprocessor guard. Do not pass it to API calls. 13190 #define VK_EXT_blend_operation_advanced 1 13191 #define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2 13192 #define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced" 13193 13194 typedef enum VkBlendOverlapEXT { 13195 VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0, 13196 VK_BLEND_OVERLAP_DISJOINT_EXT = 1, 13197 VK_BLEND_OVERLAP_CONJOINT_EXT = 2, 13198 VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF 13199 } VkBlendOverlapEXT; 13200 typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT { 13201 VkStructureType sType; 13202 void* pNext; 13203 VkBool32 advancedBlendCoherentOperations; 13204 } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT; 13205 13206 typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT { 13207 VkStructureType sType; 13208 void* pNext; 13209 uint32_t advancedBlendMaxColorAttachments; 13210 VkBool32 advancedBlendIndependentBlend; 13211 VkBool32 advancedBlendNonPremultipliedSrcColor; 13212 VkBool32 advancedBlendNonPremultipliedDstColor; 13213 VkBool32 advancedBlendCorrelatedOverlap; 13214 VkBool32 advancedBlendAllOperations; 13215 } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT; 13216 13217 typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT { 13218 VkStructureType sType; 13219 const void* pNext; 13220 VkBool32 srcPremultiplied; 13221 VkBool32 dstPremultiplied; 13222 VkBlendOverlapEXT blendOverlap; 13223 } VkPipelineColorBlendAdvancedStateCreateInfoEXT; 13224 13225 13226 13227 // VK_NV_fragment_coverage_to_color is a preprocessor guard. Do not pass it to API calls. 13228 #define VK_NV_fragment_coverage_to_color 1 13229 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1 13230 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color" 13231 typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV; 13232 typedef struct VkPipelineCoverageToColorStateCreateInfoNV { 13233 VkStructureType sType; 13234 const void* pNext; 13235 VkPipelineCoverageToColorStateCreateFlagsNV flags; 13236 VkBool32 coverageToColorEnable; 13237 uint32_t coverageToColorLocation; 13238 } VkPipelineCoverageToColorStateCreateInfoNV; 13239 13240 13241 13242 // VK_NV_framebuffer_mixed_samples is a preprocessor guard. Do not pass it to API calls. 13243 #define VK_NV_framebuffer_mixed_samples 1 13244 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1 13245 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples" 13246 13247 typedef enum VkCoverageModulationModeNV { 13248 VK_COVERAGE_MODULATION_MODE_NONE_NV = 0, 13249 VK_COVERAGE_MODULATION_MODE_RGB_NV = 1, 13250 VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2, 13251 VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3, 13252 VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF 13253 } VkCoverageModulationModeNV; 13254 typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV; 13255 typedef struct VkPipelineCoverageModulationStateCreateInfoNV { 13256 VkStructureType sType; 13257 const void* pNext; 13258 VkPipelineCoverageModulationStateCreateFlagsNV flags; 13259 VkCoverageModulationModeNV coverageModulationMode; 13260 VkBool32 coverageModulationTableEnable; 13261 uint32_t coverageModulationTableCount; 13262 const float* pCoverageModulationTable; 13263 } VkPipelineCoverageModulationStateCreateInfoNV; 13264 13265 13266 13267 // VK_NV_fill_rectangle is a preprocessor guard. Do not pass it to API calls. 13268 #define VK_NV_fill_rectangle 1 13269 #define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1 13270 #define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle" 13271 13272 13273 // VK_NV_shader_sm_builtins is a preprocessor guard. Do not pass it to API calls. 13274 #define VK_NV_shader_sm_builtins 1 13275 #define VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION 1 13276 #define VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME "VK_NV_shader_sm_builtins" 13277 typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV { 13278 VkStructureType sType; 13279 void* pNext; 13280 uint32_t shaderSMCount; 13281 uint32_t shaderWarpsPerSM; 13282 } VkPhysicalDeviceShaderSMBuiltinsPropertiesNV; 13283 13284 typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV { 13285 VkStructureType sType; 13286 void* pNext; 13287 VkBool32 shaderSMBuiltins; 13288 } VkPhysicalDeviceShaderSMBuiltinsFeaturesNV; 13289 13290 13291 13292 // VK_EXT_post_depth_coverage is a preprocessor guard. Do not pass it to API calls. 13293 #define VK_EXT_post_depth_coverage 1 13294 #define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1 13295 #define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage" 13296 13297 13298 // VK_EXT_image_drm_format_modifier is a preprocessor guard. Do not pass it to API calls. 13299 #define VK_EXT_image_drm_format_modifier 1 13300 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION 2 13301 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME "VK_EXT_image_drm_format_modifier" 13302 typedef struct VkDrmFormatModifierPropertiesEXT { 13303 uint64_t drmFormatModifier; 13304 uint32_t drmFormatModifierPlaneCount; 13305 VkFormatFeatureFlags drmFormatModifierTilingFeatures; 13306 } VkDrmFormatModifierPropertiesEXT; 13307 13308 typedef struct VkDrmFormatModifierPropertiesListEXT { 13309 VkStructureType sType; 13310 void* pNext; 13311 uint32_t drmFormatModifierCount; 13312 VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties; 13313 } VkDrmFormatModifierPropertiesListEXT; 13314 13315 typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT { 13316 VkStructureType sType; 13317 const void* pNext; 13318 uint64_t drmFormatModifier; 13319 VkSharingMode sharingMode; 13320 uint32_t queueFamilyIndexCount; 13321 const uint32_t* pQueueFamilyIndices; 13322 } VkPhysicalDeviceImageDrmFormatModifierInfoEXT; 13323 13324 typedef struct VkImageDrmFormatModifierListCreateInfoEXT { 13325 VkStructureType sType; 13326 const void* pNext; 13327 uint32_t drmFormatModifierCount; 13328 const uint64_t* pDrmFormatModifiers; 13329 } VkImageDrmFormatModifierListCreateInfoEXT; 13330 13331 typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT { 13332 VkStructureType sType; 13333 const void* pNext; 13334 uint64_t drmFormatModifier; 13335 uint32_t drmFormatModifierPlaneCount; 13336 const VkSubresourceLayout* pPlaneLayouts; 13337 } VkImageDrmFormatModifierExplicitCreateInfoEXT; 13338 13339 typedef struct VkImageDrmFormatModifierPropertiesEXT { 13340 VkStructureType sType; 13341 void* pNext; 13342 uint64_t drmFormatModifier; 13343 } VkImageDrmFormatModifierPropertiesEXT; 13344 13345 typedef struct VkDrmFormatModifierProperties2EXT { 13346 uint64_t drmFormatModifier; 13347 uint32_t drmFormatModifierPlaneCount; 13348 VkFormatFeatureFlags2 drmFormatModifierTilingFeatures; 13349 } VkDrmFormatModifierProperties2EXT; 13350 13351 typedef struct VkDrmFormatModifierPropertiesList2EXT { 13352 VkStructureType sType; 13353 void* pNext; 13354 uint32_t drmFormatModifierCount; 13355 VkDrmFormatModifierProperties2EXT* pDrmFormatModifierProperties; 13356 } VkDrmFormatModifierPropertiesList2EXT; 13357 13358 typedef VkResult (VKAPI_PTR *PFN_vkGetImageDrmFormatModifierPropertiesEXT)(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties); 13359 13360 #ifndef VK_NO_PROTOTYPES 13361 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageDrmFormatModifierPropertiesEXT( 13362 VkDevice device, 13363 VkImage image, 13364 VkImageDrmFormatModifierPropertiesEXT* pProperties); 13365 #endif 13366 13367 13368 // VK_EXT_validation_cache is a preprocessor guard. Do not pass it to API calls. 13369 #define VK_EXT_validation_cache 1 13370 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT) 13371 #define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1 13372 #define VK_EXT_VALIDATION_CACHE_EXTENSION_NAME "VK_EXT_validation_cache" 13373 13374 typedef enum VkValidationCacheHeaderVersionEXT { 13375 VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1, 13376 VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF 13377 } VkValidationCacheHeaderVersionEXT; 13378 typedef VkFlags VkValidationCacheCreateFlagsEXT; 13379 typedef struct VkValidationCacheCreateInfoEXT { 13380 VkStructureType sType; 13381 const void* pNext; 13382 VkValidationCacheCreateFlagsEXT flags; 13383 size_t initialDataSize; 13384 const void* pInitialData; 13385 } VkValidationCacheCreateInfoEXT; 13386 13387 typedef struct VkShaderModuleValidationCacheCreateInfoEXT { 13388 VkStructureType sType; 13389 const void* pNext; 13390 VkValidationCacheEXT validationCache; 13391 } VkShaderModuleValidationCacheCreateInfoEXT; 13392 13393 typedef VkResult (VKAPI_PTR *PFN_vkCreateValidationCacheEXT)(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache); 13394 typedef void (VKAPI_PTR *PFN_vkDestroyValidationCacheEXT)(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator); 13395 typedef VkResult (VKAPI_PTR *PFN_vkMergeValidationCachesEXT)(VkDevice device, VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const VkValidationCacheEXT* pSrcCaches); 13396 typedef VkResult (VKAPI_PTR *PFN_vkGetValidationCacheDataEXT)(VkDevice device, VkValidationCacheEXT validationCache, size_t* pDataSize, void* pData); 13397 13398 #ifndef VK_NO_PROTOTYPES 13399 VKAPI_ATTR VkResult VKAPI_CALL vkCreateValidationCacheEXT( 13400 VkDevice device, 13401 const VkValidationCacheCreateInfoEXT* pCreateInfo, 13402 const VkAllocationCallbacks* pAllocator, 13403 VkValidationCacheEXT* pValidationCache); 13404 13405 VKAPI_ATTR void VKAPI_CALL vkDestroyValidationCacheEXT( 13406 VkDevice device, 13407 VkValidationCacheEXT validationCache, 13408 const VkAllocationCallbacks* pAllocator); 13409 13410 VKAPI_ATTR VkResult VKAPI_CALL vkMergeValidationCachesEXT( 13411 VkDevice device, 13412 VkValidationCacheEXT dstCache, 13413 uint32_t srcCacheCount, 13414 const VkValidationCacheEXT* pSrcCaches); 13415 13416 VKAPI_ATTR VkResult VKAPI_CALL vkGetValidationCacheDataEXT( 13417 VkDevice device, 13418 VkValidationCacheEXT validationCache, 13419 size_t* pDataSize, 13420 void* pData); 13421 #endif 13422 13423 13424 // VK_EXT_descriptor_indexing is a preprocessor guard. Do not pass it to API calls. 13425 #define VK_EXT_descriptor_indexing 1 13426 #define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2 13427 #define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing" 13428 typedef VkDescriptorBindingFlagBits VkDescriptorBindingFlagBitsEXT; 13429 13430 typedef VkDescriptorBindingFlags VkDescriptorBindingFlagsEXT; 13431 13432 typedef VkDescriptorSetLayoutBindingFlagsCreateInfo VkDescriptorSetLayoutBindingFlagsCreateInfoEXT; 13433 13434 typedef VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeaturesEXT; 13435 13436 typedef VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingPropertiesEXT; 13437 13438 typedef VkDescriptorSetVariableDescriptorCountAllocateInfo VkDescriptorSetVariableDescriptorCountAllocateInfoEXT; 13439 13440 typedef VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupportEXT; 13441 13442 13443 13444 // VK_EXT_shader_viewport_index_layer is a preprocessor guard. Do not pass it to API calls. 13445 #define VK_EXT_shader_viewport_index_layer 1 13446 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1 13447 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer" 13448 13449 13450 // VK_NV_shading_rate_image is a preprocessor guard. Do not pass it to API calls. 13451 #define VK_NV_shading_rate_image 1 13452 #define VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION 3 13453 #define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image" 13454 13455 typedef enum VkShadingRatePaletteEntryNV { 13456 VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV = 0, 13457 VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV = 1, 13458 VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV = 2, 13459 VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV = 3, 13460 VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV = 4, 13461 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV = 5, 13462 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV = 6, 13463 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV = 7, 13464 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV = 8, 13465 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = 9, 13466 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = 10, 13467 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = 11, 13468 VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV = 0x7FFFFFFF 13469 } VkShadingRatePaletteEntryNV; 13470 13471 typedef enum VkCoarseSampleOrderTypeNV { 13472 VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = 0, 13473 VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = 1, 13474 VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = 2, 13475 VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3, 13476 VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 13477 } VkCoarseSampleOrderTypeNV; 13478 typedef struct VkShadingRatePaletteNV { 13479 uint32_t shadingRatePaletteEntryCount; 13480 const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries; 13481 } VkShadingRatePaletteNV; 13482 13483 typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV { 13484 VkStructureType sType; 13485 const void* pNext; 13486 VkBool32 shadingRateImageEnable; 13487 uint32_t viewportCount; 13488 const VkShadingRatePaletteNV* pShadingRatePalettes; 13489 } VkPipelineViewportShadingRateImageStateCreateInfoNV; 13490 13491 typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV { 13492 VkStructureType sType; 13493 void* pNext; 13494 VkBool32 shadingRateImage; 13495 VkBool32 shadingRateCoarseSampleOrder; 13496 } VkPhysicalDeviceShadingRateImageFeaturesNV; 13497 13498 typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV { 13499 VkStructureType sType; 13500 void* pNext; 13501 VkExtent2D shadingRateTexelSize; 13502 uint32_t shadingRatePaletteSize; 13503 uint32_t shadingRateMaxCoarseSamples; 13504 } VkPhysicalDeviceShadingRateImagePropertiesNV; 13505 13506 typedef struct VkCoarseSampleLocationNV { 13507 uint32_t pixelX; 13508 uint32_t pixelY; 13509 uint32_t sample; 13510 } VkCoarseSampleLocationNV; 13511 13512 typedef struct VkCoarseSampleOrderCustomNV { 13513 VkShadingRatePaletteEntryNV shadingRate; 13514 uint32_t sampleCount; 13515 uint32_t sampleLocationCount; 13516 const VkCoarseSampleLocationNV* pSampleLocations; 13517 } VkCoarseSampleOrderCustomNV; 13518 13519 typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV { 13520 VkStructureType sType; 13521 const void* pNext; 13522 VkCoarseSampleOrderTypeNV sampleOrderType; 13523 uint32_t customSampleOrderCount; 13524 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders; 13525 } VkPipelineViewportCoarseSampleOrderStateCreateInfoNV; 13526 13527 typedef void (VKAPI_PTR *PFN_vkCmdBindShadingRateImageNV)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout); 13528 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportShadingRatePaletteNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes); 13529 typedef void (VKAPI_PTR *PFN_vkCmdSetCoarseSampleOrderNV)(VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, uint32_t customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders); 13530 13531 #ifndef VK_NO_PROTOTYPES 13532 VKAPI_ATTR void VKAPI_CALL vkCmdBindShadingRateImageNV( 13533 VkCommandBuffer commandBuffer, 13534 VkImageView imageView, 13535 VkImageLayout imageLayout); 13536 13537 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportShadingRatePaletteNV( 13538 VkCommandBuffer commandBuffer, 13539 uint32_t firstViewport, 13540 uint32_t viewportCount, 13541 const VkShadingRatePaletteNV* pShadingRatePalettes); 13542 13543 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoarseSampleOrderNV( 13544 VkCommandBuffer commandBuffer, 13545 VkCoarseSampleOrderTypeNV sampleOrderType, 13546 uint32_t customSampleOrderCount, 13547 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders); 13548 #endif 13549 13550 13551 // VK_NV_ray_tracing is a preprocessor guard. Do not pass it to API calls. 13552 #define VK_NV_ray_tracing 1 13553 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV) 13554 #define VK_NV_RAY_TRACING_SPEC_VERSION 3 13555 #define VK_NV_RAY_TRACING_EXTENSION_NAME "VK_NV_ray_tracing" 13556 #define VK_SHADER_UNUSED_KHR (~0U) 13557 #define VK_SHADER_UNUSED_NV VK_SHADER_UNUSED_KHR 13558 13559 typedef enum VkRayTracingShaderGroupTypeKHR { 13560 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR = 0, 13561 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR = 1, 13562 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR = 2, 13563 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR, 13564 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR, 13565 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR, 13566 VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 13567 } VkRayTracingShaderGroupTypeKHR; 13568 typedef VkRayTracingShaderGroupTypeKHR VkRayTracingShaderGroupTypeNV; 13569 13570 13571 typedef enum VkGeometryTypeKHR { 13572 VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0, 13573 VK_GEOMETRY_TYPE_AABBS_KHR = 1, 13574 VK_GEOMETRY_TYPE_INSTANCES_KHR = 2, 13575 VK_GEOMETRY_TYPE_TRIANGLES_NV = VK_GEOMETRY_TYPE_TRIANGLES_KHR, 13576 VK_GEOMETRY_TYPE_AABBS_NV = VK_GEOMETRY_TYPE_AABBS_KHR, 13577 VK_GEOMETRY_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 13578 } VkGeometryTypeKHR; 13579 typedef VkGeometryTypeKHR VkGeometryTypeNV; 13580 13581 13582 typedef enum VkAccelerationStructureTypeKHR { 13583 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR = 0, 13584 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR = 1, 13585 VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR = 2, 13586 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR, 13587 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR, 13588 VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 13589 } VkAccelerationStructureTypeKHR; 13590 typedef VkAccelerationStructureTypeKHR VkAccelerationStructureTypeNV; 13591 13592 13593 typedef enum VkCopyAccelerationStructureModeKHR { 13594 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR = 0, 13595 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR = 1, 13596 VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR = 2, 13597 VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR = 3, 13598 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR, 13599 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR, 13600 VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 13601 } VkCopyAccelerationStructureModeKHR; 13602 typedef VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeNV; 13603 13604 13605 typedef enum VkAccelerationStructureMemoryRequirementsTypeNV { 13606 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = 0, 13607 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = 1, 13608 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = 2, 13609 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 13610 } VkAccelerationStructureMemoryRequirementsTypeNV; 13611 13612 typedef enum VkGeometryFlagBitsKHR { 13613 VK_GEOMETRY_OPAQUE_BIT_KHR = 0x00000001, 13614 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR = 0x00000002, 13615 VK_GEOMETRY_OPAQUE_BIT_NV = VK_GEOMETRY_OPAQUE_BIT_KHR, 13616 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV = VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR, 13617 VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 13618 } VkGeometryFlagBitsKHR; 13619 typedef VkFlags VkGeometryFlagsKHR; 13620 typedef VkGeometryFlagsKHR VkGeometryFlagsNV; 13621 13622 typedef VkGeometryFlagBitsKHR VkGeometryFlagBitsNV; 13623 13624 13625 typedef enum VkGeometryInstanceFlagBitsKHR { 13626 VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 0x00000001, 13627 VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR = 0x00000002, 13628 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 0x00000004, 13629 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 0x00000008, 13630 VK_GEOMETRY_INSTANCE_FORCE_OPACITY_MICROMAP_2_STATE_EXT = 0x00000010, 13631 VK_GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_EXT = 0x00000020, 13632 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR, 13633 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR, 13634 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR, 13635 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR, 13636 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR, 13637 VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 13638 } VkGeometryInstanceFlagBitsKHR; 13639 typedef VkFlags VkGeometryInstanceFlagsKHR; 13640 typedef VkGeometryInstanceFlagsKHR VkGeometryInstanceFlagsNV; 13641 13642 typedef VkGeometryInstanceFlagBitsKHR VkGeometryInstanceFlagBitsNV; 13643 13644 13645 typedef enum VkBuildAccelerationStructureFlagBitsKHR { 13646 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR = 0x00000001, 13647 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR = 0x00000002, 13648 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 0x00000004, 13649 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 0x00000008, 13650 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 0x00000010, 13651 VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 0x00000020, 13652 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_EXT = 0x00000040, 13653 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_EXT = 0x00000080, 13654 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_DATA_UPDATE_EXT = 0x00000100, 13655 #ifdef VK_ENABLE_BETA_EXTENSIONS 13656 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISPLACEMENT_MICROMAP_UPDATE_NV = 0x00000200, 13657 #endif 13658 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DATA_ACCESS_KHR = 0x00000800, 13659 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR, 13660 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR, 13661 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR, 13662 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR, 13663 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR, 13664 VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 13665 } VkBuildAccelerationStructureFlagBitsKHR; 13666 typedef VkFlags VkBuildAccelerationStructureFlagsKHR; 13667 typedef VkBuildAccelerationStructureFlagsKHR VkBuildAccelerationStructureFlagsNV; 13668 13669 typedef VkBuildAccelerationStructureFlagBitsKHR VkBuildAccelerationStructureFlagBitsNV; 13670 13671 typedef struct VkRayTracingShaderGroupCreateInfoNV { 13672 VkStructureType sType; 13673 const void* pNext; 13674 VkRayTracingShaderGroupTypeKHR type; 13675 uint32_t generalShader; 13676 uint32_t closestHitShader; 13677 uint32_t anyHitShader; 13678 uint32_t intersectionShader; 13679 } VkRayTracingShaderGroupCreateInfoNV; 13680 13681 typedef struct VkRayTracingPipelineCreateInfoNV { 13682 VkStructureType sType; 13683 const void* pNext; 13684 VkPipelineCreateFlags flags; 13685 uint32_t stageCount; 13686 const VkPipelineShaderStageCreateInfo* pStages; 13687 uint32_t groupCount; 13688 const VkRayTracingShaderGroupCreateInfoNV* pGroups; 13689 uint32_t maxRecursionDepth; 13690 VkPipelineLayout layout; 13691 VkPipeline basePipelineHandle; 13692 int32_t basePipelineIndex; 13693 } VkRayTracingPipelineCreateInfoNV; 13694 13695 typedef struct VkGeometryTrianglesNV { 13696 VkStructureType sType; 13697 const void* pNext; 13698 VkBuffer vertexData; 13699 VkDeviceSize vertexOffset; 13700 uint32_t vertexCount; 13701 VkDeviceSize vertexStride; 13702 VkFormat vertexFormat; 13703 VkBuffer indexData; 13704 VkDeviceSize indexOffset; 13705 uint32_t indexCount; 13706 VkIndexType indexType; 13707 VkBuffer transformData; 13708 VkDeviceSize transformOffset; 13709 } VkGeometryTrianglesNV; 13710 13711 typedef struct VkGeometryAABBNV { 13712 VkStructureType sType; 13713 const void* pNext; 13714 VkBuffer aabbData; 13715 uint32_t numAABBs; 13716 uint32_t stride; 13717 VkDeviceSize offset; 13718 } VkGeometryAABBNV; 13719 13720 typedef struct VkGeometryDataNV { 13721 VkGeometryTrianglesNV triangles; 13722 VkGeometryAABBNV aabbs; 13723 } VkGeometryDataNV; 13724 13725 typedef struct VkGeometryNV { 13726 VkStructureType sType; 13727 const void* pNext; 13728 VkGeometryTypeKHR geometryType; 13729 VkGeometryDataNV geometry; 13730 VkGeometryFlagsKHR flags; 13731 } VkGeometryNV; 13732 13733 typedef struct VkAccelerationStructureInfoNV { 13734 VkStructureType sType; 13735 const void* pNext; 13736 VkAccelerationStructureTypeNV type; 13737 VkBuildAccelerationStructureFlagsNV flags; 13738 uint32_t instanceCount; 13739 uint32_t geometryCount; 13740 const VkGeometryNV* pGeometries; 13741 } VkAccelerationStructureInfoNV; 13742 13743 typedef struct VkAccelerationStructureCreateInfoNV { 13744 VkStructureType sType; 13745 const void* pNext; 13746 VkDeviceSize compactedSize; 13747 VkAccelerationStructureInfoNV info; 13748 } VkAccelerationStructureCreateInfoNV; 13749 13750 typedef struct VkBindAccelerationStructureMemoryInfoNV { 13751 VkStructureType sType; 13752 const void* pNext; 13753 VkAccelerationStructureNV accelerationStructure; 13754 VkDeviceMemory memory; 13755 VkDeviceSize memoryOffset; 13756 uint32_t deviceIndexCount; 13757 const uint32_t* pDeviceIndices; 13758 } VkBindAccelerationStructureMemoryInfoNV; 13759 13760 typedef struct VkWriteDescriptorSetAccelerationStructureNV { 13761 VkStructureType sType; 13762 const void* pNext; 13763 uint32_t accelerationStructureCount; 13764 const VkAccelerationStructureNV* pAccelerationStructures; 13765 } VkWriteDescriptorSetAccelerationStructureNV; 13766 13767 typedef struct VkAccelerationStructureMemoryRequirementsInfoNV { 13768 VkStructureType sType; 13769 const void* pNext; 13770 VkAccelerationStructureMemoryRequirementsTypeNV type; 13771 VkAccelerationStructureNV accelerationStructure; 13772 } VkAccelerationStructureMemoryRequirementsInfoNV; 13773 13774 typedef struct VkPhysicalDeviceRayTracingPropertiesNV { 13775 VkStructureType sType; 13776 void* pNext; 13777 uint32_t shaderGroupHandleSize; 13778 uint32_t maxRecursionDepth; 13779 uint32_t maxShaderGroupStride; 13780 uint32_t shaderGroupBaseAlignment; 13781 uint64_t maxGeometryCount; 13782 uint64_t maxInstanceCount; 13783 uint64_t maxTriangleCount; 13784 uint32_t maxDescriptorSetAccelerationStructures; 13785 } VkPhysicalDeviceRayTracingPropertiesNV; 13786 13787 typedef struct VkTransformMatrixKHR { 13788 float matrix[3][4]; 13789 } VkTransformMatrixKHR; 13790 13791 typedef VkTransformMatrixKHR VkTransformMatrixNV; 13792 13793 typedef struct VkAabbPositionsKHR { 13794 float minX; 13795 float minY; 13796 float minZ; 13797 float maxX; 13798 float maxY; 13799 float maxZ; 13800 } VkAabbPositionsKHR; 13801 13802 typedef VkAabbPositionsKHR VkAabbPositionsNV; 13803 13804 typedef struct VkAccelerationStructureInstanceKHR { 13805 VkTransformMatrixKHR transform; 13806 uint32_t instanceCustomIndex:24; 13807 uint32_t mask:8; 13808 uint32_t instanceShaderBindingTableRecordOffset:24; 13809 VkGeometryInstanceFlagsKHR flags:8; 13810 uint64_t accelerationStructureReference; 13811 } VkAccelerationStructureInstanceKHR; 13812 13813 typedef VkAccelerationStructureInstanceKHR VkAccelerationStructureInstanceNV; 13814 13815 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureNV)(VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure); 13816 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator); 13817 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsNV)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements); 13818 typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryNV)(VkDevice device, uint32_t bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos); 13819 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); 13820 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNV)(VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode); 13821 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); 13822 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesNV)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 13823 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData); 13824 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesNV)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData); 13825 typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, size_t dataSize, void* pData); 13826 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesNV)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery); 13827 typedef VkResult (VKAPI_PTR *PFN_vkCompileDeferredNV)(VkDevice device, VkPipeline pipeline, uint32_t shader); 13828 13829 #ifndef VK_NO_PROTOTYPES 13830 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureNV( 13831 VkDevice device, 13832 const VkAccelerationStructureCreateInfoNV* pCreateInfo, 13833 const VkAllocationCallbacks* pAllocator, 13834 VkAccelerationStructureNV* pAccelerationStructure); 13835 13836 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureNV( 13837 VkDevice device, 13838 VkAccelerationStructureNV accelerationStructure, 13839 const VkAllocationCallbacks* pAllocator); 13840 13841 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsNV( 13842 VkDevice device, 13843 const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, 13844 VkMemoryRequirements2KHR* pMemoryRequirements); 13845 13846 VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryNV( 13847 VkDevice device, 13848 uint32_t bindInfoCount, 13849 const VkBindAccelerationStructureMemoryInfoNV* pBindInfos); 13850 13851 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureNV( 13852 VkCommandBuffer commandBuffer, 13853 const VkAccelerationStructureInfoNV* pInfo, 13854 VkBuffer instanceData, 13855 VkDeviceSize instanceOffset, 13856 VkBool32 update, 13857 VkAccelerationStructureNV dst, 13858 VkAccelerationStructureNV src, 13859 VkBuffer scratch, 13860 VkDeviceSize scratchOffset); 13861 13862 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureNV( 13863 VkCommandBuffer commandBuffer, 13864 VkAccelerationStructureNV dst, 13865 VkAccelerationStructureNV src, 13866 VkCopyAccelerationStructureModeKHR mode); 13867 13868 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysNV( 13869 VkCommandBuffer commandBuffer, 13870 VkBuffer raygenShaderBindingTableBuffer, 13871 VkDeviceSize raygenShaderBindingOffset, 13872 VkBuffer missShaderBindingTableBuffer, 13873 VkDeviceSize missShaderBindingOffset, 13874 VkDeviceSize missShaderBindingStride, 13875 VkBuffer hitShaderBindingTableBuffer, 13876 VkDeviceSize hitShaderBindingOffset, 13877 VkDeviceSize hitShaderBindingStride, 13878 VkBuffer callableShaderBindingTableBuffer, 13879 VkDeviceSize callableShaderBindingOffset, 13880 VkDeviceSize callableShaderBindingStride, 13881 uint32_t width, 13882 uint32_t height, 13883 uint32_t depth); 13884 13885 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesNV( 13886 VkDevice device, 13887 VkPipelineCache pipelineCache, 13888 uint32_t createInfoCount, 13889 const VkRayTracingPipelineCreateInfoNV* pCreateInfos, 13890 const VkAllocationCallbacks* pAllocator, 13891 VkPipeline* pPipelines); 13892 13893 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesKHR( 13894 VkDevice device, 13895 VkPipeline pipeline, 13896 uint32_t firstGroup, 13897 uint32_t groupCount, 13898 size_t dataSize, 13899 void* pData); 13900 13901 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesNV( 13902 VkDevice device, 13903 VkPipeline pipeline, 13904 uint32_t firstGroup, 13905 uint32_t groupCount, 13906 size_t dataSize, 13907 void* pData); 13908 13909 VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureHandleNV( 13910 VkDevice device, 13911 VkAccelerationStructureNV accelerationStructure, 13912 size_t dataSize, 13913 void* pData); 13914 13915 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesNV( 13916 VkCommandBuffer commandBuffer, 13917 uint32_t accelerationStructureCount, 13918 const VkAccelerationStructureNV* pAccelerationStructures, 13919 VkQueryType queryType, 13920 VkQueryPool queryPool, 13921 uint32_t firstQuery); 13922 13923 VKAPI_ATTR VkResult VKAPI_CALL vkCompileDeferredNV( 13924 VkDevice device, 13925 VkPipeline pipeline, 13926 uint32_t shader); 13927 #endif 13928 13929 13930 // VK_NV_representative_fragment_test is a preprocessor guard. Do not pass it to API calls. 13931 #define VK_NV_representative_fragment_test 1 13932 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 2 13933 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test" 13934 typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV { 13935 VkStructureType sType; 13936 void* pNext; 13937 VkBool32 representativeFragmentTest; 13938 } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV; 13939 13940 typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV { 13941 VkStructureType sType; 13942 const void* pNext; 13943 VkBool32 representativeFragmentTestEnable; 13944 } VkPipelineRepresentativeFragmentTestStateCreateInfoNV; 13945 13946 13947 13948 // VK_EXT_filter_cubic is a preprocessor guard. Do not pass it to API calls. 13949 #define VK_EXT_filter_cubic 1 13950 #define VK_EXT_FILTER_CUBIC_SPEC_VERSION 3 13951 #define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic" 13952 typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT { 13953 VkStructureType sType; 13954 void* pNext; 13955 VkImageViewType imageViewType; 13956 } VkPhysicalDeviceImageViewImageFormatInfoEXT; 13957 13958 typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT { 13959 VkStructureType sType; 13960 void* pNext; 13961 VkBool32 filterCubic; 13962 VkBool32 filterCubicMinmax; 13963 } VkFilterCubicImageViewImageFormatPropertiesEXT; 13964 13965 13966 13967 // VK_QCOM_render_pass_shader_resolve is a preprocessor guard. Do not pass it to API calls. 13968 #define VK_QCOM_render_pass_shader_resolve 1 13969 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION 4 13970 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME "VK_QCOM_render_pass_shader_resolve" 13971 13972 13973 // VK_EXT_global_priority is a preprocessor guard. Do not pass it to API calls. 13974 #define VK_EXT_global_priority 1 13975 #define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2 13976 #define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority" 13977 typedef VkQueueGlobalPriorityKHR VkQueueGlobalPriorityEXT; 13978 13979 typedef VkDeviceQueueGlobalPriorityCreateInfoKHR VkDeviceQueueGlobalPriorityCreateInfoEXT; 13980 13981 13982 13983 // VK_EXT_external_memory_host is a preprocessor guard. Do not pass it to API calls. 13984 #define VK_EXT_external_memory_host 1 13985 #define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1 13986 #define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host" 13987 typedef struct VkImportMemoryHostPointerInfoEXT { 13988 VkStructureType sType; 13989 const void* pNext; 13990 VkExternalMemoryHandleTypeFlagBits handleType; 13991 void* pHostPointer; 13992 } VkImportMemoryHostPointerInfoEXT; 13993 13994 typedef struct VkMemoryHostPointerPropertiesEXT { 13995 VkStructureType sType; 13996 void* pNext; 13997 uint32_t memoryTypeBits; 13998 } VkMemoryHostPointerPropertiesEXT; 13999 14000 typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT { 14001 VkStructureType sType; 14002 void* pNext; 14003 VkDeviceSize minImportedHostPointerAlignment; 14004 } VkPhysicalDeviceExternalMemoryHostPropertiesEXT; 14005 14006 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties); 14007 14008 #ifndef VK_NO_PROTOTYPES 14009 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT( 14010 VkDevice device, 14011 VkExternalMemoryHandleTypeFlagBits handleType, 14012 const void* pHostPointer, 14013 VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties); 14014 #endif 14015 14016 14017 // VK_AMD_buffer_marker is a preprocessor guard. Do not pass it to API calls. 14018 #define VK_AMD_buffer_marker 1 14019 #define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1 14020 #define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker" 14021 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker); 14022 14023 #ifndef VK_NO_PROTOTYPES 14024 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD( 14025 VkCommandBuffer commandBuffer, 14026 VkPipelineStageFlagBits pipelineStage, 14027 VkBuffer dstBuffer, 14028 VkDeviceSize dstOffset, 14029 uint32_t marker); 14030 #endif 14031 14032 14033 // VK_AMD_pipeline_compiler_control is a preprocessor guard. Do not pass it to API calls. 14034 #define VK_AMD_pipeline_compiler_control 1 14035 #define VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION 1 14036 #define VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME "VK_AMD_pipeline_compiler_control" 14037 14038 typedef enum VkPipelineCompilerControlFlagBitsAMD { 14039 VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF 14040 } VkPipelineCompilerControlFlagBitsAMD; 14041 typedef VkFlags VkPipelineCompilerControlFlagsAMD; 14042 typedef struct VkPipelineCompilerControlCreateInfoAMD { 14043 VkStructureType sType; 14044 const void* pNext; 14045 VkPipelineCompilerControlFlagsAMD compilerControlFlags; 14046 } VkPipelineCompilerControlCreateInfoAMD; 14047 14048 14049 14050 // VK_EXT_calibrated_timestamps is a preprocessor guard. Do not pass it to API calls. 14051 #define VK_EXT_calibrated_timestamps 1 14052 #define VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION 2 14053 #define VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_EXT_calibrated_timestamps" 14054 typedef VkTimeDomainKHR VkTimeDomainEXT; 14055 14056 typedef VkCalibratedTimestampInfoKHR VkCalibratedTimestampInfoEXT; 14057 14058 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainKHR* pTimeDomains); 14059 typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoKHR* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation); 14060 14061 #ifndef VK_NO_PROTOTYPES 14062 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( 14063 VkPhysicalDevice physicalDevice, 14064 uint32_t* pTimeDomainCount, 14065 VkTimeDomainKHR* pTimeDomains); 14066 14067 VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsEXT( 14068 VkDevice device, 14069 uint32_t timestampCount, 14070 const VkCalibratedTimestampInfoKHR* pTimestampInfos, 14071 uint64_t* pTimestamps, 14072 uint64_t* pMaxDeviation); 14073 #endif 14074 14075 14076 // VK_AMD_shader_core_properties is a preprocessor guard. Do not pass it to API calls. 14077 #define VK_AMD_shader_core_properties 1 14078 #define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 2 14079 #define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties" 14080 typedef struct VkPhysicalDeviceShaderCorePropertiesAMD { 14081 VkStructureType sType; 14082 void* pNext; 14083 uint32_t shaderEngineCount; 14084 uint32_t shaderArraysPerEngineCount; 14085 uint32_t computeUnitsPerShaderArray; 14086 uint32_t simdPerComputeUnit; 14087 uint32_t wavefrontsPerSimd; 14088 uint32_t wavefrontSize; 14089 uint32_t sgprsPerSimd; 14090 uint32_t minSgprAllocation; 14091 uint32_t maxSgprAllocation; 14092 uint32_t sgprAllocationGranularity; 14093 uint32_t vgprsPerSimd; 14094 uint32_t minVgprAllocation; 14095 uint32_t maxVgprAllocation; 14096 uint32_t vgprAllocationGranularity; 14097 } VkPhysicalDeviceShaderCorePropertiesAMD; 14098 14099 14100 14101 // VK_AMD_memory_overallocation_behavior is a preprocessor guard. Do not pass it to API calls. 14102 #define VK_AMD_memory_overallocation_behavior 1 14103 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION 1 14104 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME "VK_AMD_memory_overallocation_behavior" 14105 14106 typedef enum VkMemoryOverallocationBehaviorAMD { 14107 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0, 14108 VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD = 1, 14109 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD = 2, 14110 VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD = 0x7FFFFFFF 14111 } VkMemoryOverallocationBehaviorAMD; 14112 typedef struct VkDeviceMemoryOverallocationCreateInfoAMD { 14113 VkStructureType sType; 14114 const void* pNext; 14115 VkMemoryOverallocationBehaviorAMD overallocationBehavior; 14116 } VkDeviceMemoryOverallocationCreateInfoAMD; 14117 14118 14119 14120 // VK_EXT_vertex_attribute_divisor is a preprocessor guard. Do not pass it to API calls. 14121 #define VK_EXT_vertex_attribute_divisor 1 14122 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3 14123 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor" 14124 typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT { 14125 VkStructureType sType; 14126 void* pNext; 14127 uint32_t maxVertexAttribDivisor; 14128 } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT; 14129 14130 typedef VkVertexInputBindingDivisorDescriptionKHR VkVertexInputBindingDivisorDescriptionEXT; 14131 14132 typedef VkPipelineVertexInputDivisorStateCreateInfoKHR VkPipelineVertexInputDivisorStateCreateInfoEXT; 14133 14134 typedef VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT; 14135 14136 14137 14138 // VK_EXT_pipeline_creation_feedback is a preprocessor guard. Do not pass it to API calls. 14139 #define VK_EXT_pipeline_creation_feedback 1 14140 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION 1 14141 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME "VK_EXT_pipeline_creation_feedback" 14142 typedef VkPipelineCreationFeedbackFlagBits VkPipelineCreationFeedbackFlagBitsEXT; 14143 14144 typedef VkPipelineCreationFeedbackFlags VkPipelineCreationFeedbackFlagsEXT; 14145 14146 typedef VkPipelineCreationFeedbackCreateInfo VkPipelineCreationFeedbackCreateInfoEXT; 14147 14148 typedef VkPipelineCreationFeedback VkPipelineCreationFeedbackEXT; 14149 14150 14151 14152 // VK_NV_shader_subgroup_partitioned is a preprocessor guard. Do not pass it to API calls. 14153 #define VK_NV_shader_subgroup_partitioned 1 14154 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1 14155 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned" 14156 14157 14158 // VK_NV_compute_shader_derivatives is a preprocessor guard. Do not pass it to API calls. 14159 #define VK_NV_compute_shader_derivatives 1 14160 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1 14161 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives" 14162 typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV { 14163 VkStructureType sType; 14164 void* pNext; 14165 VkBool32 computeDerivativeGroupQuads; 14166 VkBool32 computeDerivativeGroupLinear; 14167 } VkPhysicalDeviceComputeShaderDerivativesFeaturesNV; 14168 14169 14170 14171 // VK_NV_mesh_shader is a preprocessor guard. Do not pass it to API calls. 14172 #define VK_NV_mesh_shader 1 14173 #define VK_NV_MESH_SHADER_SPEC_VERSION 1 14174 #define VK_NV_MESH_SHADER_EXTENSION_NAME "VK_NV_mesh_shader" 14175 typedef struct VkPhysicalDeviceMeshShaderFeaturesNV { 14176 VkStructureType sType; 14177 void* pNext; 14178 VkBool32 taskShader; 14179 VkBool32 meshShader; 14180 } VkPhysicalDeviceMeshShaderFeaturesNV; 14181 14182 typedef struct VkPhysicalDeviceMeshShaderPropertiesNV { 14183 VkStructureType sType; 14184 void* pNext; 14185 uint32_t maxDrawMeshTasksCount; 14186 uint32_t maxTaskWorkGroupInvocations; 14187 uint32_t maxTaskWorkGroupSize[3]; 14188 uint32_t maxTaskTotalMemorySize; 14189 uint32_t maxTaskOutputCount; 14190 uint32_t maxMeshWorkGroupInvocations; 14191 uint32_t maxMeshWorkGroupSize[3]; 14192 uint32_t maxMeshTotalMemorySize; 14193 uint32_t maxMeshOutputVertices; 14194 uint32_t maxMeshOutputPrimitives; 14195 uint32_t maxMeshMultiviewViewCount; 14196 uint32_t meshOutputPerVertexGranularity; 14197 uint32_t meshOutputPerPrimitiveGranularity; 14198 } VkPhysicalDeviceMeshShaderPropertiesNV; 14199 14200 typedef struct VkDrawMeshTasksIndirectCommandNV { 14201 uint32_t taskCount; 14202 uint32_t firstTask; 14203 } VkDrawMeshTasksIndirectCommandNV; 14204 14205 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksNV)(VkCommandBuffer commandBuffer, uint32_t taskCount, uint32_t firstTask); 14206 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); 14207 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 14208 14209 #ifndef VK_NO_PROTOTYPES 14210 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksNV( 14211 VkCommandBuffer commandBuffer, 14212 uint32_t taskCount, 14213 uint32_t firstTask); 14214 14215 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectNV( 14216 VkCommandBuffer commandBuffer, 14217 VkBuffer buffer, 14218 VkDeviceSize offset, 14219 uint32_t drawCount, 14220 uint32_t stride); 14221 14222 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountNV( 14223 VkCommandBuffer commandBuffer, 14224 VkBuffer buffer, 14225 VkDeviceSize offset, 14226 VkBuffer countBuffer, 14227 VkDeviceSize countBufferOffset, 14228 uint32_t maxDrawCount, 14229 uint32_t stride); 14230 #endif 14231 14232 14233 // VK_NV_fragment_shader_barycentric is a preprocessor guard. Do not pass it to API calls. 14234 #define VK_NV_fragment_shader_barycentric 1 14235 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1 14236 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric" 14237 typedef VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV; 14238 14239 14240 14241 // VK_NV_shader_image_footprint is a preprocessor guard. Do not pass it to API calls. 14242 #define VK_NV_shader_image_footprint 1 14243 #define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 2 14244 #define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint" 14245 typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV { 14246 VkStructureType sType; 14247 void* pNext; 14248 VkBool32 imageFootprint; 14249 } VkPhysicalDeviceShaderImageFootprintFeaturesNV; 14250 14251 14252 14253 // VK_NV_scissor_exclusive is a preprocessor guard. Do not pass it to API calls. 14254 #define VK_NV_scissor_exclusive 1 14255 #define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 2 14256 #define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive" 14257 typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV { 14258 VkStructureType sType; 14259 const void* pNext; 14260 uint32_t exclusiveScissorCount; 14261 const VkRect2D* pExclusiveScissors; 14262 } VkPipelineViewportExclusiveScissorStateCreateInfoNV; 14263 14264 typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV { 14265 VkStructureType sType; 14266 void* pNext; 14267 VkBool32 exclusiveScissor; 14268 } VkPhysicalDeviceExclusiveScissorFeaturesNV; 14269 14270 typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorEnableNV)(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkBool32* pExclusiveScissorEnables); 14271 typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkRect2D* pExclusiveScissors); 14272 14273 #ifndef VK_NO_PROTOTYPES 14274 VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorEnableNV( 14275 VkCommandBuffer commandBuffer, 14276 uint32_t firstExclusiveScissor, 14277 uint32_t exclusiveScissorCount, 14278 const VkBool32* pExclusiveScissorEnables); 14279 14280 VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorNV( 14281 VkCommandBuffer commandBuffer, 14282 uint32_t firstExclusiveScissor, 14283 uint32_t exclusiveScissorCount, 14284 const VkRect2D* pExclusiveScissors); 14285 #endif 14286 14287 14288 // VK_NV_device_diagnostic_checkpoints is a preprocessor guard. Do not pass it to API calls. 14289 #define VK_NV_device_diagnostic_checkpoints 1 14290 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2 14291 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints" 14292 typedef struct VkQueueFamilyCheckpointPropertiesNV { 14293 VkStructureType sType; 14294 void* pNext; 14295 VkPipelineStageFlags checkpointExecutionStageMask; 14296 } VkQueueFamilyCheckpointPropertiesNV; 14297 14298 typedef struct VkCheckpointDataNV { 14299 VkStructureType sType; 14300 void* pNext; 14301 VkPipelineStageFlagBits stage; 14302 void* pCheckpointMarker; 14303 } VkCheckpointDataNV; 14304 14305 typedef void (VKAPI_PTR *PFN_vkCmdSetCheckpointNV)(VkCommandBuffer commandBuffer, const void* pCheckpointMarker); 14306 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointDataNV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData); 14307 14308 #ifndef VK_NO_PROTOTYPES 14309 VKAPI_ATTR void VKAPI_CALL vkCmdSetCheckpointNV( 14310 VkCommandBuffer commandBuffer, 14311 const void* pCheckpointMarker); 14312 14313 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointDataNV( 14314 VkQueue queue, 14315 uint32_t* pCheckpointDataCount, 14316 VkCheckpointDataNV* pCheckpointData); 14317 #endif 14318 14319 14320 // VK_INTEL_shader_integer_functions2 is a preprocessor guard. Do not pass it to API calls. 14321 #define VK_INTEL_shader_integer_functions2 1 14322 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION 1 14323 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME "VK_INTEL_shader_integer_functions2" 14324 typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL { 14325 VkStructureType sType; 14326 void* pNext; 14327 VkBool32 shaderIntegerFunctions2; 14328 } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL; 14329 14330 14331 14332 // VK_INTEL_performance_query is a preprocessor guard. Do not pass it to API calls. 14333 #define VK_INTEL_performance_query 1 14334 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL) 14335 #define VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION 2 14336 #define VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME "VK_INTEL_performance_query" 14337 14338 typedef enum VkPerformanceConfigurationTypeINTEL { 14339 VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0, 14340 VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF 14341 } VkPerformanceConfigurationTypeINTEL; 14342 14343 typedef enum VkQueryPoolSamplingModeINTEL { 14344 VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0, 14345 VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL = 0x7FFFFFFF 14346 } VkQueryPoolSamplingModeINTEL; 14347 14348 typedef enum VkPerformanceOverrideTypeINTEL { 14349 VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0, 14350 VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1, 14351 VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF 14352 } VkPerformanceOverrideTypeINTEL; 14353 14354 typedef enum VkPerformanceParameterTypeINTEL { 14355 VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0, 14356 VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1, 14357 VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF 14358 } VkPerformanceParameterTypeINTEL; 14359 14360 typedef enum VkPerformanceValueTypeINTEL { 14361 VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0, 14362 VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1, 14363 VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL = 2, 14364 VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL = 3, 14365 VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4, 14366 VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF 14367 } VkPerformanceValueTypeINTEL; 14368 typedef union VkPerformanceValueDataINTEL { 14369 uint32_t value32; 14370 uint64_t value64; 14371 float valueFloat; 14372 VkBool32 valueBool; 14373 const char* valueString; 14374 } VkPerformanceValueDataINTEL; 14375 14376 typedef struct VkPerformanceValueINTEL { 14377 VkPerformanceValueTypeINTEL type; 14378 VkPerformanceValueDataINTEL data; 14379 } VkPerformanceValueINTEL; 14380 14381 typedef struct VkInitializePerformanceApiInfoINTEL { 14382 VkStructureType sType; 14383 const void* pNext; 14384 void* pUserData; 14385 } VkInitializePerformanceApiInfoINTEL; 14386 14387 typedef struct VkQueryPoolPerformanceQueryCreateInfoINTEL { 14388 VkStructureType sType; 14389 const void* pNext; 14390 VkQueryPoolSamplingModeINTEL performanceCountersSampling; 14391 } VkQueryPoolPerformanceQueryCreateInfoINTEL; 14392 14393 typedef VkQueryPoolPerformanceQueryCreateInfoINTEL VkQueryPoolCreateInfoINTEL; 14394 14395 typedef struct VkPerformanceMarkerInfoINTEL { 14396 VkStructureType sType; 14397 const void* pNext; 14398 uint64_t marker; 14399 } VkPerformanceMarkerInfoINTEL; 14400 14401 typedef struct VkPerformanceStreamMarkerInfoINTEL { 14402 VkStructureType sType; 14403 const void* pNext; 14404 uint32_t marker; 14405 } VkPerformanceStreamMarkerInfoINTEL; 14406 14407 typedef struct VkPerformanceOverrideInfoINTEL { 14408 VkStructureType sType; 14409 const void* pNext; 14410 VkPerformanceOverrideTypeINTEL type; 14411 VkBool32 enable; 14412 uint64_t parameter; 14413 } VkPerformanceOverrideInfoINTEL; 14414 14415 typedef struct VkPerformanceConfigurationAcquireInfoINTEL { 14416 VkStructureType sType; 14417 const void* pNext; 14418 VkPerformanceConfigurationTypeINTEL type; 14419 } VkPerformanceConfigurationAcquireInfoINTEL; 14420 14421 typedef VkResult (VKAPI_PTR *PFN_vkInitializePerformanceApiINTEL)(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo); 14422 typedef void (VKAPI_PTR *PFN_vkUninitializePerformanceApiINTEL)(VkDevice device); 14423 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo); 14424 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceStreamMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo); 14425 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceOverrideINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo); 14426 typedef VkResult (VKAPI_PTR *PFN_vkAcquirePerformanceConfigurationINTEL)(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration); 14427 typedef VkResult (VKAPI_PTR *PFN_vkReleasePerformanceConfigurationINTEL)(VkDevice device, VkPerformanceConfigurationINTEL configuration); 14428 typedef VkResult (VKAPI_PTR *PFN_vkQueueSetPerformanceConfigurationINTEL)(VkQueue queue, VkPerformanceConfigurationINTEL configuration); 14429 typedef VkResult (VKAPI_PTR *PFN_vkGetPerformanceParameterINTEL)(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue); 14430 14431 #ifndef VK_NO_PROTOTYPES 14432 VKAPI_ATTR VkResult VKAPI_CALL vkInitializePerformanceApiINTEL( 14433 VkDevice device, 14434 const VkInitializePerformanceApiInfoINTEL* pInitializeInfo); 14435 14436 VKAPI_ATTR void VKAPI_CALL vkUninitializePerformanceApiINTEL( 14437 VkDevice device); 14438 14439 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceMarkerINTEL( 14440 VkCommandBuffer commandBuffer, 14441 const VkPerformanceMarkerInfoINTEL* pMarkerInfo); 14442 14443 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceStreamMarkerINTEL( 14444 VkCommandBuffer commandBuffer, 14445 const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo); 14446 14447 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceOverrideINTEL( 14448 VkCommandBuffer commandBuffer, 14449 const VkPerformanceOverrideInfoINTEL* pOverrideInfo); 14450 14451 VKAPI_ATTR VkResult VKAPI_CALL vkAcquirePerformanceConfigurationINTEL( 14452 VkDevice device, 14453 const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, 14454 VkPerformanceConfigurationINTEL* pConfiguration); 14455 14456 VKAPI_ATTR VkResult VKAPI_CALL vkReleasePerformanceConfigurationINTEL( 14457 VkDevice device, 14458 VkPerformanceConfigurationINTEL configuration); 14459 14460 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSetPerformanceConfigurationINTEL( 14461 VkQueue queue, 14462 VkPerformanceConfigurationINTEL configuration); 14463 14464 VKAPI_ATTR VkResult VKAPI_CALL vkGetPerformanceParameterINTEL( 14465 VkDevice device, 14466 VkPerformanceParameterTypeINTEL parameter, 14467 VkPerformanceValueINTEL* pValue); 14468 #endif 14469 14470 14471 // VK_EXT_pci_bus_info is a preprocessor guard. Do not pass it to API calls. 14472 #define VK_EXT_pci_bus_info 1 14473 #define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2 14474 #define VK_EXT_PCI_BUS_INFO_EXTENSION_NAME "VK_EXT_pci_bus_info" 14475 typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT { 14476 VkStructureType sType; 14477 void* pNext; 14478 uint32_t pciDomain; 14479 uint32_t pciBus; 14480 uint32_t pciDevice; 14481 uint32_t pciFunction; 14482 } VkPhysicalDevicePCIBusInfoPropertiesEXT; 14483 14484 14485 14486 // VK_AMD_display_native_hdr is a preprocessor guard. Do not pass it to API calls. 14487 #define VK_AMD_display_native_hdr 1 14488 #define VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION 1 14489 #define VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME "VK_AMD_display_native_hdr" 14490 typedef struct VkDisplayNativeHdrSurfaceCapabilitiesAMD { 14491 VkStructureType sType; 14492 void* pNext; 14493 VkBool32 localDimmingSupport; 14494 } VkDisplayNativeHdrSurfaceCapabilitiesAMD; 14495 14496 typedef struct VkSwapchainDisplayNativeHdrCreateInfoAMD { 14497 VkStructureType sType; 14498 const void* pNext; 14499 VkBool32 localDimmingEnable; 14500 } VkSwapchainDisplayNativeHdrCreateInfoAMD; 14501 14502 typedef void (VKAPI_PTR *PFN_vkSetLocalDimmingAMD)(VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable); 14503 14504 #ifndef VK_NO_PROTOTYPES 14505 VKAPI_ATTR void VKAPI_CALL vkSetLocalDimmingAMD( 14506 VkDevice device, 14507 VkSwapchainKHR swapChain, 14508 VkBool32 localDimmingEnable); 14509 #endif 14510 14511 14512 // VK_EXT_fragment_density_map is a preprocessor guard. Do not pass it to API calls. 14513 #define VK_EXT_fragment_density_map 1 14514 #define VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION 2 14515 #define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map" 14516 typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT { 14517 VkStructureType sType; 14518 void* pNext; 14519 VkBool32 fragmentDensityMap; 14520 VkBool32 fragmentDensityMapDynamic; 14521 VkBool32 fragmentDensityMapNonSubsampledImages; 14522 } VkPhysicalDeviceFragmentDensityMapFeaturesEXT; 14523 14524 typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT { 14525 VkStructureType sType; 14526 void* pNext; 14527 VkExtent2D minFragmentDensityTexelSize; 14528 VkExtent2D maxFragmentDensityTexelSize; 14529 VkBool32 fragmentDensityInvocations; 14530 } VkPhysicalDeviceFragmentDensityMapPropertiesEXT; 14531 14532 typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT { 14533 VkStructureType sType; 14534 const void* pNext; 14535 VkAttachmentReference fragmentDensityMapAttachment; 14536 } VkRenderPassFragmentDensityMapCreateInfoEXT; 14537 14538 14539 14540 // VK_EXT_scalar_block_layout is a preprocessor guard. Do not pass it to API calls. 14541 #define VK_EXT_scalar_block_layout 1 14542 #define VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION 1 14543 #define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout" 14544 typedef VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeaturesEXT; 14545 14546 14547 14548 // VK_GOOGLE_hlsl_functionality1 is a preprocessor guard. Do not pass it to API calls. 14549 #define VK_GOOGLE_hlsl_functionality1 1 14550 #define VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION 1 14551 #define VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1" 14552 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION 14553 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME 14554 14555 14556 // VK_GOOGLE_decorate_string is a preprocessor guard. Do not pass it to API calls. 14557 #define VK_GOOGLE_decorate_string 1 14558 #define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1 14559 #define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string" 14560 14561 14562 // VK_EXT_subgroup_size_control is a preprocessor guard. Do not pass it to API calls. 14563 #define VK_EXT_subgroup_size_control 1 14564 #define VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION 2 14565 #define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control" 14566 typedef VkPhysicalDeviceSubgroupSizeControlFeatures VkPhysicalDeviceSubgroupSizeControlFeaturesEXT; 14567 14568 typedef VkPhysicalDeviceSubgroupSizeControlProperties VkPhysicalDeviceSubgroupSizeControlPropertiesEXT; 14569 14570 typedef VkPipelineShaderStageRequiredSubgroupSizeCreateInfo VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT; 14571 14572 14573 14574 // VK_AMD_shader_core_properties2 is a preprocessor guard. Do not pass it to API calls. 14575 #define VK_AMD_shader_core_properties2 1 14576 #define VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION 1 14577 #define VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME "VK_AMD_shader_core_properties2" 14578 14579 typedef enum VkShaderCorePropertiesFlagBitsAMD { 14580 VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF 14581 } VkShaderCorePropertiesFlagBitsAMD; 14582 typedef VkFlags VkShaderCorePropertiesFlagsAMD; 14583 typedef struct VkPhysicalDeviceShaderCoreProperties2AMD { 14584 VkStructureType sType; 14585 void* pNext; 14586 VkShaderCorePropertiesFlagsAMD shaderCoreFeatures; 14587 uint32_t activeComputeUnitCount; 14588 } VkPhysicalDeviceShaderCoreProperties2AMD; 14589 14590 14591 14592 // VK_AMD_device_coherent_memory is a preprocessor guard. Do not pass it to API calls. 14593 #define VK_AMD_device_coherent_memory 1 14594 #define VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION 1 14595 #define VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME "VK_AMD_device_coherent_memory" 14596 typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD { 14597 VkStructureType sType; 14598 void* pNext; 14599 VkBool32 deviceCoherentMemory; 14600 } VkPhysicalDeviceCoherentMemoryFeaturesAMD; 14601 14602 14603 14604 // VK_EXT_shader_image_atomic_int64 is a preprocessor guard. Do not pass it to API calls. 14605 #define VK_EXT_shader_image_atomic_int64 1 14606 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION 1 14607 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME "VK_EXT_shader_image_atomic_int64" 14608 typedef struct VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT { 14609 VkStructureType sType; 14610 void* pNext; 14611 VkBool32 shaderImageInt64Atomics; 14612 VkBool32 sparseImageInt64Atomics; 14613 } VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT; 14614 14615 14616 14617 // VK_EXT_memory_budget is a preprocessor guard. Do not pass it to API calls. 14618 #define VK_EXT_memory_budget 1 14619 #define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1 14620 #define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget" 14621 typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT { 14622 VkStructureType sType; 14623 void* pNext; 14624 VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS]; 14625 VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS]; 14626 } VkPhysicalDeviceMemoryBudgetPropertiesEXT; 14627 14628 14629 14630 // VK_EXT_memory_priority is a preprocessor guard. Do not pass it to API calls. 14631 #define VK_EXT_memory_priority 1 14632 #define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1 14633 #define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority" 14634 typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT { 14635 VkStructureType sType; 14636 void* pNext; 14637 VkBool32 memoryPriority; 14638 } VkPhysicalDeviceMemoryPriorityFeaturesEXT; 14639 14640 typedef struct VkMemoryPriorityAllocateInfoEXT { 14641 VkStructureType sType; 14642 const void* pNext; 14643 float priority; 14644 } VkMemoryPriorityAllocateInfoEXT; 14645 14646 14647 14648 // VK_NV_dedicated_allocation_image_aliasing is a preprocessor guard. Do not pass it to API calls. 14649 #define VK_NV_dedicated_allocation_image_aliasing 1 14650 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION 1 14651 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing" 14652 typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV { 14653 VkStructureType sType; 14654 void* pNext; 14655 VkBool32 dedicatedAllocationImageAliasing; 14656 } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV; 14657 14658 14659 14660 // VK_EXT_buffer_device_address is a preprocessor guard. Do not pass it to API calls. 14661 #define VK_EXT_buffer_device_address 1 14662 #define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2 14663 #define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address" 14664 typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT { 14665 VkStructureType sType; 14666 void* pNext; 14667 VkBool32 bufferDeviceAddress; 14668 VkBool32 bufferDeviceAddressCaptureReplay; 14669 VkBool32 bufferDeviceAddressMultiDevice; 14670 } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT; 14671 14672 typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT; 14673 14674 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoEXT; 14675 14676 typedef struct VkBufferDeviceAddressCreateInfoEXT { 14677 VkStructureType sType; 14678 const void* pNext; 14679 VkDeviceAddress deviceAddress; 14680 } VkBufferDeviceAddressCreateInfoEXT; 14681 14682 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressEXT)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 14683 14684 #ifndef VK_NO_PROTOTYPES 14685 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressEXT( 14686 VkDevice device, 14687 const VkBufferDeviceAddressInfo* pInfo); 14688 #endif 14689 14690 14691 // VK_EXT_tooling_info is a preprocessor guard. Do not pass it to API calls. 14692 #define VK_EXT_tooling_info 1 14693 #define VK_EXT_TOOLING_INFO_SPEC_VERSION 1 14694 #define VK_EXT_TOOLING_INFO_EXTENSION_NAME "VK_EXT_tooling_info" 14695 typedef VkToolPurposeFlagBits VkToolPurposeFlagBitsEXT; 14696 14697 typedef VkToolPurposeFlags VkToolPurposeFlagsEXT; 14698 14699 typedef VkPhysicalDeviceToolProperties VkPhysicalDeviceToolPropertiesEXT; 14700 14701 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolPropertiesEXT)(VkPhysicalDevice physicalDevice, uint32_t* pToolCount, VkPhysicalDeviceToolProperties* pToolProperties); 14702 14703 #ifndef VK_NO_PROTOTYPES 14704 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolPropertiesEXT( 14705 VkPhysicalDevice physicalDevice, 14706 uint32_t* pToolCount, 14707 VkPhysicalDeviceToolProperties* pToolProperties); 14708 #endif 14709 14710 14711 // VK_EXT_separate_stencil_usage is a preprocessor guard. Do not pass it to API calls. 14712 #define VK_EXT_separate_stencil_usage 1 14713 #define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1 14714 #define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage" 14715 typedef VkImageStencilUsageCreateInfo VkImageStencilUsageCreateInfoEXT; 14716 14717 14718 14719 // VK_EXT_validation_features is a preprocessor guard. Do not pass it to API calls. 14720 #define VK_EXT_validation_features 1 14721 #define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 6 14722 #define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features" 14723 14724 typedef enum VkValidationFeatureEnableEXT { 14725 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0, 14726 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1, 14727 VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2, 14728 VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3, 14729 VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT = 4, 14730 VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF 14731 } VkValidationFeatureEnableEXT; 14732 14733 typedef enum VkValidationFeatureDisableEXT { 14734 VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0, 14735 VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1, 14736 VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2, 14737 VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3, 14738 VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4, 14739 VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5, 14740 VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6, 14741 VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT = 7, 14742 VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF 14743 } VkValidationFeatureDisableEXT; 14744 typedef struct VkValidationFeaturesEXT { 14745 VkStructureType sType; 14746 const void* pNext; 14747 uint32_t enabledValidationFeatureCount; 14748 const VkValidationFeatureEnableEXT* pEnabledValidationFeatures; 14749 uint32_t disabledValidationFeatureCount; 14750 const VkValidationFeatureDisableEXT* pDisabledValidationFeatures; 14751 } VkValidationFeaturesEXT; 14752 14753 14754 14755 // VK_NV_cooperative_matrix is a preprocessor guard. Do not pass it to API calls. 14756 #define VK_NV_cooperative_matrix 1 14757 #define VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION 1 14758 #define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix" 14759 typedef VkComponentTypeKHR VkComponentTypeNV; 14760 14761 typedef VkScopeKHR VkScopeNV; 14762 14763 typedef struct VkCooperativeMatrixPropertiesNV { 14764 VkStructureType sType; 14765 void* pNext; 14766 uint32_t MSize; 14767 uint32_t NSize; 14768 uint32_t KSize; 14769 VkComponentTypeNV AType; 14770 VkComponentTypeNV BType; 14771 VkComponentTypeNV CType; 14772 VkComponentTypeNV DType; 14773 VkScopeNV scope; 14774 } VkCooperativeMatrixPropertiesNV; 14775 14776 typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV { 14777 VkStructureType sType; 14778 void* pNext; 14779 VkBool32 cooperativeMatrix; 14780 VkBool32 cooperativeMatrixRobustBufferAccess; 14781 } VkPhysicalDeviceCooperativeMatrixFeaturesNV; 14782 14783 typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV { 14784 VkStructureType sType; 14785 void* pNext; 14786 VkShaderStageFlags cooperativeMatrixSupportedStages; 14787 } VkPhysicalDeviceCooperativeMatrixPropertiesNV; 14788 14789 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties); 14790 14791 #ifndef VK_NO_PROTOTYPES 14792 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( 14793 VkPhysicalDevice physicalDevice, 14794 uint32_t* pPropertyCount, 14795 VkCooperativeMatrixPropertiesNV* pProperties); 14796 #endif 14797 14798 14799 // VK_NV_coverage_reduction_mode is a preprocessor guard. Do not pass it to API calls. 14800 #define VK_NV_coverage_reduction_mode 1 14801 #define VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION 1 14802 #define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode" 14803 14804 typedef enum VkCoverageReductionModeNV { 14805 VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0, 14806 VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1, 14807 VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV = 0x7FFFFFFF 14808 } VkCoverageReductionModeNV; 14809 typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV; 14810 typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV { 14811 VkStructureType sType; 14812 void* pNext; 14813 VkBool32 coverageReductionMode; 14814 } VkPhysicalDeviceCoverageReductionModeFeaturesNV; 14815 14816 typedef struct VkPipelineCoverageReductionStateCreateInfoNV { 14817 VkStructureType sType; 14818 const void* pNext; 14819 VkPipelineCoverageReductionStateCreateFlagsNV flags; 14820 VkCoverageReductionModeNV coverageReductionMode; 14821 } VkPipelineCoverageReductionStateCreateInfoNV; 14822 14823 typedef struct VkFramebufferMixedSamplesCombinationNV { 14824 VkStructureType sType; 14825 void* pNext; 14826 VkCoverageReductionModeNV coverageReductionMode; 14827 VkSampleCountFlagBits rasterizationSamples; 14828 VkSampleCountFlags depthStencilSamples; 14829 VkSampleCountFlags colorSamples; 14830 } VkFramebufferMixedSamplesCombinationNV; 14831 14832 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)(VkPhysicalDevice physicalDevice, uint32_t* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations); 14833 14834 #ifndef VK_NO_PROTOTYPES 14835 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( 14836 VkPhysicalDevice physicalDevice, 14837 uint32_t* pCombinationCount, 14838 VkFramebufferMixedSamplesCombinationNV* pCombinations); 14839 #endif 14840 14841 14842 // VK_EXT_fragment_shader_interlock is a preprocessor guard. Do not pass it to API calls. 14843 #define VK_EXT_fragment_shader_interlock 1 14844 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1 14845 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock" 14846 typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT { 14847 VkStructureType sType; 14848 void* pNext; 14849 VkBool32 fragmentShaderSampleInterlock; 14850 VkBool32 fragmentShaderPixelInterlock; 14851 VkBool32 fragmentShaderShadingRateInterlock; 14852 } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT; 14853 14854 14855 14856 // VK_EXT_ycbcr_image_arrays is a preprocessor guard. Do not pass it to API calls. 14857 #define VK_EXT_ycbcr_image_arrays 1 14858 #define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1 14859 #define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays" 14860 typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT { 14861 VkStructureType sType; 14862 void* pNext; 14863 VkBool32 ycbcrImageArrays; 14864 } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT; 14865 14866 14867 14868 // VK_EXT_provoking_vertex is a preprocessor guard. Do not pass it to API calls. 14869 #define VK_EXT_provoking_vertex 1 14870 #define VK_EXT_PROVOKING_VERTEX_SPEC_VERSION 1 14871 #define VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME "VK_EXT_provoking_vertex" 14872 14873 typedef enum VkProvokingVertexModeEXT { 14874 VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT = 0, 14875 VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT = 1, 14876 VK_PROVOKING_VERTEX_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 14877 } VkProvokingVertexModeEXT; 14878 typedef struct VkPhysicalDeviceProvokingVertexFeaturesEXT { 14879 VkStructureType sType; 14880 void* pNext; 14881 VkBool32 provokingVertexLast; 14882 VkBool32 transformFeedbackPreservesProvokingVertex; 14883 } VkPhysicalDeviceProvokingVertexFeaturesEXT; 14884 14885 typedef struct VkPhysicalDeviceProvokingVertexPropertiesEXT { 14886 VkStructureType sType; 14887 void* pNext; 14888 VkBool32 provokingVertexModePerPipeline; 14889 VkBool32 transformFeedbackPreservesTriangleFanProvokingVertex; 14890 } VkPhysicalDeviceProvokingVertexPropertiesEXT; 14891 14892 typedef struct VkPipelineRasterizationProvokingVertexStateCreateInfoEXT { 14893 VkStructureType sType; 14894 const void* pNext; 14895 VkProvokingVertexModeEXT provokingVertexMode; 14896 } VkPipelineRasterizationProvokingVertexStateCreateInfoEXT; 14897 14898 14899 14900 // VK_EXT_headless_surface is a preprocessor guard. Do not pass it to API calls. 14901 #define VK_EXT_headless_surface 1 14902 #define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 1 14903 #define VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME "VK_EXT_headless_surface" 14904 typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT; 14905 typedef struct VkHeadlessSurfaceCreateInfoEXT { 14906 VkStructureType sType; 14907 const void* pNext; 14908 VkHeadlessSurfaceCreateFlagsEXT flags; 14909 } VkHeadlessSurfaceCreateInfoEXT; 14910 14911 typedef VkResult (VKAPI_PTR *PFN_vkCreateHeadlessSurfaceEXT)(VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); 14912 14913 #ifndef VK_NO_PROTOTYPES 14914 VKAPI_ATTR VkResult VKAPI_CALL vkCreateHeadlessSurfaceEXT( 14915 VkInstance instance, 14916 const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, 14917 const VkAllocationCallbacks* pAllocator, 14918 VkSurfaceKHR* pSurface); 14919 #endif 14920 14921 14922 // VK_EXT_line_rasterization is a preprocessor guard. Do not pass it to API calls. 14923 #define VK_EXT_line_rasterization 1 14924 #define VK_EXT_LINE_RASTERIZATION_SPEC_VERSION 1 14925 #define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization" 14926 typedef VkLineRasterizationModeKHR VkLineRasterizationModeEXT; 14927 14928 typedef VkPhysicalDeviceLineRasterizationFeaturesKHR VkPhysicalDeviceLineRasterizationFeaturesEXT; 14929 14930 typedef VkPhysicalDeviceLineRasterizationPropertiesKHR VkPhysicalDeviceLineRasterizationPropertiesEXT; 14931 14932 typedef VkPipelineRasterizationLineStateCreateInfoKHR VkPipelineRasterizationLineStateCreateInfoEXT; 14933 14934 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEXT)(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern); 14935 14936 #ifndef VK_NO_PROTOTYPES 14937 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEXT( 14938 VkCommandBuffer commandBuffer, 14939 uint32_t lineStippleFactor, 14940 uint16_t lineStipplePattern); 14941 #endif 14942 14943 14944 // VK_EXT_shader_atomic_float is a preprocessor guard. Do not pass it to API calls. 14945 #define VK_EXT_shader_atomic_float 1 14946 #define VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION 1 14947 #define VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME "VK_EXT_shader_atomic_float" 14948 typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT { 14949 VkStructureType sType; 14950 void* pNext; 14951 VkBool32 shaderBufferFloat32Atomics; 14952 VkBool32 shaderBufferFloat32AtomicAdd; 14953 VkBool32 shaderBufferFloat64Atomics; 14954 VkBool32 shaderBufferFloat64AtomicAdd; 14955 VkBool32 shaderSharedFloat32Atomics; 14956 VkBool32 shaderSharedFloat32AtomicAdd; 14957 VkBool32 shaderSharedFloat64Atomics; 14958 VkBool32 shaderSharedFloat64AtomicAdd; 14959 VkBool32 shaderImageFloat32Atomics; 14960 VkBool32 shaderImageFloat32AtomicAdd; 14961 VkBool32 sparseImageFloat32Atomics; 14962 VkBool32 sparseImageFloat32AtomicAdd; 14963 } VkPhysicalDeviceShaderAtomicFloatFeaturesEXT; 14964 14965 14966 14967 // VK_EXT_host_query_reset is a preprocessor guard. Do not pass it to API calls. 14968 #define VK_EXT_host_query_reset 1 14969 #define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1 14970 #define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset" 14971 typedef VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeaturesEXT; 14972 14973 typedef void (VKAPI_PTR *PFN_vkResetQueryPoolEXT)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount); 14974 14975 #ifndef VK_NO_PROTOTYPES 14976 VKAPI_ATTR void VKAPI_CALL vkResetQueryPoolEXT( 14977 VkDevice device, 14978 VkQueryPool queryPool, 14979 uint32_t firstQuery, 14980 uint32_t queryCount); 14981 #endif 14982 14983 14984 // VK_EXT_index_type_uint8 is a preprocessor guard. Do not pass it to API calls. 14985 #define VK_EXT_index_type_uint8 1 14986 #define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1 14987 #define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8" 14988 typedef VkPhysicalDeviceIndexTypeUint8FeaturesKHR VkPhysicalDeviceIndexTypeUint8FeaturesEXT; 14989 14990 14991 14992 // VK_EXT_extended_dynamic_state is a preprocessor guard. Do not pass it to API calls. 14993 #define VK_EXT_extended_dynamic_state 1 14994 #define VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION 1 14995 #define VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_extended_dynamic_state" 14996 typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT { 14997 VkStructureType sType; 14998 void* pNext; 14999 VkBool32 extendedDynamicState; 15000 } VkPhysicalDeviceExtendedDynamicStateFeaturesEXT; 15001 15002 typedef void (VKAPI_PTR *PFN_vkCmdSetCullModeEXT)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode); 15003 typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFaceEXT)(VkCommandBuffer commandBuffer, VkFrontFace frontFace); 15004 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopologyEXT)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology); 15005 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCountEXT)(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports); 15006 typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCountEXT)(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors); 15007 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); 15008 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable); 15009 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable); 15010 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOpEXT)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp); 15011 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable); 15012 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable); 15013 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOpEXT)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp); 15014 15015 #ifndef VK_NO_PROTOTYPES 15016 VKAPI_ATTR void VKAPI_CALL vkCmdSetCullModeEXT( 15017 VkCommandBuffer commandBuffer, 15018 VkCullModeFlags cullMode); 15019 15020 VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFaceEXT( 15021 VkCommandBuffer commandBuffer, 15022 VkFrontFace frontFace); 15023 15024 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopologyEXT( 15025 VkCommandBuffer commandBuffer, 15026 VkPrimitiveTopology primitiveTopology); 15027 15028 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCountEXT( 15029 VkCommandBuffer commandBuffer, 15030 uint32_t viewportCount, 15031 const VkViewport* pViewports); 15032 15033 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCountEXT( 15034 VkCommandBuffer commandBuffer, 15035 uint32_t scissorCount, 15036 const VkRect2D* pScissors); 15037 15038 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2EXT( 15039 VkCommandBuffer commandBuffer, 15040 uint32_t firstBinding, 15041 uint32_t bindingCount, 15042 const VkBuffer* pBuffers, 15043 const VkDeviceSize* pOffsets, 15044 const VkDeviceSize* pSizes, 15045 const VkDeviceSize* pStrides); 15046 15047 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnableEXT( 15048 VkCommandBuffer commandBuffer, 15049 VkBool32 depthTestEnable); 15050 15051 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnableEXT( 15052 VkCommandBuffer commandBuffer, 15053 VkBool32 depthWriteEnable); 15054 15055 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOpEXT( 15056 VkCommandBuffer commandBuffer, 15057 VkCompareOp depthCompareOp); 15058 15059 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnableEXT( 15060 VkCommandBuffer commandBuffer, 15061 VkBool32 depthBoundsTestEnable); 15062 15063 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnableEXT( 15064 VkCommandBuffer commandBuffer, 15065 VkBool32 stencilTestEnable); 15066 15067 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOpEXT( 15068 VkCommandBuffer commandBuffer, 15069 VkStencilFaceFlags faceMask, 15070 VkStencilOp failOp, 15071 VkStencilOp passOp, 15072 VkStencilOp depthFailOp, 15073 VkCompareOp compareOp); 15074 #endif 15075 15076 15077 // VK_EXT_host_image_copy is a preprocessor guard. Do not pass it to API calls. 15078 #define VK_EXT_host_image_copy 1 15079 #define VK_EXT_HOST_IMAGE_COPY_SPEC_VERSION 1 15080 #define VK_EXT_HOST_IMAGE_COPY_EXTENSION_NAME "VK_EXT_host_image_copy" 15081 15082 typedef enum VkHostImageCopyFlagBitsEXT { 15083 VK_HOST_IMAGE_COPY_MEMCPY_EXT = 0x00000001, 15084 VK_HOST_IMAGE_COPY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 15085 } VkHostImageCopyFlagBitsEXT; 15086 typedef VkFlags VkHostImageCopyFlagsEXT; 15087 typedef struct VkPhysicalDeviceHostImageCopyFeaturesEXT { 15088 VkStructureType sType; 15089 void* pNext; 15090 VkBool32 hostImageCopy; 15091 } VkPhysicalDeviceHostImageCopyFeaturesEXT; 15092 15093 typedef struct VkPhysicalDeviceHostImageCopyPropertiesEXT { 15094 VkStructureType sType; 15095 void* pNext; 15096 uint32_t copySrcLayoutCount; 15097 VkImageLayout* pCopySrcLayouts; 15098 uint32_t copyDstLayoutCount; 15099 VkImageLayout* pCopyDstLayouts; 15100 uint8_t optimalTilingLayoutUUID[VK_UUID_SIZE]; 15101 VkBool32 identicalMemoryTypeRequirements; 15102 } VkPhysicalDeviceHostImageCopyPropertiesEXT; 15103 15104 typedef struct VkMemoryToImageCopyEXT { 15105 VkStructureType sType; 15106 const void* pNext; 15107 const void* pHostPointer; 15108 uint32_t memoryRowLength; 15109 uint32_t memoryImageHeight; 15110 VkImageSubresourceLayers imageSubresource; 15111 VkOffset3D imageOffset; 15112 VkExtent3D imageExtent; 15113 } VkMemoryToImageCopyEXT; 15114 15115 typedef struct VkImageToMemoryCopyEXT { 15116 VkStructureType sType; 15117 const void* pNext; 15118 void* pHostPointer; 15119 uint32_t memoryRowLength; 15120 uint32_t memoryImageHeight; 15121 VkImageSubresourceLayers imageSubresource; 15122 VkOffset3D imageOffset; 15123 VkExtent3D imageExtent; 15124 } VkImageToMemoryCopyEXT; 15125 15126 typedef struct VkCopyMemoryToImageInfoEXT { 15127 VkStructureType sType; 15128 const void* pNext; 15129 VkHostImageCopyFlagsEXT flags; 15130 VkImage dstImage; 15131 VkImageLayout dstImageLayout; 15132 uint32_t regionCount; 15133 const VkMemoryToImageCopyEXT* pRegions; 15134 } VkCopyMemoryToImageInfoEXT; 15135 15136 typedef struct VkCopyImageToMemoryInfoEXT { 15137 VkStructureType sType; 15138 const void* pNext; 15139 VkHostImageCopyFlagsEXT flags; 15140 VkImage srcImage; 15141 VkImageLayout srcImageLayout; 15142 uint32_t regionCount; 15143 const VkImageToMemoryCopyEXT* pRegions; 15144 } VkCopyImageToMemoryInfoEXT; 15145 15146 typedef struct VkCopyImageToImageInfoEXT { 15147 VkStructureType sType; 15148 const void* pNext; 15149 VkHostImageCopyFlagsEXT flags; 15150 VkImage srcImage; 15151 VkImageLayout srcImageLayout; 15152 VkImage dstImage; 15153 VkImageLayout dstImageLayout; 15154 uint32_t regionCount; 15155 const VkImageCopy2* pRegions; 15156 } VkCopyImageToImageInfoEXT; 15157 15158 typedef struct VkHostImageLayoutTransitionInfoEXT { 15159 VkStructureType sType; 15160 const void* pNext; 15161 VkImage image; 15162 VkImageLayout oldLayout; 15163 VkImageLayout newLayout; 15164 VkImageSubresourceRange subresourceRange; 15165 } VkHostImageLayoutTransitionInfoEXT; 15166 15167 typedef struct VkSubresourceHostMemcpySizeEXT { 15168 VkStructureType sType; 15169 void* pNext; 15170 VkDeviceSize size; 15171 } VkSubresourceHostMemcpySizeEXT; 15172 15173 typedef struct VkHostImageCopyDevicePerformanceQueryEXT { 15174 VkStructureType sType; 15175 void* pNext; 15176 VkBool32 optimalDeviceAccess; 15177 VkBool32 identicalMemoryLayout; 15178 } VkHostImageCopyDevicePerformanceQueryEXT; 15179 15180 typedef VkSubresourceLayout2KHR VkSubresourceLayout2EXT; 15181 15182 typedef VkImageSubresource2KHR VkImageSubresource2EXT; 15183 15184 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToImageEXT)(VkDevice device, const VkCopyMemoryToImageInfoEXT* pCopyMemoryToImageInfo); 15185 typedef VkResult (VKAPI_PTR *PFN_vkCopyImageToMemoryEXT)(VkDevice device, const VkCopyImageToMemoryInfoEXT* pCopyImageToMemoryInfo); 15186 typedef VkResult (VKAPI_PTR *PFN_vkCopyImageToImageEXT)(VkDevice device, const VkCopyImageToImageInfoEXT* pCopyImageToImageInfo); 15187 typedef VkResult (VKAPI_PTR *PFN_vkTransitionImageLayoutEXT)(VkDevice device, uint32_t transitionCount, const VkHostImageLayoutTransitionInfoEXT* pTransitions); 15188 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout2EXT)(VkDevice device, VkImage image, const VkImageSubresource2KHR* pSubresource, VkSubresourceLayout2KHR* pLayout); 15189 15190 #ifndef VK_NO_PROTOTYPES 15191 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToImageEXT( 15192 VkDevice device, 15193 const VkCopyMemoryToImageInfoEXT* pCopyMemoryToImageInfo); 15194 15195 VKAPI_ATTR VkResult VKAPI_CALL vkCopyImageToMemoryEXT( 15196 VkDevice device, 15197 const VkCopyImageToMemoryInfoEXT* pCopyImageToMemoryInfo); 15198 15199 VKAPI_ATTR VkResult VKAPI_CALL vkCopyImageToImageEXT( 15200 VkDevice device, 15201 const VkCopyImageToImageInfoEXT* pCopyImageToImageInfo); 15202 15203 VKAPI_ATTR VkResult VKAPI_CALL vkTransitionImageLayoutEXT( 15204 VkDevice device, 15205 uint32_t transitionCount, 15206 const VkHostImageLayoutTransitionInfoEXT* pTransitions); 15207 15208 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout2EXT( 15209 VkDevice device, 15210 VkImage image, 15211 const VkImageSubresource2KHR* pSubresource, 15212 VkSubresourceLayout2KHR* pLayout); 15213 #endif 15214 15215 15216 // VK_EXT_map_memory_placed is a preprocessor guard. Do not pass it to API calls. 15217 #define VK_EXT_map_memory_placed 1 15218 #define VK_EXT_MAP_MEMORY_PLACED_SPEC_VERSION 1 15219 #define VK_EXT_MAP_MEMORY_PLACED_EXTENSION_NAME "VK_EXT_map_memory_placed" 15220 typedef struct VkPhysicalDeviceMapMemoryPlacedFeaturesEXT { 15221 VkStructureType sType; 15222 void* pNext; 15223 VkBool32 memoryMapPlaced; 15224 VkBool32 memoryMapRangePlaced; 15225 VkBool32 memoryUnmapReserve; 15226 } VkPhysicalDeviceMapMemoryPlacedFeaturesEXT; 15227 15228 typedef struct VkPhysicalDeviceMapMemoryPlacedPropertiesEXT { 15229 VkStructureType sType; 15230 void* pNext; 15231 VkDeviceSize minPlacedMemoryMapAlignment; 15232 } VkPhysicalDeviceMapMemoryPlacedPropertiesEXT; 15233 15234 typedef struct VkMemoryMapPlacedInfoEXT { 15235 VkStructureType sType; 15236 const void* pNext; 15237 void* pPlacedAddress; 15238 } VkMemoryMapPlacedInfoEXT; 15239 15240 15241 15242 // VK_EXT_shader_atomic_float2 is a preprocessor guard. Do not pass it to API calls. 15243 #define VK_EXT_shader_atomic_float2 1 15244 #define VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION 1 15245 #define VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME "VK_EXT_shader_atomic_float2" 15246 typedef struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT { 15247 VkStructureType sType; 15248 void* pNext; 15249 VkBool32 shaderBufferFloat16Atomics; 15250 VkBool32 shaderBufferFloat16AtomicAdd; 15251 VkBool32 shaderBufferFloat16AtomicMinMax; 15252 VkBool32 shaderBufferFloat32AtomicMinMax; 15253 VkBool32 shaderBufferFloat64AtomicMinMax; 15254 VkBool32 shaderSharedFloat16Atomics; 15255 VkBool32 shaderSharedFloat16AtomicAdd; 15256 VkBool32 shaderSharedFloat16AtomicMinMax; 15257 VkBool32 shaderSharedFloat32AtomicMinMax; 15258 VkBool32 shaderSharedFloat64AtomicMinMax; 15259 VkBool32 shaderImageFloat32AtomicMinMax; 15260 VkBool32 sparseImageFloat32AtomicMinMax; 15261 } VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT; 15262 15263 15264 15265 // VK_EXT_surface_maintenance1 is a preprocessor guard. Do not pass it to API calls. 15266 #define VK_EXT_surface_maintenance1 1 15267 #define VK_EXT_SURFACE_MAINTENANCE_1_SPEC_VERSION 1 15268 #define VK_EXT_SURFACE_MAINTENANCE_1_EXTENSION_NAME "VK_EXT_surface_maintenance1" 15269 15270 typedef enum VkPresentScalingFlagBitsEXT { 15271 VK_PRESENT_SCALING_ONE_TO_ONE_BIT_EXT = 0x00000001, 15272 VK_PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_EXT = 0x00000002, 15273 VK_PRESENT_SCALING_STRETCH_BIT_EXT = 0x00000004, 15274 VK_PRESENT_SCALING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 15275 } VkPresentScalingFlagBitsEXT; 15276 typedef VkFlags VkPresentScalingFlagsEXT; 15277 15278 typedef enum VkPresentGravityFlagBitsEXT { 15279 VK_PRESENT_GRAVITY_MIN_BIT_EXT = 0x00000001, 15280 VK_PRESENT_GRAVITY_MAX_BIT_EXT = 0x00000002, 15281 VK_PRESENT_GRAVITY_CENTERED_BIT_EXT = 0x00000004, 15282 VK_PRESENT_GRAVITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 15283 } VkPresentGravityFlagBitsEXT; 15284 typedef VkFlags VkPresentGravityFlagsEXT; 15285 typedef struct VkSurfacePresentModeEXT { 15286 VkStructureType sType; 15287 void* pNext; 15288 VkPresentModeKHR presentMode; 15289 } VkSurfacePresentModeEXT; 15290 15291 typedef struct VkSurfacePresentScalingCapabilitiesEXT { 15292 VkStructureType sType; 15293 void* pNext; 15294 VkPresentScalingFlagsEXT supportedPresentScaling; 15295 VkPresentGravityFlagsEXT supportedPresentGravityX; 15296 VkPresentGravityFlagsEXT supportedPresentGravityY; 15297 VkExtent2D minScaledImageExtent; 15298 VkExtent2D maxScaledImageExtent; 15299 } VkSurfacePresentScalingCapabilitiesEXT; 15300 15301 typedef struct VkSurfacePresentModeCompatibilityEXT { 15302 VkStructureType sType; 15303 void* pNext; 15304 uint32_t presentModeCount; 15305 VkPresentModeKHR* pPresentModes; 15306 } VkSurfacePresentModeCompatibilityEXT; 15307 15308 15309 15310 // VK_EXT_swapchain_maintenance1 is a preprocessor guard. Do not pass it to API calls. 15311 #define VK_EXT_swapchain_maintenance1 1 15312 #define VK_EXT_SWAPCHAIN_MAINTENANCE_1_SPEC_VERSION 1 15313 #define VK_EXT_SWAPCHAIN_MAINTENANCE_1_EXTENSION_NAME "VK_EXT_swapchain_maintenance1" 15314 typedef struct VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT { 15315 VkStructureType sType; 15316 void* pNext; 15317 VkBool32 swapchainMaintenance1; 15318 } VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT; 15319 15320 typedef struct VkSwapchainPresentFenceInfoEXT { 15321 VkStructureType sType; 15322 const void* pNext; 15323 uint32_t swapchainCount; 15324 const VkFence* pFences; 15325 } VkSwapchainPresentFenceInfoEXT; 15326 15327 typedef struct VkSwapchainPresentModesCreateInfoEXT { 15328 VkStructureType sType; 15329 const void* pNext; 15330 uint32_t presentModeCount; 15331 const VkPresentModeKHR* pPresentModes; 15332 } VkSwapchainPresentModesCreateInfoEXT; 15333 15334 typedef struct VkSwapchainPresentModeInfoEXT { 15335 VkStructureType sType; 15336 const void* pNext; 15337 uint32_t swapchainCount; 15338 const VkPresentModeKHR* pPresentModes; 15339 } VkSwapchainPresentModeInfoEXT; 15340 15341 typedef struct VkSwapchainPresentScalingCreateInfoEXT { 15342 VkStructureType sType; 15343 const void* pNext; 15344 VkPresentScalingFlagsEXT scalingBehavior; 15345 VkPresentGravityFlagsEXT presentGravityX; 15346 VkPresentGravityFlagsEXT presentGravityY; 15347 } VkSwapchainPresentScalingCreateInfoEXT; 15348 15349 typedef struct VkReleaseSwapchainImagesInfoEXT { 15350 VkStructureType sType; 15351 const void* pNext; 15352 VkSwapchainKHR swapchain; 15353 uint32_t imageIndexCount; 15354 const uint32_t* pImageIndices; 15355 } VkReleaseSwapchainImagesInfoEXT; 15356 15357 typedef VkResult (VKAPI_PTR *PFN_vkReleaseSwapchainImagesEXT)(VkDevice device, const VkReleaseSwapchainImagesInfoEXT* pReleaseInfo); 15358 15359 #ifndef VK_NO_PROTOTYPES 15360 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseSwapchainImagesEXT( 15361 VkDevice device, 15362 const VkReleaseSwapchainImagesInfoEXT* pReleaseInfo); 15363 #endif 15364 15365 15366 // VK_EXT_shader_demote_to_helper_invocation is a preprocessor guard. Do not pass it to API calls. 15367 #define VK_EXT_shader_demote_to_helper_invocation 1 15368 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1 15369 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation" 15370 typedef VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT; 15371 15372 15373 15374 // VK_NV_device_generated_commands is a preprocessor guard. Do not pass it to API calls. 15375 #define VK_NV_device_generated_commands 1 15376 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNV) 15377 #define VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3 15378 #define VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NV_device_generated_commands" 15379 15380 typedef enum VkIndirectCommandsTokenTypeNV { 15381 VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV = 0, 15382 VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV = 1, 15383 VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV = 2, 15384 VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV = 3, 15385 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV = 4, 15386 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV = 5, 15387 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6, 15388 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7, 15389 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV = 1000328000, 15390 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NV = 1000428003, 15391 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NV = 1000428004, 15392 VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 15393 } VkIndirectCommandsTokenTypeNV; 15394 15395 typedef enum VkIndirectStateFlagBitsNV { 15396 VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV = 0x00000001, 15397 VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 15398 } VkIndirectStateFlagBitsNV; 15399 typedef VkFlags VkIndirectStateFlagsNV; 15400 15401 typedef enum VkIndirectCommandsLayoutUsageFlagBitsNV { 15402 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV = 0x00000001, 15403 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV = 0x00000002, 15404 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV = 0x00000004, 15405 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 15406 } VkIndirectCommandsLayoutUsageFlagBitsNV; 15407 typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNV; 15408 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV { 15409 VkStructureType sType; 15410 void* pNext; 15411 uint32_t maxGraphicsShaderGroupCount; 15412 uint32_t maxIndirectSequenceCount; 15413 uint32_t maxIndirectCommandsTokenCount; 15414 uint32_t maxIndirectCommandsStreamCount; 15415 uint32_t maxIndirectCommandsTokenOffset; 15416 uint32_t maxIndirectCommandsStreamStride; 15417 uint32_t minSequencesCountBufferOffsetAlignment; 15418 uint32_t minSequencesIndexBufferOffsetAlignment; 15419 uint32_t minIndirectCommandsBufferOffsetAlignment; 15420 } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV; 15421 15422 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV { 15423 VkStructureType sType; 15424 void* pNext; 15425 VkBool32 deviceGeneratedCommands; 15426 } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV; 15427 15428 typedef struct VkGraphicsShaderGroupCreateInfoNV { 15429 VkStructureType sType; 15430 const void* pNext; 15431 uint32_t stageCount; 15432 const VkPipelineShaderStageCreateInfo* pStages; 15433 const VkPipelineVertexInputStateCreateInfo* pVertexInputState; 15434 const VkPipelineTessellationStateCreateInfo* pTessellationState; 15435 } VkGraphicsShaderGroupCreateInfoNV; 15436 15437 typedef struct VkGraphicsPipelineShaderGroupsCreateInfoNV { 15438 VkStructureType sType; 15439 const void* pNext; 15440 uint32_t groupCount; 15441 const VkGraphicsShaderGroupCreateInfoNV* pGroups; 15442 uint32_t pipelineCount; 15443 const VkPipeline* pPipelines; 15444 } VkGraphicsPipelineShaderGroupsCreateInfoNV; 15445 15446 typedef struct VkBindShaderGroupIndirectCommandNV { 15447 uint32_t groupIndex; 15448 } VkBindShaderGroupIndirectCommandNV; 15449 15450 typedef struct VkBindIndexBufferIndirectCommandNV { 15451 VkDeviceAddress bufferAddress; 15452 uint32_t size; 15453 VkIndexType indexType; 15454 } VkBindIndexBufferIndirectCommandNV; 15455 15456 typedef struct VkBindVertexBufferIndirectCommandNV { 15457 VkDeviceAddress bufferAddress; 15458 uint32_t size; 15459 uint32_t stride; 15460 } VkBindVertexBufferIndirectCommandNV; 15461 15462 typedef struct VkSetStateFlagsIndirectCommandNV { 15463 uint32_t data; 15464 } VkSetStateFlagsIndirectCommandNV; 15465 15466 typedef struct VkIndirectCommandsStreamNV { 15467 VkBuffer buffer; 15468 VkDeviceSize offset; 15469 } VkIndirectCommandsStreamNV; 15470 15471 typedef struct VkIndirectCommandsLayoutTokenNV { 15472 VkStructureType sType; 15473 const void* pNext; 15474 VkIndirectCommandsTokenTypeNV tokenType; 15475 uint32_t stream; 15476 uint32_t offset; 15477 uint32_t vertexBindingUnit; 15478 VkBool32 vertexDynamicStride; 15479 VkPipelineLayout pushconstantPipelineLayout; 15480 VkShaderStageFlags pushconstantShaderStageFlags; 15481 uint32_t pushconstantOffset; 15482 uint32_t pushconstantSize; 15483 VkIndirectStateFlagsNV indirectStateFlags; 15484 uint32_t indexTypeCount; 15485 const VkIndexType* pIndexTypes; 15486 const uint32_t* pIndexTypeValues; 15487 } VkIndirectCommandsLayoutTokenNV; 15488 15489 typedef struct VkIndirectCommandsLayoutCreateInfoNV { 15490 VkStructureType sType; 15491 const void* pNext; 15492 VkIndirectCommandsLayoutUsageFlagsNV flags; 15493 VkPipelineBindPoint pipelineBindPoint; 15494 uint32_t tokenCount; 15495 const VkIndirectCommandsLayoutTokenNV* pTokens; 15496 uint32_t streamCount; 15497 const uint32_t* pStreamStrides; 15498 } VkIndirectCommandsLayoutCreateInfoNV; 15499 15500 typedef struct VkGeneratedCommandsInfoNV { 15501 VkStructureType sType; 15502 const void* pNext; 15503 VkPipelineBindPoint pipelineBindPoint; 15504 VkPipeline pipeline; 15505 VkIndirectCommandsLayoutNV indirectCommandsLayout; 15506 uint32_t streamCount; 15507 const VkIndirectCommandsStreamNV* pStreams; 15508 uint32_t sequencesCount; 15509 VkBuffer preprocessBuffer; 15510 VkDeviceSize preprocessOffset; 15511 VkDeviceSize preprocessSize; 15512 VkBuffer sequencesCountBuffer; 15513 VkDeviceSize sequencesCountOffset; 15514 VkBuffer sequencesIndexBuffer; 15515 VkDeviceSize sequencesIndexOffset; 15516 } VkGeneratedCommandsInfoNV; 15517 15518 typedef struct VkGeneratedCommandsMemoryRequirementsInfoNV { 15519 VkStructureType sType; 15520 const void* pNext; 15521 VkPipelineBindPoint pipelineBindPoint; 15522 VkPipeline pipeline; 15523 VkIndirectCommandsLayoutNV indirectCommandsLayout; 15524 uint32_t maxSequencesCount; 15525 } VkGeneratedCommandsMemoryRequirementsInfoNV; 15526 15527 typedef void (VKAPI_PTR *PFN_vkGetGeneratedCommandsMemoryRequirementsNV)(VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements); 15528 typedef void (VKAPI_PTR *PFN_vkCmdPreprocessGeneratedCommandsNV)(VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); 15529 typedef void (VKAPI_PTR *PFN_vkCmdExecuteGeneratedCommandsNV)(VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); 15530 typedef void (VKAPI_PTR *PFN_vkCmdBindPipelineShaderGroupNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, uint32_t groupIndex); 15531 typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNV)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout); 15532 typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNV)(VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator); 15533 15534 #ifndef VK_NO_PROTOTYPES 15535 VKAPI_ATTR void VKAPI_CALL vkGetGeneratedCommandsMemoryRequirementsNV( 15536 VkDevice device, 15537 const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, 15538 VkMemoryRequirements2* pMemoryRequirements); 15539 15540 VKAPI_ATTR void VKAPI_CALL vkCmdPreprocessGeneratedCommandsNV( 15541 VkCommandBuffer commandBuffer, 15542 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); 15543 15544 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteGeneratedCommandsNV( 15545 VkCommandBuffer commandBuffer, 15546 VkBool32 isPreprocessed, 15547 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); 15548 15549 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipelineShaderGroupNV( 15550 VkCommandBuffer commandBuffer, 15551 VkPipelineBindPoint pipelineBindPoint, 15552 VkPipeline pipeline, 15553 uint32_t groupIndex); 15554 15555 VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNV( 15556 VkDevice device, 15557 const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, 15558 const VkAllocationCallbacks* pAllocator, 15559 VkIndirectCommandsLayoutNV* pIndirectCommandsLayout); 15560 15561 VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNV( 15562 VkDevice device, 15563 VkIndirectCommandsLayoutNV indirectCommandsLayout, 15564 const VkAllocationCallbacks* pAllocator); 15565 #endif 15566 15567 15568 // VK_NV_inherited_viewport_scissor is a preprocessor guard. Do not pass it to API calls. 15569 #define VK_NV_inherited_viewport_scissor 1 15570 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION 1 15571 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME "VK_NV_inherited_viewport_scissor" 15572 typedef struct VkPhysicalDeviceInheritedViewportScissorFeaturesNV { 15573 VkStructureType sType; 15574 void* pNext; 15575 VkBool32 inheritedViewportScissor2D; 15576 } VkPhysicalDeviceInheritedViewportScissorFeaturesNV; 15577 15578 typedef struct VkCommandBufferInheritanceViewportScissorInfoNV { 15579 VkStructureType sType; 15580 const void* pNext; 15581 VkBool32 viewportScissor2D; 15582 uint32_t viewportDepthCount; 15583 const VkViewport* pViewportDepths; 15584 } VkCommandBufferInheritanceViewportScissorInfoNV; 15585 15586 15587 15588 // VK_EXT_texel_buffer_alignment is a preprocessor guard. Do not pass it to API calls. 15589 #define VK_EXT_texel_buffer_alignment 1 15590 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1 15591 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment" 15592 typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT { 15593 VkStructureType sType; 15594 void* pNext; 15595 VkBool32 texelBufferAlignment; 15596 } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT; 15597 15598 typedef VkPhysicalDeviceTexelBufferAlignmentProperties VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT; 15599 15600 15601 15602 // VK_QCOM_render_pass_transform is a preprocessor guard. Do not pass it to API calls. 15603 #define VK_QCOM_render_pass_transform 1 15604 #define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 4 15605 #define VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME "VK_QCOM_render_pass_transform" 15606 typedef struct VkRenderPassTransformBeginInfoQCOM { 15607 VkStructureType sType; 15608 void* pNext; 15609 VkSurfaceTransformFlagBitsKHR transform; 15610 } VkRenderPassTransformBeginInfoQCOM; 15611 15612 typedef struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM { 15613 VkStructureType sType; 15614 void* pNext; 15615 VkSurfaceTransformFlagBitsKHR transform; 15616 VkRect2D renderArea; 15617 } VkCommandBufferInheritanceRenderPassTransformInfoQCOM; 15618 15619 15620 15621 // VK_EXT_depth_bias_control is a preprocessor guard. Do not pass it to API calls. 15622 #define VK_EXT_depth_bias_control 1 15623 #define VK_EXT_DEPTH_BIAS_CONTROL_SPEC_VERSION 1 15624 #define VK_EXT_DEPTH_BIAS_CONTROL_EXTENSION_NAME "VK_EXT_depth_bias_control" 15625 15626 typedef enum VkDepthBiasRepresentationEXT { 15627 VK_DEPTH_BIAS_REPRESENTATION_LEAST_REPRESENTABLE_VALUE_FORMAT_EXT = 0, 15628 VK_DEPTH_BIAS_REPRESENTATION_LEAST_REPRESENTABLE_VALUE_FORCE_UNORM_EXT = 1, 15629 VK_DEPTH_BIAS_REPRESENTATION_FLOAT_EXT = 2, 15630 VK_DEPTH_BIAS_REPRESENTATION_MAX_ENUM_EXT = 0x7FFFFFFF 15631 } VkDepthBiasRepresentationEXT; 15632 typedef struct VkPhysicalDeviceDepthBiasControlFeaturesEXT { 15633 VkStructureType sType; 15634 void* pNext; 15635 VkBool32 depthBiasControl; 15636 VkBool32 leastRepresentableValueForceUnormRepresentation; 15637 VkBool32 floatRepresentation; 15638 VkBool32 depthBiasExact; 15639 } VkPhysicalDeviceDepthBiasControlFeaturesEXT; 15640 15641 typedef struct VkDepthBiasInfoEXT { 15642 VkStructureType sType; 15643 const void* pNext; 15644 float depthBiasConstantFactor; 15645 float depthBiasClamp; 15646 float depthBiasSlopeFactor; 15647 } VkDepthBiasInfoEXT; 15648 15649 typedef struct VkDepthBiasRepresentationInfoEXT { 15650 VkStructureType sType; 15651 const void* pNext; 15652 VkDepthBiasRepresentationEXT depthBiasRepresentation; 15653 VkBool32 depthBiasExact; 15654 } VkDepthBiasRepresentationInfoEXT; 15655 15656 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias2EXT)(VkCommandBuffer commandBuffer, const VkDepthBiasInfoEXT* pDepthBiasInfo); 15657 15658 #ifndef VK_NO_PROTOTYPES 15659 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias2EXT( 15660 VkCommandBuffer commandBuffer, 15661 const VkDepthBiasInfoEXT* pDepthBiasInfo); 15662 #endif 15663 15664 15665 // VK_EXT_device_memory_report is a preprocessor guard. Do not pass it to API calls. 15666 #define VK_EXT_device_memory_report 1 15667 #define VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION 2 15668 #define VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME "VK_EXT_device_memory_report" 15669 15670 typedef enum VkDeviceMemoryReportEventTypeEXT { 15671 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT = 0, 15672 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT = 1, 15673 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT = 2, 15674 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT = 3, 15675 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT = 4, 15676 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 15677 } VkDeviceMemoryReportEventTypeEXT; 15678 typedef VkFlags VkDeviceMemoryReportFlagsEXT; 15679 typedef struct VkPhysicalDeviceDeviceMemoryReportFeaturesEXT { 15680 VkStructureType sType; 15681 void* pNext; 15682 VkBool32 deviceMemoryReport; 15683 } VkPhysicalDeviceDeviceMemoryReportFeaturesEXT; 15684 15685 typedef struct VkDeviceMemoryReportCallbackDataEXT { 15686 VkStructureType sType; 15687 void* pNext; 15688 VkDeviceMemoryReportFlagsEXT flags; 15689 VkDeviceMemoryReportEventTypeEXT type; 15690 uint64_t memoryObjectId; 15691 VkDeviceSize size; 15692 VkObjectType objectType; 15693 uint64_t objectHandle; 15694 uint32_t heapIndex; 15695 } VkDeviceMemoryReportCallbackDataEXT; 15696 15697 typedef void (VKAPI_PTR *PFN_vkDeviceMemoryReportCallbackEXT)( 15698 const VkDeviceMemoryReportCallbackDataEXT* pCallbackData, 15699 void* pUserData); 15700 15701 typedef struct VkDeviceDeviceMemoryReportCreateInfoEXT { 15702 VkStructureType sType; 15703 const void* pNext; 15704 VkDeviceMemoryReportFlagsEXT flags; 15705 PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback; 15706 void* pUserData; 15707 } VkDeviceDeviceMemoryReportCreateInfoEXT; 15708 15709 15710 15711 // VK_EXT_acquire_drm_display is a preprocessor guard. Do not pass it to API calls. 15712 #define VK_EXT_acquire_drm_display 1 15713 #define VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION 1 15714 #define VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME "VK_EXT_acquire_drm_display" 15715 typedef VkResult (VKAPI_PTR *PFN_vkAcquireDrmDisplayEXT)(VkPhysicalDevice physicalDevice, int32_t drmFd, VkDisplayKHR display); 15716 typedef VkResult (VKAPI_PTR *PFN_vkGetDrmDisplayEXT)(VkPhysicalDevice physicalDevice, int32_t drmFd, uint32_t connectorId, VkDisplayKHR* display); 15717 15718 #ifndef VK_NO_PROTOTYPES 15719 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireDrmDisplayEXT( 15720 VkPhysicalDevice physicalDevice, 15721 int32_t drmFd, 15722 VkDisplayKHR display); 15723 15724 VKAPI_ATTR VkResult VKAPI_CALL vkGetDrmDisplayEXT( 15725 VkPhysicalDevice physicalDevice, 15726 int32_t drmFd, 15727 uint32_t connectorId, 15728 VkDisplayKHR* display); 15729 #endif 15730 15731 15732 // VK_EXT_robustness2 is a preprocessor guard. Do not pass it to API calls. 15733 #define VK_EXT_robustness2 1 15734 #define VK_EXT_ROBUSTNESS_2_SPEC_VERSION 1 15735 #define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2" 15736 typedef struct VkPhysicalDeviceRobustness2FeaturesEXT { 15737 VkStructureType sType; 15738 void* pNext; 15739 VkBool32 robustBufferAccess2; 15740 VkBool32 robustImageAccess2; 15741 VkBool32 nullDescriptor; 15742 } VkPhysicalDeviceRobustness2FeaturesEXT; 15743 15744 typedef struct VkPhysicalDeviceRobustness2PropertiesEXT { 15745 VkStructureType sType; 15746 void* pNext; 15747 VkDeviceSize robustStorageBufferAccessSizeAlignment; 15748 VkDeviceSize robustUniformBufferAccessSizeAlignment; 15749 } VkPhysicalDeviceRobustness2PropertiesEXT; 15750 15751 15752 15753 // VK_EXT_custom_border_color is a preprocessor guard. Do not pass it to API calls. 15754 #define VK_EXT_custom_border_color 1 15755 #define VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION 12 15756 #define VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME "VK_EXT_custom_border_color" 15757 typedef struct VkSamplerCustomBorderColorCreateInfoEXT { 15758 VkStructureType sType; 15759 const void* pNext; 15760 VkClearColorValue customBorderColor; 15761 VkFormat format; 15762 } VkSamplerCustomBorderColorCreateInfoEXT; 15763 15764 typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT { 15765 VkStructureType sType; 15766 void* pNext; 15767 uint32_t maxCustomBorderColorSamplers; 15768 } VkPhysicalDeviceCustomBorderColorPropertiesEXT; 15769 15770 typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT { 15771 VkStructureType sType; 15772 void* pNext; 15773 VkBool32 customBorderColors; 15774 VkBool32 customBorderColorWithoutFormat; 15775 } VkPhysicalDeviceCustomBorderColorFeaturesEXT; 15776 15777 15778 15779 // VK_GOOGLE_user_type is a preprocessor guard. Do not pass it to API calls. 15780 #define VK_GOOGLE_user_type 1 15781 #define VK_GOOGLE_USER_TYPE_SPEC_VERSION 1 15782 #define VK_GOOGLE_USER_TYPE_EXTENSION_NAME "VK_GOOGLE_user_type" 15783 15784 15785 // VK_NV_present_barrier is a preprocessor guard. Do not pass it to API calls. 15786 #define VK_NV_present_barrier 1 15787 #define VK_NV_PRESENT_BARRIER_SPEC_VERSION 1 15788 #define VK_NV_PRESENT_BARRIER_EXTENSION_NAME "VK_NV_present_barrier" 15789 typedef struct VkPhysicalDevicePresentBarrierFeaturesNV { 15790 VkStructureType sType; 15791 void* pNext; 15792 VkBool32 presentBarrier; 15793 } VkPhysicalDevicePresentBarrierFeaturesNV; 15794 15795 typedef struct VkSurfaceCapabilitiesPresentBarrierNV { 15796 VkStructureType sType; 15797 void* pNext; 15798 VkBool32 presentBarrierSupported; 15799 } VkSurfaceCapabilitiesPresentBarrierNV; 15800 15801 typedef struct VkSwapchainPresentBarrierCreateInfoNV { 15802 VkStructureType sType; 15803 void* pNext; 15804 VkBool32 presentBarrierEnable; 15805 } VkSwapchainPresentBarrierCreateInfoNV; 15806 15807 15808 15809 // VK_EXT_private_data is a preprocessor guard. Do not pass it to API calls. 15810 #define VK_EXT_private_data 1 15811 typedef VkPrivateDataSlot VkPrivateDataSlotEXT; 15812 15813 #define VK_EXT_PRIVATE_DATA_SPEC_VERSION 1 15814 #define VK_EXT_PRIVATE_DATA_EXTENSION_NAME "VK_EXT_private_data" 15815 typedef VkPrivateDataSlotCreateFlags VkPrivateDataSlotCreateFlagsEXT; 15816 15817 typedef VkPhysicalDevicePrivateDataFeatures VkPhysicalDevicePrivateDataFeaturesEXT; 15818 15819 typedef VkDevicePrivateDataCreateInfo VkDevicePrivateDataCreateInfoEXT; 15820 15821 typedef VkPrivateDataSlotCreateInfo VkPrivateDataSlotCreateInfoEXT; 15822 15823 typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlotEXT)(VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot); 15824 typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlotEXT)(VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator); 15825 typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateDataEXT)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data); 15826 typedef void (VKAPI_PTR *PFN_vkGetPrivateDataEXT)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t* pData); 15827 15828 #ifndef VK_NO_PROTOTYPES 15829 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlotEXT( 15830 VkDevice device, 15831 const VkPrivateDataSlotCreateInfo* pCreateInfo, 15832 const VkAllocationCallbacks* pAllocator, 15833 VkPrivateDataSlot* pPrivateDataSlot); 15834 15835 VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlotEXT( 15836 VkDevice device, 15837 VkPrivateDataSlot privateDataSlot, 15838 const VkAllocationCallbacks* pAllocator); 15839 15840 VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateDataEXT( 15841 VkDevice device, 15842 VkObjectType objectType, 15843 uint64_t objectHandle, 15844 VkPrivateDataSlot privateDataSlot, 15845 uint64_t data); 15846 15847 VKAPI_ATTR void VKAPI_CALL vkGetPrivateDataEXT( 15848 VkDevice device, 15849 VkObjectType objectType, 15850 uint64_t objectHandle, 15851 VkPrivateDataSlot privateDataSlot, 15852 uint64_t* pData); 15853 #endif 15854 15855 15856 // VK_EXT_pipeline_creation_cache_control is a preprocessor guard. Do not pass it to API calls. 15857 #define VK_EXT_pipeline_creation_cache_control 1 15858 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION 3 15859 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME "VK_EXT_pipeline_creation_cache_control" 15860 typedef VkPhysicalDevicePipelineCreationCacheControlFeatures VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT; 15861 15862 15863 15864 // VK_NV_device_diagnostics_config is a preprocessor guard. Do not pass it to API calls. 15865 #define VK_NV_device_diagnostics_config 1 15866 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 2 15867 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME "VK_NV_device_diagnostics_config" 15868 15869 typedef enum VkDeviceDiagnosticsConfigFlagBitsNV { 15870 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 0x00000001, 15871 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV = 0x00000002, 15872 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV = 0x00000004, 15873 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_ERROR_REPORTING_BIT_NV = 0x00000008, 15874 VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 15875 } VkDeviceDiagnosticsConfigFlagBitsNV; 15876 typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV; 15877 typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV { 15878 VkStructureType sType; 15879 void* pNext; 15880 VkBool32 diagnosticsConfig; 15881 } VkPhysicalDeviceDiagnosticsConfigFeaturesNV; 15882 15883 typedef struct VkDeviceDiagnosticsConfigCreateInfoNV { 15884 VkStructureType sType; 15885 const void* pNext; 15886 VkDeviceDiagnosticsConfigFlagsNV flags; 15887 } VkDeviceDiagnosticsConfigCreateInfoNV; 15888 15889 15890 15891 // VK_QCOM_render_pass_store_ops is a preprocessor guard. Do not pass it to API calls. 15892 #define VK_QCOM_render_pass_store_ops 1 15893 #define VK_QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION 2 15894 #define VK_QCOM_RENDER_PASS_STORE_OPS_EXTENSION_NAME "VK_QCOM_render_pass_store_ops" 15895 15896 15897 // VK_NV_cuda_kernel_launch is a preprocessor guard. Do not pass it to API calls. 15898 #define VK_NV_cuda_kernel_launch 1 15899 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCudaModuleNV) 15900 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCudaFunctionNV) 15901 #define VK_NV_CUDA_KERNEL_LAUNCH_SPEC_VERSION 2 15902 #define VK_NV_CUDA_KERNEL_LAUNCH_EXTENSION_NAME "VK_NV_cuda_kernel_launch" 15903 typedef struct VkCudaModuleCreateInfoNV { 15904 VkStructureType sType; 15905 const void* pNext; 15906 size_t dataSize; 15907 const void* pData; 15908 } VkCudaModuleCreateInfoNV; 15909 15910 typedef struct VkCudaFunctionCreateInfoNV { 15911 VkStructureType sType; 15912 const void* pNext; 15913 VkCudaModuleNV module; 15914 const char* pName; 15915 } VkCudaFunctionCreateInfoNV; 15916 15917 typedef struct VkCudaLaunchInfoNV { 15918 VkStructureType sType; 15919 const void* pNext; 15920 VkCudaFunctionNV function; 15921 uint32_t gridDimX; 15922 uint32_t gridDimY; 15923 uint32_t gridDimZ; 15924 uint32_t blockDimX; 15925 uint32_t blockDimY; 15926 uint32_t blockDimZ; 15927 uint32_t sharedMemBytes; 15928 size_t paramCount; 15929 const void* const * pParams; 15930 size_t extraCount; 15931 const void* const * pExtras; 15932 } VkCudaLaunchInfoNV; 15933 15934 typedef struct VkPhysicalDeviceCudaKernelLaunchFeaturesNV { 15935 VkStructureType sType; 15936 void* pNext; 15937 VkBool32 cudaKernelLaunchFeatures; 15938 } VkPhysicalDeviceCudaKernelLaunchFeaturesNV; 15939 15940 typedef struct VkPhysicalDeviceCudaKernelLaunchPropertiesNV { 15941 VkStructureType sType; 15942 void* pNext; 15943 uint32_t computeCapabilityMinor; 15944 uint32_t computeCapabilityMajor; 15945 } VkPhysicalDeviceCudaKernelLaunchPropertiesNV; 15946 15947 typedef VkResult (VKAPI_PTR *PFN_vkCreateCudaModuleNV)(VkDevice device, const VkCudaModuleCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCudaModuleNV* pModule); 15948 typedef VkResult (VKAPI_PTR *PFN_vkGetCudaModuleCacheNV)(VkDevice device, VkCudaModuleNV module, size_t* pCacheSize, void* pCacheData); 15949 typedef VkResult (VKAPI_PTR *PFN_vkCreateCudaFunctionNV)(VkDevice device, const VkCudaFunctionCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCudaFunctionNV* pFunction); 15950 typedef void (VKAPI_PTR *PFN_vkDestroyCudaModuleNV)(VkDevice device, VkCudaModuleNV module, const VkAllocationCallbacks* pAllocator); 15951 typedef void (VKAPI_PTR *PFN_vkDestroyCudaFunctionNV)(VkDevice device, VkCudaFunctionNV function, const VkAllocationCallbacks* pAllocator); 15952 typedef void (VKAPI_PTR *PFN_vkCmdCudaLaunchKernelNV)(VkCommandBuffer commandBuffer, const VkCudaLaunchInfoNV* pLaunchInfo); 15953 15954 #ifndef VK_NO_PROTOTYPES 15955 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCudaModuleNV( 15956 VkDevice device, 15957 const VkCudaModuleCreateInfoNV* pCreateInfo, 15958 const VkAllocationCallbacks* pAllocator, 15959 VkCudaModuleNV* pModule); 15960 15961 VKAPI_ATTR VkResult VKAPI_CALL vkGetCudaModuleCacheNV( 15962 VkDevice device, 15963 VkCudaModuleNV module, 15964 size_t* pCacheSize, 15965 void* pCacheData); 15966 15967 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCudaFunctionNV( 15968 VkDevice device, 15969 const VkCudaFunctionCreateInfoNV* pCreateInfo, 15970 const VkAllocationCallbacks* pAllocator, 15971 VkCudaFunctionNV* pFunction); 15972 15973 VKAPI_ATTR void VKAPI_CALL vkDestroyCudaModuleNV( 15974 VkDevice device, 15975 VkCudaModuleNV module, 15976 const VkAllocationCallbacks* pAllocator); 15977 15978 VKAPI_ATTR void VKAPI_CALL vkDestroyCudaFunctionNV( 15979 VkDevice device, 15980 VkCudaFunctionNV function, 15981 const VkAllocationCallbacks* pAllocator); 15982 15983 VKAPI_ATTR void VKAPI_CALL vkCmdCudaLaunchKernelNV( 15984 VkCommandBuffer commandBuffer, 15985 const VkCudaLaunchInfoNV* pLaunchInfo); 15986 #endif 15987 15988 15989 // VK_NV_low_latency is a preprocessor guard. Do not pass it to API calls. 15990 #define VK_NV_low_latency 1 15991 #define VK_NV_LOW_LATENCY_SPEC_VERSION 1 15992 #define VK_NV_LOW_LATENCY_EXTENSION_NAME "VK_NV_low_latency" 15993 typedef struct VkQueryLowLatencySupportNV { 15994 VkStructureType sType; 15995 const void* pNext; 15996 void* pQueriedLowLatencyData; 15997 } VkQueryLowLatencySupportNV; 15998 15999 16000 16001 // VK_EXT_descriptor_buffer is a preprocessor guard. Do not pass it to API calls. 16002 #define VK_EXT_descriptor_buffer 1 16003 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR) 16004 #define VK_EXT_DESCRIPTOR_BUFFER_SPEC_VERSION 1 16005 #define VK_EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME "VK_EXT_descriptor_buffer" 16006 typedef struct VkPhysicalDeviceDescriptorBufferPropertiesEXT { 16007 VkStructureType sType; 16008 void* pNext; 16009 VkBool32 combinedImageSamplerDescriptorSingleArray; 16010 VkBool32 bufferlessPushDescriptors; 16011 VkBool32 allowSamplerImageViewPostSubmitCreation; 16012 VkDeviceSize descriptorBufferOffsetAlignment; 16013 uint32_t maxDescriptorBufferBindings; 16014 uint32_t maxResourceDescriptorBufferBindings; 16015 uint32_t maxSamplerDescriptorBufferBindings; 16016 uint32_t maxEmbeddedImmutableSamplerBindings; 16017 uint32_t maxEmbeddedImmutableSamplers; 16018 size_t bufferCaptureReplayDescriptorDataSize; 16019 size_t imageCaptureReplayDescriptorDataSize; 16020 size_t imageViewCaptureReplayDescriptorDataSize; 16021 size_t samplerCaptureReplayDescriptorDataSize; 16022 size_t accelerationStructureCaptureReplayDescriptorDataSize; 16023 size_t samplerDescriptorSize; 16024 size_t combinedImageSamplerDescriptorSize; 16025 size_t sampledImageDescriptorSize; 16026 size_t storageImageDescriptorSize; 16027 size_t uniformTexelBufferDescriptorSize; 16028 size_t robustUniformTexelBufferDescriptorSize; 16029 size_t storageTexelBufferDescriptorSize; 16030 size_t robustStorageTexelBufferDescriptorSize; 16031 size_t uniformBufferDescriptorSize; 16032 size_t robustUniformBufferDescriptorSize; 16033 size_t storageBufferDescriptorSize; 16034 size_t robustStorageBufferDescriptorSize; 16035 size_t inputAttachmentDescriptorSize; 16036 size_t accelerationStructureDescriptorSize; 16037 VkDeviceSize maxSamplerDescriptorBufferRange; 16038 VkDeviceSize maxResourceDescriptorBufferRange; 16039 VkDeviceSize samplerDescriptorBufferAddressSpaceSize; 16040 VkDeviceSize resourceDescriptorBufferAddressSpaceSize; 16041 VkDeviceSize descriptorBufferAddressSpaceSize; 16042 } VkPhysicalDeviceDescriptorBufferPropertiesEXT; 16043 16044 typedef struct VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT { 16045 VkStructureType sType; 16046 void* pNext; 16047 size_t combinedImageSamplerDensityMapDescriptorSize; 16048 } VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT; 16049 16050 typedef struct VkPhysicalDeviceDescriptorBufferFeaturesEXT { 16051 VkStructureType sType; 16052 void* pNext; 16053 VkBool32 descriptorBuffer; 16054 VkBool32 descriptorBufferCaptureReplay; 16055 VkBool32 descriptorBufferImageLayoutIgnored; 16056 VkBool32 descriptorBufferPushDescriptors; 16057 } VkPhysicalDeviceDescriptorBufferFeaturesEXT; 16058 16059 typedef struct VkDescriptorAddressInfoEXT { 16060 VkStructureType sType; 16061 void* pNext; 16062 VkDeviceAddress address; 16063 VkDeviceSize range; 16064 VkFormat format; 16065 } VkDescriptorAddressInfoEXT; 16066 16067 typedef struct VkDescriptorBufferBindingInfoEXT { 16068 VkStructureType sType; 16069 void* pNext; 16070 VkDeviceAddress address; 16071 VkBufferUsageFlags usage; 16072 } VkDescriptorBufferBindingInfoEXT; 16073 16074 typedef struct VkDescriptorBufferBindingPushDescriptorBufferHandleEXT { 16075 VkStructureType sType; 16076 void* pNext; 16077 VkBuffer buffer; 16078 } VkDescriptorBufferBindingPushDescriptorBufferHandleEXT; 16079 16080 typedef union VkDescriptorDataEXT { 16081 const VkSampler* pSampler; 16082 const VkDescriptorImageInfo* pCombinedImageSampler; 16083 const VkDescriptorImageInfo* pInputAttachmentImage; 16084 const VkDescriptorImageInfo* pSampledImage; 16085 const VkDescriptorImageInfo* pStorageImage; 16086 const VkDescriptorAddressInfoEXT* pUniformTexelBuffer; 16087 const VkDescriptorAddressInfoEXT* pStorageTexelBuffer; 16088 const VkDescriptorAddressInfoEXT* pUniformBuffer; 16089 const VkDescriptorAddressInfoEXT* pStorageBuffer; 16090 VkDeviceAddress accelerationStructure; 16091 } VkDescriptorDataEXT; 16092 16093 typedef struct VkDescriptorGetInfoEXT { 16094 VkStructureType sType; 16095 const void* pNext; 16096 VkDescriptorType type; 16097 VkDescriptorDataEXT data; 16098 } VkDescriptorGetInfoEXT; 16099 16100 typedef struct VkBufferCaptureDescriptorDataInfoEXT { 16101 VkStructureType sType; 16102 const void* pNext; 16103 VkBuffer buffer; 16104 } VkBufferCaptureDescriptorDataInfoEXT; 16105 16106 typedef struct VkImageCaptureDescriptorDataInfoEXT { 16107 VkStructureType sType; 16108 const void* pNext; 16109 VkImage image; 16110 } VkImageCaptureDescriptorDataInfoEXT; 16111 16112 typedef struct VkImageViewCaptureDescriptorDataInfoEXT { 16113 VkStructureType sType; 16114 const void* pNext; 16115 VkImageView imageView; 16116 } VkImageViewCaptureDescriptorDataInfoEXT; 16117 16118 typedef struct VkSamplerCaptureDescriptorDataInfoEXT { 16119 VkStructureType sType; 16120 const void* pNext; 16121 VkSampler sampler; 16122 } VkSamplerCaptureDescriptorDataInfoEXT; 16123 16124 typedef struct VkOpaqueCaptureDescriptorDataCreateInfoEXT { 16125 VkStructureType sType; 16126 const void* pNext; 16127 const void* opaqueCaptureDescriptorData; 16128 } VkOpaqueCaptureDescriptorDataCreateInfoEXT; 16129 16130 typedef struct VkAccelerationStructureCaptureDescriptorDataInfoEXT { 16131 VkStructureType sType; 16132 const void* pNext; 16133 VkAccelerationStructureKHR accelerationStructure; 16134 VkAccelerationStructureNV accelerationStructureNV; 16135 } VkAccelerationStructureCaptureDescriptorDataInfoEXT; 16136 16137 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSizeEXT)(VkDevice device, VkDescriptorSetLayout layout, VkDeviceSize* pLayoutSizeInBytes); 16138 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutBindingOffsetEXT)(VkDevice device, VkDescriptorSetLayout layout, uint32_t binding, VkDeviceSize* pOffset); 16139 typedef void (VKAPI_PTR *PFN_vkGetDescriptorEXT)(VkDevice device, const VkDescriptorGetInfoEXT* pDescriptorInfo, size_t dataSize, void* pDescriptor); 16140 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorBuffersEXT)(VkCommandBuffer commandBuffer, uint32_t bufferCount, const VkDescriptorBufferBindingInfoEXT* pBindingInfos); 16141 typedef void (VKAPI_PTR *PFN_vkCmdSetDescriptorBufferOffsetsEXT)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t setCount, const uint32_t* pBufferIndices, const VkDeviceSize* pOffsets); 16142 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set); 16143 typedef VkResult (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkBufferCaptureDescriptorDataInfoEXT* pInfo, void* pData); 16144 typedef VkResult (VKAPI_PTR *PFN_vkGetImageOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkImageCaptureDescriptorDataInfoEXT* pInfo, void* pData); 16145 typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkImageViewCaptureDescriptorDataInfoEXT* pInfo, void* pData); 16146 typedef VkResult (VKAPI_PTR *PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkSamplerCaptureDescriptorDataInfoEXT* pInfo, void* pData); 16147 typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkAccelerationStructureCaptureDescriptorDataInfoEXT* pInfo, void* pData); 16148 16149 #ifndef VK_NO_PROTOTYPES 16150 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSizeEXT( 16151 VkDevice device, 16152 VkDescriptorSetLayout layout, 16153 VkDeviceSize* pLayoutSizeInBytes); 16154 16155 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutBindingOffsetEXT( 16156 VkDevice device, 16157 VkDescriptorSetLayout layout, 16158 uint32_t binding, 16159 VkDeviceSize* pOffset); 16160 16161 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorEXT( 16162 VkDevice device, 16163 const VkDescriptorGetInfoEXT* pDescriptorInfo, 16164 size_t dataSize, 16165 void* pDescriptor); 16166 16167 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorBuffersEXT( 16168 VkCommandBuffer commandBuffer, 16169 uint32_t bufferCount, 16170 const VkDescriptorBufferBindingInfoEXT* pBindingInfos); 16171 16172 VKAPI_ATTR void VKAPI_CALL vkCmdSetDescriptorBufferOffsetsEXT( 16173 VkCommandBuffer commandBuffer, 16174 VkPipelineBindPoint pipelineBindPoint, 16175 VkPipelineLayout layout, 16176 uint32_t firstSet, 16177 uint32_t setCount, 16178 const uint32_t* pBufferIndices, 16179 const VkDeviceSize* pOffsets); 16180 16181 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorBufferEmbeddedSamplersEXT( 16182 VkCommandBuffer commandBuffer, 16183 VkPipelineBindPoint pipelineBindPoint, 16184 VkPipelineLayout layout, 16185 uint32_t set); 16186 16187 VKAPI_ATTR VkResult VKAPI_CALL vkGetBufferOpaqueCaptureDescriptorDataEXT( 16188 VkDevice device, 16189 const VkBufferCaptureDescriptorDataInfoEXT* pInfo, 16190 void* pData); 16191 16192 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageOpaqueCaptureDescriptorDataEXT( 16193 VkDevice device, 16194 const VkImageCaptureDescriptorDataInfoEXT* pInfo, 16195 void* pData); 16196 16197 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewOpaqueCaptureDescriptorDataEXT( 16198 VkDevice device, 16199 const VkImageViewCaptureDescriptorDataInfoEXT* pInfo, 16200 void* pData); 16201 16202 VKAPI_ATTR VkResult VKAPI_CALL vkGetSamplerOpaqueCaptureDescriptorDataEXT( 16203 VkDevice device, 16204 const VkSamplerCaptureDescriptorDataInfoEXT* pInfo, 16205 void* pData); 16206 16207 VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT( 16208 VkDevice device, 16209 const VkAccelerationStructureCaptureDescriptorDataInfoEXT* pInfo, 16210 void* pData); 16211 #endif 16212 16213 16214 // VK_EXT_graphics_pipeline_library is a preprocessor guard. Do not pass it to API calls. 16215 #define VK_EXT_graphics_pipeline_library 1 16216 #define VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION 1 16217 #define VK_EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME "VK_EXT_graphics_pipeline_library" 16218 16219 typedef enum VkGraphicsPipelineLibraryFlagBitsEXT { 16220 VK_GRAPHICS_PIPELINE_LIBRARY_VERTEX_INPUT_INTERFACE_BIT_EXT = 0x00000001, 16221 VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT = 0x00000002, 16222 VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT = 0x00000004, 16223 VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT = 0x00000008, 16224 VK_GRAPHICS_PIPELINE_LIBRARY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 16225 } VkGraphicsPipelineLibraryFlagBitsEXT; 16226 typedef VkFlags VkGraphicsPipelineLibraryFlagsEXT; 16227 typedef struct VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT { 16228 VkStructureType sType; 16229 void* pNext; 16230 VkBool32 graphicsPipelineLibrary; 16231 } VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT; 16232 16233 typedef struct VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT { 16234 VkStructureType sType; 16235 void* pNext; 16236 VkBool32 graphicsPipelineLibraryFastLinking; 16237 VkBool32 graphicsPipelineLibraryIndependentInterpolationDecoration; 16238 } VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT; 16239 16240 typedef struct VkGraphicsPipelineLibraryCreateInfoEXT { 16241 VkStructureType sType; 16242 const void* pNext; 16243 VkGraphicsPipelineLibraryFlagsEXT flags; 16244 } VkGraphicsPipelineLibraryCreateInfoEXT; 16245 16246 16247 16248 // VK_AMD_shader_early_and_late_fragment_tests is a preprocessor guard. Do not pass it to API calls. 16249 #define VK_AMD_shader_early_and_late_fragment_tests 1 16250 #define VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_SPEC_VERSION 1 16251 #define VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_EXTENSION_NAME "VK_AMD_shader_early_and_late_fragment_tests" 16252 typedef struct VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD { 16253 VkStructureType sType; 16254 void* pNext; 16255 VkBool32 shaderEarlyAndLateFragmentTests; 16256 } VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD; 16257 16258 16259 16260 // VK_NV_fragment_shading_rate_enums is a preprocessor guard. Do not pass it to API calls. 16261 #define VK_NV_fragment_shading_rate_enums 1 16262 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION 1 16263 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums" 16264 16265 typedef enum VkFragmentShadingRateTypeNV { 16266 VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV = 0, 16267 VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV = 1, 16268 VK_FRAGMENT_SHADING_RATE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 16269 } VkFragmentShadingRateTypeNV; 16270 16271 typedef enum VkFragmentShadingRateNV { 16272 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0, 16273 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 1, 16274 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 4, 16275 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 5, 16276 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 6, 16277 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 9, 16278 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 10, 16279 VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 11, 16280 VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 12, 16281 VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 13, 16282 VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 14, 16283 VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV = 15, 16284 VK_FRAGMENT_SHADING_RATE_MAX_ENUM_NV = 0x7FFFFFFF 16285 } VkFragmentShadingRateNV; 16286 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV { 16287 VkStructureType sType; 16288 void* pNext; 16289 VkBool32 fragmentShadingRateEnums; 16290 VkBool32 supersampleFragmentShadingRates; 16291 VkBool32 noInvocationFragmentShadingRates; 16292 } VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV; 16293 16294 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV { 16295 VkStructureType sType; 16296 void* pNext; 16297 VkSampleCountFlagBits maxFragmentShadingRateInvocationCount; 16298 } VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV; 16299 16300 typedef struct VkPipelineFragmentShadingRateEnumStateCreateInfoNV { 16301 VkStructureType sType; 16302 const void* pNext; 16303 VkFragmentShadingRateTypeNV shadingRateType; 16304 VkFragmentShadingRateNV shadingRate; 16305 VkFragmentShadingRateCombinerOpKHR combinerOps[2]; 16306 } VkPipelineFragmentShadingRateEnumStateCreateInfoNV; 16307 16308 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateEnumNV)(VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); 16309 16310 #ifndef VK_NO_PROTOTYPES 16311 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateEnumNV( 16312 VkCommandBuffer commandBuffer, 16313 VkFragmentShadingRateNV shadingRate, 16314 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); 16315 #endif 16316 16317 16318 // VK_NV_ray_tracing_motion_blur is a preprocessor guard. Do not pass it to API calls. 16319 #define VK_NV_ray_tracing_motion_blur 1 16320 #define VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION 1 16321 #define VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME "VK_NV_ray_tracing_motion_blur" 16322 16323 typedef enum VkAccelerationStructureMotionInstanceTypeNV { 16324 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV = 0, 16325 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV = 1, 16326 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV = 2, 16327 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 16328 } VkAccelerationStructureMotionInstanceTypeNV; 16329 typedef VkFlags VkAccelerationStructureMotionInfoFlagsNV; 16330 typedef VkFlags VkAccelerationStructureMotionInstanceFlagsNV; 16331 typedef union VkDeviceOrHostAddressConstKHR { 16332 VkDeviceAddress deviceAddress; 16333 const void* hostAddress; 16334 } VkDeviceOrHostAddressConstKHR; 16335 16336 typedef struct VkAccelerationStructureGeometryMotionTrianglesDataNV { 16337 VkStructureType sType; 16338 const void* pNext; 16339 VkDeviceOrHostAddressConstKHR vertexData; 16340 } VkAccelerationStructureGeometryMotionTrianglesDataNV; 16341 16342 typedef struct VkAccelerationStructureMotionInfoNV { 16343 VkStructureType sType; 16344 const void* pNext; 16345 uint32_t maxInstances; 16346 VkAccelerationStructureMotionInfoFlagsNV flags; 16347 } VkAccelerationStructureMotionInfoNV; 16348 16349 typedef struct VkAccelerationStructureMatrixMotionInstanceNV { 16350 VkTransformMatrixKHR transformT0; 16351 VkTransformMatrixKHR transformT1; 16352 uint32_t instanceCustomIndex:24; 16353 uint32_t mask:8; 16354 uint32_t instanceShaderBindingTableRecordOffset:24; 16355 VkGeometryInstanceFlagsKHR flags:8; 16356 uint64_t accelerationStructureReference; 16357 } VkAccelerationStructureMatrixMotionInstanceNV; 16358 16359 typedef struct VkSRTDataNV { 16360 float sx; 16361 float a; 16362 float b; 16363 float pvx; 16364 float sy; 16365 float c; 16366 float pvy; 16367 float sz; 16368 float pvz; 16369 float qx; 16370 float qy; 16371 float qz; 16372 float qw; 16373 float tx; 16374 float ty; 16375 float tz; 16376 } VkSRTDataNV; 16377 16378 typedef struct VkAccelerationStructureSRTMotionInstanceNV { 16379 VkSRTDataNV transformT0; 16380 VkSRTDataNV transformT1; 16381 uint32_t instanceCustomIndex:24; 16382 uint32_t mask:8; 16383 uint32_t instanceShaderBindingTableRecordOffset:24; 16384 VkGeometryInstanceFlagsKHR flags:8; 16385 uint64_t accelerationStructureReference; 16386 } VkAccelerationStructureSRTMotionInstanceNV; 16387 16388 typedef union VkAccelerationStructureMotionInstanceDataNV { 16389 VkAccelerationStructureInstanceKHR staticInstance; 16390 VkAccelerationStructureMatrixMotionInstanceNV matrixMotionInstance; 16391 VkAccelerationStructureSRTMotionInstanceNV srtMotionInstance; 16392 } VkAccelerationStructureMotionInstanceDataNV; 16393 16394 typedef struct VkAccelerationStructureMotionInstanceNV { 16395 VkAccelerationStructureMotionInstanceTypeNV type; 16396 VkAccelerationStructureMotionInstanceFlagsNV flags; 16397 VkAccelerationStructureMotionInstanceDataNV data; 16398 } VkAccelerationStructureMotionInstanceNV; 16399 16400 typedef struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV { 16401 VkStructureType sType; 16402 void* pNext; 16403 VkBool32 rayTracingMotionBlur; 16404 VkBool32 rayTracingMotionBlurPipelineTraceRaysIndirect; 16405 } VkPhysicalDeviceRayTracingMotionBlurFeaturesNV; 16406 16407 16408 16409 // VK_EXT_ycbcr_2plane_444_formats is a preprocessor guard. Do not pass it to API calls. 16410 #define VK_EXT_ycbcr_2plane_444_formats 1 16411 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION 1 16412 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME "VK_EXT_ycbcr_2plane_444_formats" 16413 typedef struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT { 16414 VkStructureType sType; 16415 void* pNext; 16416 VkBool32 ycbcr2plane444Formats; 16417 } VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT; 16418 16419 16420 16421 // VK_EXT_fragment_density_map2 is a preprocessor guard. Do not pass it to API calls. 16422 #define VK_EXT_fragment_density_map2 1 16423 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1 16424 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2" 16425 typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT { 16426 VkStructureType sType; 16427 void* pNext; 16428 VkBool32 fragmentDensityMapDeferred; 16429 } VkPhysicalDeviceFragmentDensityMap2FeaturesEXT; 16430 16431 typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT { 16432 VkStructureType sType; 16433 void* pNext; 16434 VkBool32 subsampledLoads; 16435 VkBool32 subsampledCoarseReconstructionEarlyAccess; 16436 uint32_t maxSubsampledArrayLayers; 16437 uint32_t maxDescriptorSetSubsampledSamplers; 16438 } VkPhysicalDeviceFragmentDensityMap2PropertiesEXT; 16439 16440 16441 16442 // VK_QCOM_rotated_copy_commands is a preprocessor guard. Do not pass it to API calls. 16443 #define VK_QCOM_rotated_copy_commands 1 16444 #define VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION 2 16445 #define VK_QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME "VK_QCOM_rotated_copy_commands" 16446 typedef struct VkCopyCommandTransformInfoQCOM { 16447 VkStructureType sType; 16448 const void* pNext; 16449 VkSurfaceTransformFlagBitsKHR transform; 16450 } VkCopyCommandTransformInfoQCOM; 16451 16452 16453 16454 // VK_EXT_image_robustness is a preprocessor guard. Do not pass it to API calls. 16455 #define VK_EXT_image_robustness 1 16456 #define VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION 1 16457 #define VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_image_robustness" 16458 typedef VkPhysicalDeviceImageRobustnessFeatures VkPhysicalDeviceImageRobustnessFeaturesEXT; 16459 16460 16461 16462 // VK_EXT_image_compression_control is a preprocessor guard. Do not pass it to API calls. 16463 #define VK_EXT_image_compression_control 1 16464 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION 1 16465 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME "VK_EXT_image_compression_control" 16466 16467 typedef enum VkImageCompressionFlagBitsEXT { 16468 VK_IMAGE_COMPRESSION_DEFAULT_EXT = 0, 16469 VK_IMAGE_COMPRESSION_FIXED_RATE_DEFAULT_EXT = 0x00000001, 16470 VK_IMAGE_COMPRESSION_FIXED_RATE_EXPLICIT_EXT = 0x00000002, 16471 VK_IMAGE_COMPRESSION_DISABLED_EXT = 0x00000004, 16472 VK_IMAGE_COMPRESSION_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 16473 } VkImageCompressionFlagBitsEXT; 16474 typedef VkFlags VkImageCompressionFlagsEXT; 16475 16476 typedef enum VkImageCompressionFixedRateFlagBitsEXT { 16477 VK_IMAGE_COMPRESSION_FIXED_RATE_NONE_EXT = 0, 16478 VK_IMAGE_COMPRESSION_FIXED_RATE_1BPC_BIT_EXT = 0x00000001, 16479 VK_IMAGE_COMPRESSION_FIXED_RATE_2BPC_BIT_EXT = 0x00000002, 16480 VK_IMAGE_COMPRESSION_FIXED_RATE_3BPC_BIT_EXT = 0x00000004, 16481 VK_IMAGE_COMPRESSION_FIXED_RATE_4BPC_BIT_EXT = 0x00000008, 16482 VK_IMAGE_COMPRESSION_FIXED_RATE_5BPC_BIT_EXT = 0x00000010, 16483 VK_IMAGE_COMPRESSION_FIXED_RATE_6BPC_BIT_EXT = 0x00000020, 16484 VK_IMAGE_COMPRESSION_FIXED_RATE_7BPC_BIT_EXT = 0x00000040, 16485 VK_IMAGE_COMPRESSION_FIXED_RATE_8BPC_BIT_EXT = 0x00000080, 16486 VK_IMAGE_COMPRESSION_FIXED_RATE_9BPC_BIT_EXT = 0x00000100, 16487 VK_IMAGE_COMPRESSION_FIXED_RATE_10BPC_BIT_EXT = 0x00000200, 16488 VK_IMAGE_COMPRESSION_FIXED_RATE_11BPC_BIT_EXT = 0x00000400, 16489 VK_IMAGE_COMPRESSION_FIXED_RATE_12BPC_BIT_EXT = 0x00000800, 16490 VK_IMAGE_COMPRESSION_FIXED_RATE_13BPC_BIT_EXT = 0x00001000, 16491 VK_IMAGE_COMPRESSION_FIXED_RATE_14BPC_BIT_EXT = 0x00002000, 16492 VK_IMAGE_COMPRESSION_FIXED_RATE_15BPC_BIT_EXT = 0x00004000, 16493 VK_IMAGE_COMPRESSION_FIXED_RATE_16BPC_BIT_EXT = 0x00008000, 16494 VK_IMAGE_COMPRESSION_FIXED_RATE_17BPC_BIT_EXT = 0x00010000, 16495 VK_IMAGE_COMPRESSION_FIXED_RATE_18BPC_BIT_EXT = 0x00020000, 16496 VK_IMAGE_COMPRESSION_FIXED_RATE_19BPC_BIT_EXT = 0x00040000, 16497 VK_IMAGE_COMPRESSION_FIXED_RATE_20BPC_BIT_EXT = 0x00080000, 16498 VK_IMAGE_COMPRESSION_FIXED_RATE_21BPC_BIT_EXT = 0x00100000, 16499 VK_IMAGE_COMPRESSION_FIXED_RATE_22BPC_BIT_EXT = 0x00200000, 16500 VK_IMAGE_COMPRESSION_FIXED_RATE_23BPC_BIT_EXT = 0x00400000, 16501 VK_IMAGE_COMPRESSION_FIXED_RATE_24BPC_BIT_EXT = 0x00800000, 16502 VK_IMAGE_COMPRESSION_FIXED_RATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 16503 } VkImageCompressionFixedRateFlagBitsEXT; 16504 typedef VkFlags VkImageCompressionFixedRateFlagsEXT; 16505 typedef struct VkPhysicalDeviceImageCompressionControlFeaturesEXT { 16506 VkStructureType sType; 16507 void* pNext; 16508 VkBool32 imageCompressionControl; 16509 } VkPhysicalDeviceImageCompressionControlFeaturesEXT; 16510 16511 typedef struct VkImageCompressionControlEXT { 16512 VkStructureType sType; 16513 const void* pNext; 16514 VkImageCompressionFlagsEXT flags; 16515 uint32_t compressionControlPlaneCount; 16516 VkImageCompressionFixedRateFlagsEXT* pFixedRateFlags; 16517 } VkImageCompressionControlEXT; 16518 16519 typedef struct VkImageCompressionPropertiesEXT { 16520 VkStructureType sType; 16521 void* pNext; 16522 VkImageCompressionFlagsEXT imageCompressionFlags; 16523 VkImageCompressionFixedRateFlagsEXT imageCompressionFixedRateFlags; 16524 } VkImageCompressionPropertiesEXT; 16525 16526 16527 16528 // VK_EXT_attachment_feedback_loop_layout is a preprocessor guard. Do not pass it to API calls. 16529 #define VK_EXT_attachment_feedback_loop_layout 1 16530 #define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_SPEC_VERSION 2 16531 #define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_EXTENSION_NAME "VK_EXT_attachment_feedback_loop_layout" 16532 typedef struct VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT { 16533 VkStructureType sType; 16534 void* pNext; 16535 VkBool32 attachmentFeedbackLoopLayout; 16536 } VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT; 16537 16538 16539 16540 // VK_EXT_4444_formats is a preprocessor guard. Do not pass it to API calls. 16541 #define VK_EXT_4444_formats 1 16542 #define VK_EXT_4444_FORMATS_SPEC_VERSION 1 16543 #define VK_EXT_4444_FORMATS_EXTENSION_NAME "VK_EXT_4444_formats" 16544 typedef struct VkPhysicalDevice4444FormatsFeaturesEXT { 16545 VkStructureType sType; 16546 void* pNext; 16547 VkBool32 formatA4R4G4B4; 16548 VkBool32 formatA4B4G4R4; 16549 } VkPhysicalDevice4444FormatsFeaturesEXT; 16550 16551 16552 16553 // VK_EXT_device_fault is a preprocessor guard. Do not pass it to API calls. 16554 #define VK_EXT_device_fault 1 16555 #define VK_EXT_DEVICE_FAULT_SPEC_VERSION 2 16556 #define VK_EXT_DEVICE_FAULT_EXTENSION_NAME "VK_EXT_device_fault" 16557 16558 typedef enum VkDeviceFaultAddressTypeEXT { 16559 VK_DEVICE_FAULT_ADDRESS_TYPE_NONE_EXT = 0, 16560 VK_DEVICE_FAULT_ADDRESS_TYPE_READ_INVALID_EXT = 1, 16561 VK_DEVICE_FAULT_ADDRESS_TYPE_WRITE_INVALID_EXT = 2, 16562 VK_DEVICE_FAULT_ADDRESS_TYPE_EXECUTE_INVALID_EXT = 3, 16563 VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_UNKNOWN_EXT = 4, 16564 VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_INVALID_EXT = 5, 16565 VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_FAULT_EXT = 6, 16566 VK_DEVICE_FAULT_ADDRESS_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 16567 } VkDeviceFaultAddressTypeEXT; 16568 16569 typedef enum VkDeviceFaultVendorBinaryHeaderVersionEXT { 16570 VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_ONE_EXT = 1, 16571 VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF 16572 } VkDeviceFaultVendorBinaryHeaderVersionEXT; 16573 typedef struct VkPhysicalDeviceFaultFeaturesEXT { 16574 VkStructureType sType; 16575 void* pNext; 16576 VkBool32 deviceFault; 16577 VkBool32 deviceFaultVendorBinary; 16578 } VkPhysicalDeviceFaultFeaturesEXT; 16579 16580 typedef struct VkDeviceFaultCountsEXT { 16581 VkStructureType sType; 16582 void* pNext; 16583 uint32_t addressInfoCount; 16584 uint32_t vendorInfoCount; 16585 VkDeviceSize vendorBinarySize; 16586 } VkDeviceFaultCountsEXT; 16587 16588 typedef struct VkDeviceFaultAddressInfoEXT { 16589 VkDeviceFaultAddressTypeEXT addressType; 16590 VkDeviceAddress reportedAddress; 16591 VkDeviceSize addressPrecision; 16592 } VkDeviceFaultAddressInfoEXT; 16593 16594 typedef struct VkDeviceFaultVendorInfoEXT { 16595 char description[VK_MAX_DESCRIPTION_SIZE]; 16596 uint64_t vendorFaultCode; 16597 uint64_t vendorFaultData; 16598 } VkDeviceFaultVendorInfoEXT; 16599 16600 typedef struct VkDeviceFaultInfoEXT { 16601 VkStructureType sType; 16602 void* pNext; 16603 char description[VK_MAX_DESCRIPTION_SIZE]; 16604 VkDeviceFaultAddressInfoEXT* pAddressInfos; 16605 VkDeviceFaultVendorInfoEXT* pVendorInfos; 16606 void* pVendorBinaryData; 16607 } VkDeviceFaultInfoEXT; 16608 16609 typedef struct VkDeviceFaultVendorBinaryHeaderVersionOneEXT { 16610 uint32_t headerSize; 16611 VkDeviceFaultVendorBinaryHeaderVersionEXT headerVersion; 16612 uint32_t vendorID; 16613 uint32_t deviceID; 16614 uint32_t driverVersion; 16615 uint8_t pipelineCacheUUID[VK_UUID_SIZE]; 16616 uint32_t applicationNameOffset; 16617 uint32_t applicationVersion; 16618 uint32_t engineNameOffset; 16619 uint32_t engineVersion; 16620 uint32_t apiVersion; 16621 } VkDeviceFaultVendorBinaryHeaderVersionOneEXT; 16622 16623 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceFaultInfoEXT)(VkDevice device, VkDeviceFaultCountsEXT* pFaultCounts, VkDeviceFaultInfoEXT* pFaultInfo); 16624 16625 #ifndef VK_NO_PROTOTYPES 16626 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceFaultInfoEXT( 16627 VkDevice device, 16628 VkDeviceFaultCountsEXT* pFaultCounts, 16629 VkDeviceFaultInfoEXT* pFaultInfo); 16630 #endif 16631 16632 16633 // VK_ARM_rasterization_order_attachment_access is a preprocessor guard. Do not pass it to API calls. 16634 #define VK_ARM_rasterization_order_attachment_access 1 16635 #define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION 1 16636 #define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME "VK_ARM_rasterization_order_attachment_access" 16637 typedef struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT { 16638 VkStructureType sType; 16639 void* pNext; 16640 VkBool32 rasterizationOrderColorAttachmentAccess; 16641 VkBool32 rasterizationOrderDepthAttachmentAccess; 16642 VkBool32 rasterizationOrderStencilAttachmentAccess; 16643 } VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT; 16644 16645 typedef VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM; 16646 16647 16648 16649 // VK_EXT_rgba10x6_formats is a preprocessor guard. Do not pass it to API calls. 16650 #define VK_EXT_rgba10x6_formats 1 16651 #define VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION 1 16652 #define VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME "VK_EXT_rgba10x6_formats" 16653 typedef struct VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT { 16654 VkStructureType sType; 16655 void* pNext; 16656 VkBool32 formatRgba10x6WithoutYCbCrSampler; 16657 } VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT; 16658 16659 16660 16661 // VK_VALVE_mutable_descriptor_type is a preprocessor guard. Do not pass it to API calls. 16662 #define VK_VALVE_mutable_descriptor_type 1 16663 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1 16664 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_VALVE_mutable_descriptor_type" 16665 typedef struct VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT { 16666 VkStructureType sType; 16667 void* pNext; 16668 VkBool32 mutableDescriptorType; 16669 } VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT; 16670 16671 typedef VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE; 16672 16673 typedef struct VkMutableDescriptorTypeListEXT { 16674 uint32_t descriptorTypeCount; 16675 const VkDescriptorType* pDescriptorTypes; 16676 } VkMutableDescriptorTypeListEXT; 16677 16678 typedef VkMutableDescriptorTypeListEXT VkMutableDescriptorTypeListVALVE; 16679 16680 typedef struct VkMutableDescriptorTypeCreateInfoEXT { 16681 VkStructureType sType; 16682 const void* pNext; 16683 uint32_t mutableDescriptorTypeListCount; 16684 const VkMutableDescriptorTypeListEXT* pMutableDescriptorTypeLists; 16685 } VkMutableDescriptorTypeCreateInfoEXT; 16686 16687 typedef VkMutableDescriptorTypeCreateInfoEXT VkMutableDescriptorTypeCreateInfoVALVE; 16688 16689 16690 16691 // VK_EXT_vertex_input_dynamic_state is a preprocessor guard. Do not pass it to API calls. 16692 #define VK_EXT_vertex_input_dynamic_state 1 16693 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION 2 16694 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_vertex_input_dynamic_state" 16695 typedef struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT { 16696 VkStructureType sType; 16697 void* pNext; 16698 VkBool32 vertexInputDynamicState; 16699 } VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT; 16700 16701 typedef struct VkVertexInputBindingDescription2EXT { 16702 VkStructureType sType; 16703 void* pNext; 16704 uint32_t binding; 16705 uint32_t stride; 16706 VkVertexInputRate inputRate; 16707 uint32_t divisor; 16708 } VkVertexInputBindingDescription2EXT; 16709 16710 typedef struct VkVertexInputAttributeDescription2EXT { 16711 VkStructureType sType; 16712 void* pNext; 16713 uint32_t location; 16714 uint32_t binding; 16715 VkFormat format; 16716 uint32_t offset; 16717 } VkVertexInputAttributeDescription2EXT; 16718 16719 typedef void (VKAPI_PTR *PFN_vkCmdSetVertexInputEXT)(VkCommandBuffer commandBuffer, uint32_t vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, uint32_t vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions); 16720 16721 #ifndef VK_NO_PROTOTYPES 16722 VKAPI_ATTR void VKAPI_CALL vkCmdSetVertexInputEXT( 16723 VkCommandBuffer commandBuffer, 16724 uint32_t vertexBindingDescriptionCount, 16725 const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, 16726 uint32_t vertexAttributeDescriptionCount, 16727 const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions); 16728 #endif 16729 16730 16731 // VK_EXT_physical_device_drm is a preprocessor guard. Do not pass it to API calls. 16732 #define VK_EXT_physical_device_drm 1 16733 #define VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION 1 16734 #define VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME "VK_EXT_physical_device_drm" 16735 typedef struct VkPhysicalDeviceDrmPropertiesEXT { 16736 VkStructureType sType; 16737 void* pNext; 16738 VkBool32 hasPrimary; 16739 VkBool32 hasRender; 16740 int64_t primaryMajor; 16741 int64_t primaryMinor; 16742 int64_t renderMajor; 16743 int64_t renderMinor; 16744 } VkPhysicalDeviceDrmPropertiesEXT; 16745 16746 16747 16748 // VK_EXT_device_address_binding_report is a preprocessor guard. Do not pass it to API calls. 16749 #define VK_EXT_device_address_binding_report 1 16750 #define VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_SPEC_VERSION 1 16751 #define VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_EXTENSION_NAME "VK_EXT_device_address_binding_report" 16752 16753 typedef enum VkDeviceAddressBindingTypeEXT { 16754 VK_DEVICE_ADDRESS_BINDING_TYPE_BIND_EXT = 0, 16755 VK_DEVICE_ADDRESS_BINDING_TYPE_UNBIND_EXT = 1, 16756 VK_DEVICE_ADDRESS_BINDING_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 16757 } VkDeviceAddressBindingTypeEXT; 16758 16759 typedef enum VkDeviceAddressBindingFlagBitsEXT { 16760 VK_DEVICE_ADDRESS_BINDING_INTERNAL_OBJECT_BIT_EXT = 0x00000001, 16761 VK_DEVICE_ADDRESS_BINDING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 16762 } VkDeviceAddressBindingFlagBitsEXT; 16763 typedef VkFlags VkDeviceAddressBindingFlagsEXT; 16764 typedef struct VkPhysicalDeviceAddressBindingReportFeaturesEXT { 16765 VkStructureType sType; 16766 void* pNext; 16767 VkBool32 reportAddressBinding; 16768 } VkPhysicalDeviceAddressBindingReportFeaturesEXT; 16769 16770 typedef struct VkDeviceAddressBindingCallbackDataEXT { 16771 VkStructureType sType; 16772 void* pNext; 16773 VkDeviceAddressBindingFlagsEXT flags; 16774 VkDeviceAddress baseAddress; 16775 VkDeviceSize size; 16776 VkDeviceAddressBindingTypeEXT bindingType; 16777 } VkDeviceAddressBindingCallbackDataEXT; 16778 16779 16780 16781 // VK_EXT_depth_clip_control is a preprocessor guard. Do not pass it to API calls. 16782 #define VK_EXT_depth_clip_control 1 16783 #define VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION 1 16784 #define VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME "VK_EXT_depth_clip_control" 16785 typedef struct VkPhysicalDeviceDepthClipControlFeaturesEXT { 16786 VkStructureType sType; 16787 void* pNext; 16788 VkBool32 depthClipControl; 16789 } VkPhysicalDeviceDepthClipControlFeaturesEXT; 16790 16791 typedef struct VkPipelineViewportDepthClipControlCreateInfoEXT { 16792 VkStructureType sType; 16793 const void* pNext; 16794 VkBool32 negativeOneToOne; 16795 } VkPipelineViewportDepthClipControlCreateInfoEXT; 16796 16797 16798 16799 // VK_EXT_primitive_topology_list_restart is a preprocessor guard. Do not pass it to API calls. 16800 #define VK_EXT_primitive_topology_list_restart 1 16801 #define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION 1 16802 #define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME "VK_EXT_primitive_topology_list_restart" 16803 typedef struct VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT { 16804 VkStructureType sType; 16805 void* pNext; 16806 VkBool32 primitiveTopologyListRestart; 16807 VkBool32 primitiveTopologyPatchListRestart; 16808 } VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT; 16809 16810 16811 16812 // VK_HUAWEI_subpass_shading is a preprocessor guard. Do not pass it to API calls. 16813 #define VK_HUAWEI_subpass_shading 1 16814 #define VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION 3 16815 #define VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME "VK_HUAWEI_subpass_shading" 16816 typedef struct VkSubpassShadingPipelineCreateInfoHUAWEI { 16817 VkStructureType sType; 16818 void* pNext; 16819 VkRenderPass renderPass; 16820 uint32_t subpass; 16821 } VkSubpassShadingPipelineCreateInfoHUAWEI; 16822 16823 typedef struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI { 16824 VkStructureType sType; 16825 void* pNext; 16826 VkBool32 subpassShading; 16827 } VkPhysicalDeviceSubpassShadingFeaturesHUAWEI; 16828 16829 typedef struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI { 16830 VkStructureType sType; 16831 void* pNext; 16832 uint32_t maxSubpassShadingWorkgroupSizeAspectRatio; 16833 } VkPhysicalDeviceSubpassShadingPropertiesHUAWEI; 16834 16835 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI)(VkDevice device, VkRenderPass renderpass, VkExtent2D* pMaxWorkgroupSize); 16836 typedef void (VKAPI_PTR *PFN_vkCmdSubpassShadingHUAWEI)(VkCommandBuffer commandBuffer); 16837 16838 #ifndef VK_NO_PROTOTYPES 16839 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( 16840 VkDevice device, 16841 VkRenderPass renderpass, 16842 VkExtent2D* pMaxWorkgroupSize); 16843 16844 VKAPI_ATTR void VKAPI_CALL vkCmdSubpassShadingHUAWEI( 16845 VkCommandBuffer commandBuffer); 16846 #endif 16847 16848 16849 // VK_HUAWEI_invocation_mask is a preprocessor guard. Do not pass it to API calls. 16850 #define VK_HUAWEI_invocation_mask 1 16851 #define VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION 1 16852 #define VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME "VK_HUAWEI_invocation_mask" 16853 typedef struct VkPhysicalDeviceInvocationMaskFeaturesHUAWEI { 16854 VkStructureType sType; 16855 void* pNext; 16856 VkBool32 invocationMask; 16857 } VkPhysicalDeviceInvocationMaskFeaturesHUAWEI; 16858 16859 typedef void (VKAPI_PTR *PFN_vkCmdBindInvocationMaskHUAWEI)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout); 16860 16861 #ifndef VK_NO_PROTOTYPES 16862 VKAPI_ATTR void VKAPI_CALL vkCmdBindInvocationMaskHUAWEI( 16863 VkCommandBuffer commandBuffer, 16864 VkImageView imageView, 16865 VkImageLayout imageLayout); 16866 #endif 16867 16868 16869 // VK_NV_external_memory_rdma is a preprocessor guard. Do not pass it to API calls. 16870 #define VK_NV_external_memory_rdma 1 16871 typedef void* VkRemoteAddressNV; 16872 #define VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION 1 16873 #define VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME "VK_NV_external_memory_rdma" 16874 typedef struct VkMemoryGetRemoteAddressInfoNV { 16875 VkStructureType sType; 16876 const void* pNext; 16877 VkDeviceMemory memory; 16878 VkExternalMemoryHandleTypeFlagBits handleType; 16879 } VkMemoryGetRemoteAddressInfoNV; 16880 16881 typedef struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV { 16882 VkStructureType sType; 16883 void* pNext; 16884 VkBool32 externalMemoryRDMA; 16885 } VkPhysicalDeviceExternalMemoryRDMAFeaturesNV; 16886 16887 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryRemoteAddressNV)(VkDevice device, const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, VkRemoteAddressNV* pAddress); 16888 16889 #ifndef VK_NO_PROTOTYPES 16890 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryRemoteAddressNV( 16891 VkDevice device, 16892 const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, 16893 VkRemoteAddressNV* pAddress); 16894 #endif 16895 16896 16897 // VK_EXT_pipeline_properties is a preprocessor guard. Do not pass it to API calls. 16898 #define VK_EXT_pipeline_properties 1 16899 #define VK_EXT_PIPELINE_PROPERTIES_SPEC_VERSION 1 16900 #define VK_EXT_PIPELINE_PROPERTIES_EXTENSION_NAME "VK_EXT_pipeline_properties" 16901 typedef VkPipelineInfoKHR VkPipelineInfoEXT; 16902 16903 typedef struct VkPipelinePropertiesIdentifierEXT { 16904 VkStructureType sType; 16905 void* pNext; 16906 uint8_t pipelineIdentifier[VK_UUID_SIZE]; 16907 } VkPipelinePropertiesIdentifierEXT; 16908 16909 typedef struct VkPhysicalDevicePipelinePropertiesFeaturesEXT { 16910 VkStructureType sType; 16911 void* pNext; 16912 VkBool32 pipelinePropertiesIdentifier; 16913 } VkPhysicalDevicePipelinePropertiesFeaturesEXT; 16914 16915 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelinePropertiesEXT)(VkDevice device, const VkPipelineInfoEXT* pPipelineInfo, VkBaseOutStructure* pPipelineProperties); 16916 16917 #ifndef VK_NO_PROTOTYPES 16918 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelinePropertiesEXT( 16919 VkDevice device, 16920 const VkPipelineInfoEXT* pPipelineInfo, 16921 VkBaseOutStructure* pPipelineProperties); 16922 #endif 16923 16924 16925 // VK_EXT_frame_boundary is a preprocessor guard. Do not pass it to API calls. 16926 #define VK_EXT_frame_boundary 1 16927 #define VK_EXT_FRAME_BOUNDARY_SPEC_VERSION 1 16928 #define VK_EXT_FRAME_BOUNDARY_EXTENSION_NAME "VK_EXT_frame_boundary" 16929 16930 typedef enum VkFrameBoundaryFlagBitsEXT { 16931 VK_FRAME_BOUNDARY_FRAME_END_BIT_EXT = 0x00000001, 16932 VK_FRAME_BOUNDARY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 16933 } VkFrameBoundaryFlagBitsEXT; 16934 typedef VkFlags VkFrameBoundaryFlagsEXT; 16935 typedef struct VkPhysicalDeviceFrameBoundaryFeaturesEXT { 16936 VkStructureType sType; 16937 void* pNext; 16938 VkBool32 frameBoundary; 16939 } VkPhysicalDeviceFrameBoundaryFeaturesEXT; 16940 16941 typedef struct VkFrameBoundaryEXT { 16942 VkStructureType sType; 16943 const void* pNext; 16944 VkFrameBoundaryFlagsEXT flags; 16945 uint64_t frameID; 16946 uint32_t imageCount; 16947 const VkImage* pImages; 16948 uint32_t bufferCount; 16949 const VkBuffer* pBuffers; 16950 uint64_t tagName; 16951 size_t tagSize; 16952 const void* pTag; 16953 } VkFrameBoundaryEXT; 16954 16955 16956 16957 // VK_EXT_multisampled_render_to_single_sampled is a preprocessor guard. Do not pass it to API calls. 16958 #define VK_EXT_multisampled_render_to_single_sampled 1 16959 #define VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_SPEC_VERSION 1 16960 #define VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_EXTENSION_NAME "VK_EXT_multisampled_render_to_single_sampled" 16961 typedef struct VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT { 16962 VkStructureType sType; 16963 void* pNext; 16964 VkBool32 multisampledRenderToSingleSampled; 16965 } VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT; 16966 16967 typedef struct VkSubpassResolvePerformanceQueryEXT { 16968 VkStructureType sType; 16969 void* pNext; 16970 VkBool32 optimal; 16971 } VkSubpassResolvePerformanceQueryEXT; 16972 16973 typedef struct VkMultisampledRenderToSingleSampledInfoEXT { 16974 VkStructureType sType; 16975 const void* pNext; 16976 VkBool32 multisampledRenderToSingleSampledEnable; 16977 VkSampleCountFlagBits rasterizationSamples; 16978 } VkMultisampledRenderToSingleSampledInfoEXT; 16979 16980 16981 16982 // VK_EXT_extended_dynamic_state2 is a preprocessor guard. Do not pass it to API calls. 16983 #define VK_EXT_extended_dynamic_state2 1 16984 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION 1 16985 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME "VK_EXT_extended_dynamic_state2" 16986 typedef struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT { 16987 VkStructureType sType; 16988 void* pNext; 16989 VkBool32 extendedDynamicState2; 16990 VkBool32 extendedDynamicState2LogicOp; 16991 VkBool32 extendedDynamicState2PatchControlPoints; 16992 } VkPhysicalDeviceExtendedDynamicState2FeaturesEXT; 16993 16994 typedef void (VKAPI_PTR *PFN_vkCmdSetPatchControlPointsEXT)(VkCommandBuffer commandBuffer, uint32_t patchControlPoints); 16995 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable); 16996 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable); 16997 typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEXT)(VkCommandBuffer commandBuffer, VkLogicOp logicOp); 16998 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable); 16999 17000 #ifndef VK_NO_PROTOTYPES 17001 VKAPI_ATTR void VKAPI_CALL vkCmdSetPatchControlPointsEXT( 17002 VkCommandBuffer commandBuffer, 17003 uint32_t patchControlPoints); 17004 17005 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnableEXT( 17006 VkCommandBuffer commandBuffer, 17007 VkBool32 rasterizerDiscardEnable); 17008 17009 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnableEXT( 17010 VkCommandBuffer commandBuffer, 17011 VkBool32 depthBiasEnable); 17012 17013 VKAPI_ATTR void VKAPI_CALL vkCmdSetLogicOpEXT( 17014 VkCommandBuffer commandBuffer, 17015 VkLogicOp logicOp); 17016 17017 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnableEXT( 17018 VkCommandBuffer commandBuffer, 17019 VkBool32 primitiveRestartEnable); 17020 #endif 17021 17022 17023 // VK_EXT_color_write_enable is a preprocessor guard. Do not pass it to API calls. 17024 #define VK_EXT_color_write_enable 1 17025 #define VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION 1 17026 #define VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME "VK_EXT_color_write_enable" 17027 typedef struct VkPhysicalDeviceColorWriteEnableFeaturesEXT { 17028 VkStructureType sType; 17029 void* pNext; 17030 VkBool32 colorWriteEnable; 17031 } VkPhysicalDeviceColorWriteEnableFeaturesEXT; 17032 17033 typedef struct VkPipelineColorWriteCreateInfoEXT { 17034 VkStructureType sType; 17035 const void* pNext; 17036 uint32_t attachmentCount; 17037 const VkBool32* pColorWriteEnables; 17038 } VkPipelineColorWriteCreateInfoEXT; 17039 17040 typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteEnableEXT)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32* pColorWriteEnables); 17041 17042 #ifndef VK_NO_PROTOTYPES 17043 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteEnableEXT( 17044 VkCommandBuffer commandBuffer, 17045 uint32_t attachmentCount, 17046 const VkBool32* pColorWriteEnables); 17047 #endif 17048 17049 17050 // VK_EXT_primitives_generated_query is a preprocessor guard. Do not pass it to API calls. 17051 #define VK_EXT_primitives_generated_query 1 17052 #define VK_EXT_PRIMITIVES_GENERATED_QUERY_SPEC_VERSION 1 17053 #define VK_EXT_PRIMITIVES_GENERATED_QUERY_EXTENSION_NAME "VK_EXT_primitives_generated_query" 17054 typedef struct VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT { 17055 VkStructureType sType; 17056 void* pNext; 17057 VkBool32 primitivesGeneratedQuery; 17058 VkBool32 primitivesGeneratedQueryWithRasterizerDiscard; 17059 VkBool32 primitivesGeneratedQueryWithNonZeroStreams; 17060 } VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT; 17061 17062 17063 17064 // VK_EXT_global_priority_query is a preprocessor guard. Do not pass it to API calls. 17065 #define VK_EXT_global_priority_query 1 17066 #define VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION 1 17067 #define VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME "VK_EXT_global_priority_query" 17068 #define VK_MAX_GLOBAL_PRIORITY_SIZE_EXT VK_MAX_GLOBAL_PRIORITY_SIZE_KHR 17069 typedef VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT; 17070 17071 typedef VkQueueFamilyGlobalPriorityPropertiesKHR VkQueueFamilyGlobalPriorityPropertiesEXT; 17072 17073 17074 17075 // VK_EXT_image_view_min_lod is a preprocessor guard. Do not pass it to API calls. 17076 #define VK_EXT_image_view_min_lod 1 17077 #define VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION 1 17078 #define VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME "VK_EXT_image_view_min_lod" 17079 typedef struct VkPhysicalDeviceImageViewMinLodFeaturesEXT { 17080 VkStructureType sType; 17081 void* pNext; 17082 VkBool32 minLod; 17083 } VkPhysicalDeviceImageViewMinLodFeaturesEXT; 17084 17085 typedef struct VkImageViewMinLodCreateInfoEXT { 17086 VkStructureType sType; 17087 const void* pNext; 17088 float minLod; 17089 } VkImageViewMinLodCreateInfoEXT; 17090 17091 17092 17093 // VK_EXT_multi_draw is a preprocessor guard. Do not pass it to API calls. 17094 #define VK_EXT_multi_draw 1 17095 #define VK_EXT_MULTI_DRAW_SPEC_VERSION 1 17096 #define VK_EXT_MULTI_DRAW_EXTENSION_NAME "VK_EXT_multi_draw" 17097 typedef struct VkPhysicalDeviceMultiDrawFeaturesEXT { 17098 VkStructureType sType; 17099 void* pNext; 17100 VkBool32 multiDraw; 17101 } VkPhysicalDeviceMultiDrawFeaturesEXT; 17102 17103 typedef struct VkPhysicalDeviceMultiDrawPropertiesEXT { 17104 VkStructureType sType; 17105 void* pNext; 17106 uint32_t maxMultiDrawCount; 17107 } VkPhysicalDeviceMultiDrawPropertiesEXT; 17108 17109 typedef struct VkMultiDrawInfoEXT { 17110 uint32_t firstVertex; 17111 uint32_t vertexCount; 17112 } VkMultiDrawInfoEXT; 17113 17114 typedef struct VkMultiDrawIndexedInfoEXT { 17115 uint32_t firstIndex; 17116 uint32_t indexCount; 17117 int32_t vertexOffset; 17118 } VkMultiDrawIndexedInfoEXT; 17119 17120 typedef void (VKAPI_PTR *PFN_vkCmdDrawMultiEXT)(VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawInfoEXT* pVertexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride); 17121 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); 17122 17123 #ifndef VK_NO_PROTOTYPES 17124 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiEXT( 17125 VkCommandBuffer commandBuffer, 17126 uint32_t drawCount, 17127 const VkMultiDrawInfoEXT* pVertexInfo, 17128 uint32_t instanceCount, 17129 uint32_t firstInstance, 17130 uint32_t stride); 17131 17132 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiIndexedEXT( 17133 VkCommandBuffer commandBuffer, 17134 uint32_t drawCount, 17135 const VkMultiDrawIndexedInfoEXT* pIndexInfo, 17136 uint32_t instanceCount, 17137 uint32_t firstInstance, 17138 uint32_t stride, 17139 const int32_t* pVertexOffset); 17140 #endif 17141 17142 17143 // VK_EXT_image_2d_view_of_3d is a preprocessor guard. Do not pass it to API calls. 17144 #define VK_EXT_image_2d_view_of_3d 1 17145 #define VK_EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION 1 17146 #define VK_EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME "VK_EXT_image_2d_view_of_3d" 17147 typedef struct VkPhysicalDeviceImage2DViewOf3DFeaturesEXT { 17148 VkStructureType sType; 17149 void* pNext; 17150 VkBool32 image2DViewOf3D; 17151 VkBool32 sampler2DViewOf3D; 17152 } VkPhysicalDeviceImage2DViewOf3DFeaturesEXT; 17153 17154 17155 17156 // VK_EXT_shader_tile_image is a preprocessor guard. Do not pass it to API calls. 17157 #define VK_EXT_shader_tile_image 1 17158 #define VK_EXT_SHADER_TILE_IMAGE_SPEC_VERSION 1 17159 #define VK_EXT_SHADER_TILE_IMAGE_EXTENSION_NAME "VK_EXT_shader_tile_image" 17160 typedef struct VkPhysicalDeviceShaderTileImageFeaturesEXT { 17161 VkStructureType sType; 17162 void* pNext; 17163 VkBool32 shaderTileImageColorReadAccess; 17164 VkBool32 shaderTileImageDepthReadAccess; 17165 VkBool32 shaderTileImageStencilReadAccess; 17166 } VkPhysicalDeviceShaderTileImageFeaturesEXT; 17167 17168 typedef struct VkPhysicalDeviceShaderTileImagePropertiesEXT { 17169 VkStructureType sType; 17170 void* pNext; 17171 VkBool32 shaderTileImageCoherentReadAccelerated; 17172 VkBool32 shaderTileImageReadSampleFromPixelRateInvocation; 17173 VkBool32 shaderTileImageReadFromHelperInvocation; 17174 } VkPhysicalDeviceShaderTileImagePropertiesEXT; 17175 17176 17177 17178 // VK_EXT_opacity_micromap is a preprocessor guard. Do not pass it to API calls. 17179 #define VK_EXT_opacity_micromap 1 17180 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkMicromapEXT) 17181 #define VK_EXT_OPACITY_MICROMAP_SPEC_VERSION 2 17182 #define VK_EXT_OPACITY_MICROMAP_EXTENSION_NAME "VK_EXT_opacity_micromap" 17183 17184 typedef enum VkMicromapTypeEXT { 17185 VK_MICROMAP_TYPE_OPACITY_MICROMAP_EXT = 0, 17186 #ifdef VK_ENABLE_BETA_EXTENSIONS 17187 VK_MICROMAP_TYPE_DISPLACEMENT_MICROMAP_NV = 1000397000, 17188 #endif 17189 VK_MICROMAP_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 17190 } VkMicromapTypeEXT; 17191 17192 typedef enum VkBuildMicromapModeEXT { 17193 VK_BUILD_MICROMAP_MODE_BUILD_EXT = 0, 17194 VK_BUILD_MICROMAP_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 17195 } VkBuildMicromapModeEXT; 17196 17197 typedef enum VkCopyMicromapModeEXT { 17198 VK_COPY_MICROMAP_MODE_CLONE_EXT = 0, 17199 VK_COPY_MICROMAP_MODE_SERIALIZE_EXT = 1, 17200 VK_COPY_MICROMAP_MODE_DESERIALIZE_EXT = 2, 17201 VK_COPY_MICROMAP_MODE_COMPACT_EXT = 3, 17202 VK_COPY_MICROMAP_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 17203 } VkCopyMicromapModeEXT; 17204 17205 typedef enum VkOpacityMicromapFormatEXT { 17206 VK_OPACITY_MICROMAP_FORMAT_2_STATE_EXT = 1, 17207 VK_OPACITY_MICROMAP_FORMAT_4_STATE_EXT = 2, 17208 VK_OPACITY_MICROMAP_FORMAT_MAX_ENUM_EXT = 0x7FFFFFFF 17209 } VkOpacityMicromapFormatEXT; 17210 17211 typedef enum VkOpacityMicromapSpecialIndexEXT { 17212 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_TRANSPARENT_EXT = -1, 17213 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_OPAQUE_EXT = -2, 17214 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_TRANSPARENT_EXT = -3, 17215 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_OPAQUE_EXT = -4, 17216 VK_OPACITY_MICROMAP_SPECIAL_INDEX_MAX_ENUM_EXT = 0x7FFFFFFF 17217 } VkOpacityMicromapSpecialIndexEXT; 17218 17219 typedef enum VkAccelerationStructureCompatibilityKHR { 17220 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR = 0, 17221 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR = 1, 17222 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR = 0x7FFFFFFF 17223 } VkAccelerationStructureCompatibilityKHR; 17224 17225 typedef enum VkAccelerationStructureBuildTypeKHR { 17226 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0, 17227 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1, 17228 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR = 2, 17229 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 17230 } VkAccelerationStructureBuildTypeKHR; 17231 17232 typedef enum VkBuildMicromapFlagBitsEXT { 17233 VK_BUILD_MICROMAP_PREFER_FAST_TRACE_BIT_EXT = 0x00000001, 17234 VK_BUILD_MICROMAP_PREFER_FAST_BUILD_BIT_EXT = 0x00000002, 17235 VK_BUILD_MICROMAP_ALLOW_COMPACTION_BIT_EXT = 0x00000004, 17236 VK_BUILD_MICROMAP_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 17237 } VkBuildMicromapFlagBitsEXT; 17238 typedef VkFlags VkBuildMicromapFlagsEXT; 17239 17240 typedef enum VkMicromapCreateFlagBitsEXT { 17241 VK_MICROMAP_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = 0x00000001, 17242 VK_MICROMAP_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 17243 } VkMicromapCreateFlagBitsEXT; 17244 typedef VkFlags VkMicromapCreateFlagsEXT; 17245 typedef struct VkMicromapUsageEXT { 17246 uint32_t count; 17247 uint32_t subdivisionLevel; 17248 uint32_t format; 17249 } VkMicromapUsageEXT; 17250 17251 typedef union VkDeviceOrHostAddressKHR { 17252 VkDeviceAddress deviceAddress; 17253 void* hostAddress; 17254 } VkDeviceOrHostAddressKHR; 17255 17256 typedef struct VkMicromapBuildInfoEXT { 17257 VkStructureType sType; 17258 const void* pNext; 17259 VkMicromapTypeEXT type; 17260 VkBuildMicromapFlagsEXT flags; 17261 VkBuildMicromapModeEXT mode; 17262 VkMicromapEXT dstMicromap; 17263 uint32_t usageCountsCount; 17264 const VkMicromapUsageEXT* pUsageCounts; 17265 const VkMicromapUsageEXT* const* ppUsageCounts; 17266 VkDeviceOrHostAddressConstKHR data; 17267 VkDeviceOrHostAddressKHR scratchData; 17268 VkDeviceOrHostAddressConstKHR triangleArray; 17269 VkDeviceSize triangleArrayStride; 17270 } VkMicromapBuildInfoEXT; 17271 17272 typedef struct VkMicromapCreateInfoEXT { 17273 VkStructureType sType; 17274 const void* pNext; 17275 VkMicromapCreateFlagsEXT createFlags; 17276 VkBuffer buffer; 17277 VkDeviceSize offset; 17278 VkDeviceSize size; 17279 VkMicromapTypeEXT type; 17280 VkDeviceAddress deviceAddress; 17281 } VkMicromapCreateInfoEXT; 17282 17283 typedef struct VkPhysicalDeviceOpacityMicromapFeaturesEXT { 17284 VkStructureType sType; 17285 void* pNext; 17286 VkBool32 micromap; 17287 VkBool32 micromapCaptureReplay; 17288 VkBool32 micromapHostCommands; 17289 } VkPhysicalDeviceOpacityMicromapFeaturesEXT; 17290 17291 typedef struct VkPhysicalDeviceOpacityMicromapPropertiesEXT { 17292 VkStructureType sType; 17293 void* pNext; 17294 uint32_t maxOpacity2StateSubdivisionLevel; 17295 uint32_t maxOpacity4StateSubdivisionLevel; 17296 } VkPhysicalDeviceOpacityMicromapPropertiesEXT; 17297 17298 typedef struct VkMicromapVersionInfoEXT { 17299 VkStructureType sType; 17300 const void* pNext; 17301 const uint8_t* pVersionData; 17302 } VkMicromapVersionInfoEXT; 17303 17304 typedef struct VkCopyMicromapToMemoryInfoEXT { 17305 VkStructureType sType; 17306 const void* pNext; 17307 VkMicromapEXT src; 17308 VkDeviceOrHostAddressKHR dst; 17309 VkCopyMicromapModeEXT mode; 17310 } VkCopyMicromapToMemoryInfoEXT; 17311 17312 typedef struct VkCopyMemoryToMicromapInfoEXT { 17313 VkStructureType sType; 17314 const void* pNext; 17315 VkDeviceOrHostAddressConstKHR src; 17316 VkMicromapEXT dst; 17317 VkCopyMicromapModeEXT mode; 17318 } VkCopyMemoryToMicromapInfoEXT; 17319 17320 typedef struct VkCopyMicromapInfoEXT { 17321 VkStructureType sType; 17322 const void* pNext; 17323 VkMicromapEXT src; 17324 VkMicromapEXT dst; 17325 VkCopyMicromapModeEXT mode; 17326 } VkCopyMicromapInfoEXT; 17327 17328 typedef struct VkMicromapBuildSizesInfoEXT { 17329 VkStructureType sType; 17330 const void* pNext; 17331 VkDeviceSize micromapSize; 17332 VkDeviceSize buildScratchSize; 17333 VkBool32 discardable; 17334 } VkMicromapBuildSizesInfoEXT; 17335 17336 typedef struct VkAccelerationStructureTrianglesOpacityMicromapEXT { 17337 VkStructureType sType; 17338 void* pNext; 17339 VkIndexType indexType; 17340 VkDeviceOrHostAddressConstKHR indexBuffer; 17341 VkDeviceSize indexStride; 17342 uint32_t baseTriangle; 17343 uint32_t usageCountsCount; 17344 const VkMicromapUsageEXT* pUsageCounts; 17345 const VkMicromapUsageEXT* const* ppUsageCounts; 17346 VkMicromapEXT micromap; 17347 } VkAccelerationStructureTrianglesOpacityMicromapEXT; 17348 17349 typedef struct VkMicromapTriangleEXT { 17350 uint32_t dataOffset; 17351 uint16_t subdivisionLevel; 17352 uint16_t format; 17353 } VkMicromapTriangleEXT; 17354 17355 typedef VkResult (VKAPI_PTR *PFN_vkCreateMicromapEXT)(VkDevice device, const VkMicromapCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkMicromapEXT* pMicromap); 17356 typedef void (VKAPI_PTR *PFN_vkDestroyMicromapEXT)(VkDevice device, VkMicromapEXT micromap, const VkAllocationCallbacks* pAllocator); 17357 typedef void (VKAPI_PTR *PFN_vkCmdBuildMicromapsEXT)(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkMicromapBuildInfoEXT* pInfos); 17358 typedef VkResult (VKAPI_PTR *PFN_vkBuildMicromapsEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkMicromapBuildInfoEXT* pInfos); 17359 typedef VkResult (VKAPI_PTR *PFN_vkCopyMicromapEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapInfoEXT* pInfo); 17360 typedef VkResult (VKAPI_PTR *PFN_vkCopyMicromapToMemoryEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapToMemoryInfoEXT* pInfo); 17361 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToMicromapEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToMicromapInfoEXT* pInfo); 17362 typedef VkResult (VKAPI_PTR *PFN_vkWriteMicromapsPropertiesEXT)(VkDevice device, uint32_t micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, size_t dataSize, void* pData, size_t stride); 17363 typedef void (VKAPI_PTR *PFN_vkCmdCopyMicromapEXT)(VkCommandBuffer commandBuffer, const VkCopyMicromapInfoEXT* pInfo); 17364 typedef void (VKAPI_PTR *PFN_vkCmdCopyMicromapToMemoryEXT)(VkCommandBuffer commandBuffer, const VkCopyMicromapToMemoryInfoEXT* pInfo); 17365 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToMicromapEXT)(VkCommandBuffer commandBuffer, const VkCopyMemoryToMicromapInfoEXT* pInfo); 17366 typedef void (VKAPI_PTR *PFN_vkCmdWriteMicromapsPropertiesEXT)(VkCommandBuffer commandBuffer, uint32_t micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery); 17367 typedef void (VKAPI_PTR *PFN_vkGetDeviceMicromapCompatibilityEXT)(VkDevice device, const VkMicromapVersionInfoEXT* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility); 17368 typedef void (VKAPI_PTR *PFN_vkGetMicromapBuildSizesEXT)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkMicromapBuildInfoEXT* pBuildInfo, VkMicromapBuildSizesInfoEXT* pSizeInfo); 17369 17370 #ifndef VK_NO_PROTOTYPES 17371 VKAPI_ATTR VkResult VKAPI_CALL vkCreateMicromapEXT( 17372 VkDevice device, 17373 const VkMicromapCreateInfoEXT* pCreateInfo, 17374 const VkAllocationCallbacks* pAllocator, 17375 VkMicromapEXT* pMicromap); 17376 17377 VKAPI_ATTR void VKAPI_CALL vkDestroyMicromapEXT( 17378 VkDevice device, 17379 VkMicromapEXT micromap, 17380 const VkAllocationCallbacks* pAllocator); 17381 17382 VKAPI_ATTR void VKAPI_CALL vkCmdBuildMicromapsEXT( 17383 VkCommandBuffer commandBuffer, 17384 uint32_t infoCount, 17385 const VkMicromapBuildInfoEXT* pInfos); 17386 17387 VKAPI_ATTR VkResult VKAPI_CALL vkBuildMicromapsEXT( 17388 VkDevice device, 17389 VkDeferredOperationKHR deferredOperation, 17390 uint32_t infoCount, 17391 const VkMicromapBuildInfoEXT* pInfos); 17392 17393 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMicromapEXT( 17394 VkDevice device, 17395 VkDeferredOperationKHR deferredOperation, 17396 const VkCopyMicromapInfoEXT* pInfo); 17397 17398 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMicromapToMemoryEXT( 17399 VkDevice device, 17400 VkDeferredOperationKHR deferredOperation, 17401 const VkCopyMicromapToMemoryInfoEXT* pInfo); 17402 17403 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToMicromapEXT( 17404 VkDevice device, 17405 VkDeferredOperationKHR deferredOperation, 17406 const VkCopyMemoryToMicromapInfoEXT* pInfo); 17407 17408 VKAPI_ATTR VkResult VKAPI_CALL vkWriteMicromapsPropertiesEXT( 17409 VkDevice device, 17410 uint32_t micromapCount, 17411 const VkMicromapEXT* pMicromaps, 17412 VkQueryType queryType, 17413 size_t dataSize, 17414 void* pData, 17415 size_t stride); 17416 17417 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMicromapEXT( 17418 VkCommandBuffer commandBuffer, 17419 const VkCopyMicromapInfoEXT* pInfo); 17420 17421 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMicromapToMemoryEXT( 17422 VkCommandBuffer commandBuffer, 17423 const VkCopyMicromapToMemoryInfoEXT* pInfo); 17424 17425 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToMicromapEXT( 17426 VkCommandBuffer commandBuffer, 17427 const VkCopyMemoryToMicromapInfoEXT* pInfo); 17428 17429 VKAPI_ATTR void VKAPI_CALL vkCmdWriteMicromapsPropertiesEXT( 17430 VkCommandBuffer commandBuffer, 17431 uint32_t micromapCount, 17432 const VkMicromapEXT* pMicromaps, 17433 VkQueryType queryType, 17434 VkQueryPool queryPool, 17435 uint32_t firstQuery); 17436 17437 VKAPI_ATTR void VKAPI_CALL vkGetDeviceMicromapCompatibilityEXT( 17438 VkDevice device, 17439 const VkMicromapVersionInfoEXT* pVersionInfo, 17440 VkAccelerationStructureCompatibilityKHR* pCompatibility); 17441 17442 VKAPI_ATTR void VKAPI_CALL vkGetMicromapBuildSizesEXT( 17443 VkDevice device, 17444 VkAccelerationStructureBuildTypeKHR buildType, 17445 const VkMicromapBuildInfoEXT* pBuildInfo, 17446 VkMicromapBuildSizesInfoEXT* pSizeInfo); 17447 #endif 17448 17449 17450 // VK_EXT_load_store_op_none is a preprocessor guard. Do not pass it to API calls. 17451 #define VK_EXT_load_store_op_none 1 17452 #define VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION 1 17453 #define VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME "VK_EXT_load_store_op_none" 17454 17455 17456 // VK_HUAWEI_cluster_culling_shader is a preprocessor guard. Do not pass it to API calls. 17457 #define VK_HUAWEI_cluster_culling_shader 1 17458 #define VK_HUAWEI_CLUSTER_CULLING_SHADER_SPEC_VERSION 3 17459 #define VK_HUAWEI_CLUSTER_CULLING_SHADER_EXTENSION_NAME "VK_HUAWEI_cluster_culling_shader" 17460 typedef struct VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI { 17461 VkStructureType sType; 17462 void* pNext; 17463 VkBool32 clustercullingShader; 17464 VkBool32 multiviewClusterCullingShader; 17465 } VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI; 17466 17467 typedef struct VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI { 17468 VkStructureType sType; 17469 void* pNext; 17470 uint32_t maxWorkGroupCount[3]; 17471 uint32_t maxWorkGroupSize[3]; 17472 uint32_t maxOutputClusterCount; 17473 VkDeviceSize indirectBufferOffsetAlignment; 17474 } VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI; 17475 17476 typedef struct VkPhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI { 17477 VkStructureType sType; 17478 void* pNext; 17479 VkBool32 clusterShadingRate; 17480 } VkPhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI; 17481 17482 typedef void (VKAPI_PTR *PFN_vkCmdDrawClusterHUAWEI)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ); 17483 typedef void (VKAPI_PTR *PFN_vkCmdDrawClusterIndirectHUAWEI)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset); 17484 17485 #ifndef VK_NO_PROTOTYPES 17486 VKAPI_ATTR void VKAPI_CALL vkCmdDrawClusterHUAWEI( 17487 VkCommandBuffer commandBuffer, 17488 uint32_t groupCountX, 17489 uint32_t groupCountY, 17490 uint32_t groupCountZ); 17491 17492 VKAPI_ATTR void VKAPI_CALL vkCmdDrawClusterIndirectHUAWEI( 17493 VkCommandBuffer commandBuffer, 17494 VkBuffer buffer, 17495 VkDeviceSize offset); 17496 #endif 17497 17498 17499 // VK_EXT_border_color_swizzle is a preprocessor guard. Do not pass it to API calls. 17500 #define VK_EXT_border_color_swizzle 1 17501 #define VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION 1 17502 #define VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME "VK_EXT_border_color_swizzle" 17503 typedef struct VkPhysicalDeviceBorderColorSwizzleFeaturesEXT { 17504 VkStructureType sType; 17505 void* pNext; 17506 VkBool32 borderColorSwizzle; 17507 VkBool32 borderColorSwizzleFromImage; 17508 } VkPhysicalDeviceBorderColorSwizzleFeaturesEXT; 17509 17510 typedef struct VkSamplerBorderColorComponentMappingCreateInfoEXT { 17511 VkStructureType sType; 17512 const void* pNext; 17513 VkComponentMapping components; 17514 VkBool32 srgb; 17515 } VkSamplerBorderColorComponentMappingCreateInfoEXT; 17516 17517 17518 17519 // VK_EXT_pageable_device_local_memory is a preprocessor guard. Do not pass it to API calls. 17520 #define VK_EXT_pageable_device_local_memory 1 17521 #define VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION 1 17522 #define VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME "VK_EXT_pageable_device_local_memory" 17523 typedef struct VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT { 17524 VkStructureType sType; 17525 void* pNext; 17526 VkBool32 pageableDeviceLocalMemory; 17527 } VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT; 17528 17529 typedef void (VKAPI_PTR *PFN_vkSetDeviceMemoryPriorityEXT)(VkDevice device, VkDeviceMemory memory, float priority); 17530 17531 #ifndef VK_NO_PROTOTYPES 17532 VKAPI_ATTR void VKAPI_CALL vkSetDeviceMemoryPriorityEXT( 17533 VkDevice device, 17534 VkDeviceMemory memory, 17535 float priority); 17536 #endif 17537 17538 17539 // VK_ARM_shader_core_properties is a preprocessor guard. Do not pass it to API calls. 17540 #define VK_ARM_shader_core_properties 1 17541 #define VK_ARM_SHADER_CORE_PROPERTIES_SPEC_VERSION 1 17542 #define VK_ARM_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_ARM_shader_core_properties" 17543 typedef struct VkPhysicalDeviceShaderCorePropertiesARM { 17544 VkStructureType sType; 17545 void* pNext; 17546 uint32_t pixelRate; 17547 uint32_t texelRate; 17548 uint32_t fmaRate; 17549 } VkPhysicalDeviceShaderCorePropertiesARM; 17550 17551 17552 17553 // VK_ARM_scheduling_controls is a preprocessor guard. Do not pass it to API calls. 17554 #define VK_ARM_scheduling_controls 1 17555 #define VK_ARM_SCHEDULING_CONTROLS_SPEC_VERSION 1 17556 #define VK_ARM_SCHEDULING_CONTROLS_EXTENSION_NAME "VK_ARM_scheduling_controls" 17557 typedef VkFlags64 VkPhysicalDeviceSchedulingControlsFlagsARM; 17558 17559 // Flag bits for VkPhysicalDeviceSchedulingControlsFlagBitsARM 17560 typedef VkFlags64 VkPhysicalDeviceSchedulingControlsFlagBitsARM; 17561 static const VkPhysicalDeviceSchedulingControlsFlagBitsARM VK_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_SHADER_CORE_COUNT_ARM = 0x00000001ULL; 17562 17563 typedef struct VkDeviceQueueShaderCoreControlCreateInfoARM { 17564 VkStructureType sType; 17565 void* pNext; 17566 uint32_t shaderCoreCount; 17567 } VkDeviceQueueShaderCoreControlCreateInfoARM; 17568 17569 typedef struct VkPhysicalDeviceSchedulingControlsFeaturesARM { 17570 VkStructureType sType; 17571 void* pNext; 17572 VkBool32 schedulingControls; 17573 } VkPhysicalDeviceSchedulingControlsFeaturesARM; 17574 17575 typedef struct VkPhysicalDeviceSchedulingControlsPropertiesARM { 17576 VkStructureType sType; 17577 void* pNext; 17578 VkPhysicalDeviceSchedulingControlsFlagsARM schedulingControlsFlags; 17579 } VkPhysicalDeviceSchedulingControlsPropertiesARM; 17580 17581 17582 17583 // VK_EXT_image_sliced_view_of_3d is a preprocessor guard. Do not pass it to API calls. 17584 #define VK_EXT_image_sliced_view_of_3d 1 17585 #define VK_EXT_IMAGE_SLICED_VIEW_OF_3D_SPEC_VERSION 1 17586 #define VK_EXT_IMAGE_SLICED_VIEW_OF_3D_EXTENSION_NAME "VK_EXT_image_sliced_view_of_3d" 17587 #define VK_REMAINING_3D_SLICES_EXT (~0U) 17588 typedef struct VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT { 17589 VkStructureType sType; 17590 void* pNext; 17591 VkBool32 imageSlicedViewOf3D; 17592 } VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT; 17593 17594 typedef struct VkImageViewSlicedCreateInfoEXT { 17595 VkStructureType sType; 17596 const void* pNext; 17597 uint32_t sliceOffset; 17598 uint32_t sliceCount; 17599 } VkImageViewSlicedCreateInfoEXT; 17600 17601 17602 17603 // VK_VALVE_descriptor_set_host_mapping is a preprocessor guard. Do not pass it to API calls. 17604 #define VK_VALVE_descriptor_set_host_mapping 1 17605 #define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION 1 17606 #define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME "VK_VALVE_descriptor_set_host_mapping" 17607 typedef struct VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE { 17608 VkStructureType sType; 17609 void* pNext; 17610 VkBool32 descriptorSetHostMapping; 17611 } VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE; 17612 17613 typedef struct VkDescriptorSetBindingReferenceVALVE { 17614 VkStructureType sType; 17615 const void* pNext; 17616 VkDescriptorSetLayout descriptorSetLayout; 17617 uint32_t binding; 17618 } VkDescriptorSetBindingReferenceVALVE; 17619 17620 typedef struct VkDescriptorSetLayoutHostMappingInfoVALVE { 17621 VkStructureType sType; 17622 void* pNext; 17623 size_t descriptorOffset; 17624 uint32_t descriptorSize; 17625 } VkDescriptorSetLayoutHostMappingInfoVALVE; 17626 17627 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE)(VkDevice device, const VkDescriptorSetBindingReferenceVALVE* pBindingReference, VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping); 17628 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetHostMappingVALVE)(VkDevice device, VkDescriptorSet descriptorSet, void** ppData); 17629 17630 #ifndef VK_NO_PROTOTYPES 17631 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutHostMappingInfoVALVE( 17632 VkDevice device, 17633 const VkDescriptorSetBindingReferenceVALVE* pBindingReference, 17634 VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping); 17635 17636 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetHostMappingVALVE( 17637 VkDevice device, 17638 VkDescriptorSet descriptorSet, 17639 void** ppData); 17640 #endif 17641 17642 17643 // VK_EXT_depth_clamp_zero_one is a preprocessor guard. Do not pass it to API calls. 17644 #define VK_EXT_depth_clamp_zero_one 1 17645 #define VK_EXT_DEPTH_CLAMP_ZERO_ONE_SPEC_VERSION 1 17646 #define VK_EXT_DEPTH_CLAMP_ZERO_ONE_EXTENSION_NAME "VK_EXT_depth_clamp_zero_one" 17647 typedef struct VkPhysicalDeviceDepthClampZeroOneFeaturesEXT { 17648 VkStructureType sType; 17649 void* pNext; 17650 VkBool32 depthClampZeroOne; 17651 } VkPhysicalDeviceDepthClampZeroOneFeaturesEXT; 17652 17653 17654 17655 // VK_EXT_non_seamless_cube_map is a preprocessor guard. Do not pass it to API calls. 17656 #define VK_EXT_non_seamless_cube_map 1 17657 #define VK_EXT_NON_SEAMLESS_CUBE_MAP_SPEC_VERSION 1 17658 #define VK_EXT_NON_SEAMLESS_CUBE_MAP_EXTENSION_NAME "VK_EXT_non_seamless_cube_map" 17659 typedef struct VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT { 17660 VkStructureType sType; 17661 void* pNext; 17662 VkBool32 nonSeamlessCubeMap; 17663 } VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT; 17664 17665 17666 17667 // VK_ARM_render_pass_striped is a preprocessor guard. Do not pass it to API calls. 17668 #define VK_ARM_render_pass_striped 1 17669 #define VK_ARM_RENDER_PASS_STRIPED_SPEC_VERSION 1 17670 #define VK_ARM_RENDER_PASS_STRIPED_EXTENSION_NAME "VK_ARM_render_pass_striped" 17671 typedef struct VkPhysicalDeviceRenderPassStripedFeaturesARM { 17672 VkStructureType sType; 17673 void* pNext; 17674 VkBool32 renderPassStriped; 17675 } VkPhysicalDeviceRenderPassStripedFeaturesARM; 17676 17677 typedef struct VkPhysicalDeviceRenderPassStripedPropertiesARM { 17678 VkStructureType sType; 17679 void* pNext; 17680 VkExtent2D renderPassStripeGranularity; 17681 uint32_t maxRenderPassStripes; 17682 } VkPhysicalDeviceRenderPassStripedPropertiesARM; 17683 17684 typedef struct VkRenderPassStripeInfoARM { 17685 VkStructureType sType; 17686 const void* pNext; 17687 VkRect2D stripeArea; 17688 } VkRenderPassStripeInfoARM; 17689 17690 typedef struct VkRenderPassStripeBeginInfoARM { 17691 VkStructureType sType; 17692 const void* pNext; 17693 uint32_t stripeInfoCount; 17694 const VkRenderPassStripeInfoARM* pStripeInfos; 17695 } VkRenderPassStripeBeginInfoARM; 17696 17697 typedef struct VkRenderPassStripeSubmitInfoARM { 17698 VkStructureType sType; 17699 const void* pNext; 17700 uint32_t stripeSemaphoreInfoCount; 17701 const VkSemaphoreSubmitInfo* pStripeSemaphoreInfos; 17702 } VkRenderPassStripeSubmitInfoARM; 17703 17704 17705 17706 // VK_QCOM_fragment_density_map_offset is a preprocessor guard. Do not pass it to API calls. 17707 #define VK_QCOM_fragment_density_map_offset 1 17708 #define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION 1 17709 #define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME "VK_QCOM_fragment_density_map_offset" 17710 typedef struct VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM { 17711 VkStructureType sType; 17712 void* pNext; 17713 VkBool32 fragmentDensityMapOffset; 17714 } VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM; 17715 17716 typedef struct VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM { 17717 VkStructureType sType; 17718 void* pNext; 17719 VkExtent2D fragmentDensityOffsetGranularity; 17720 } VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM; 17721 17722 typedef struct VkSubpassFragmentDensityMapOffsetEndInfoQCOM { 17723 VkStructureType sType; 17724 const void* pNext; 17725 uint32_t fragmentDensityOffsetCount; 17726 const VkOffset2D* pFragmentDensityOffsets; 17727 } VkSubpassFragmentDensityMapOffsetEndInfoQCOM; 17728 17729 17730 17731 // VK_NV_copy_memory_indirect is a preprocessor guard. Do not pass it to API calls. 17732 #define VK_NV_copy_memory_indirect 1 17733 #define VK_NV_COPY_MEMORY_INDIRECT_SPEC_VERSION 1 17734 #define VK_NV_COPY_MEMORY_INDIRECT_EXTENSION_NAME "VK_NV_copy_memory_indirect" 17735 typedef struct VkCopyMemoryIndirectCommandNV { 17736 VkDeviceAddress srcAddress; 17737 VkDeviceAddress dstAddress; 17738 VkDeviceSize size; 17739 } VkCopyMemoryIndirectCommandNV; 17740 17741 typedef struct VkCopyMemoryToImageIndirectCommandNV { 17742 VkDeviceAddress srcAddress; 17743 uint32_t bufferRowLength; 17744 uint32_t bufferImageHeight; 17745 VkImageSubresourceLayers imageSubresource; 17746 VkOffset3D imageOffset; 17747 VkExtent3D imageExtent; 17748 } VkCopyMemoryToImageIndirectCommandNV; 17749 17750 typedef struct VkPhysicalDeviceCopyMemoryIndirectFeaturesNV { 17751 VkStructureType sType; 17752 void* pNext; 17753 VkBool32 indirectCopy; 17754 } VkPhysicalDeviceCopyMemoryIndirectFeaturesNV; 17755 17756 typedef struct VkPhysicalDeviceCopyMemoryIndirectPropertiesNV { 17757 VkStructureType sType; 17758 void* pNext; 17759 VkQueueFlags supportedQueues; 17760 } VkPhysicalDeviceCopyMemoryIndirectPropertiesNV; 17761 17762 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryIndirectNV)(VkCommandBuffer commandBuffer, VkDeviceAddress copyBufferAddress, uint32_t copyCount, uint32_t stride); 17763 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToImageIndirectNV)(VkCommandBuffer commandBuffer, VkDeviceAddress copyBufferAddress, uint32_t copyCount, uint32_t stride, VkImage dstImage, VkImageLayout dstImageLayout, const VkImageSubresourceLayers* pImageSubresources); 17764 17765 #ifndef VK_NO_PROTOTYPES 17766 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryIndirectNV( 17767 VkCommandBuffer commandBuffer, 17768 VkDeviceAddress copyBufferAddress, 17769 uint32_t copyCount, 17770 uint32_t stride); 17771 17772 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToImageIndirectNV( 17773 VkCommandBuffer commandBuffer, 17774 VkDeviceAddress copyBufferAddress, 17775 uint32_t copyCount, 17776 uint32_t stride, 17777 VkImage dstImage, 17778 VkImageLayout dstImageLayout, 17779 const VkImageSubresourceLayers* pImageSubresources); 17780 #endif 17781 17782 17783 // VK_NV_memory_decompression is a preprocessor guard. Do not pass it to API calls. 17784 #define VK_NV_memory_decompression 1 17785 #define VK_NV_MEMORY_DECOMPRESSION_SPEC_VERSION 1 17786 #define VK_NV_MEMORY_DECOMPRESSION_EXTENSION_NAME "VK_NV_memory_decompression" 17787 17788 // Flag bits for VkMemoryDecompressionMethodFlagBitsNV 17789 typedef VkFlags64 VkMemoryDecompressionMethodFlagBitsNV; 17790 static const VkMemoryDecompressionMethodFlagBitsNV VK_MEMORY_DECOMPRESSION_METHOD_GDEFLATE_1_0_BIT_NV = 0x00000001ULL; 17791 17792 typedef VkFlags64 VkMemoryDecompressionMethodFlagsNV; 17793 typedef struct VkDecompressMemoryRegionNV { 17794 VkDeviceAddress srcAddress; 17795 VkDeviceAddress dstAddress; 17796 VkDeviceSize compressedSize; 17797 VkDeviceSize decompressedSize; 17798 VkMemoryDecompressionMethodFlagsNV decompressionMethod; 17799 } VkDecompressMemoryRegionNV; 17800 17801 typedef struct VkPhysicalDeviceMemoryDecompressionFeaturesNV { 17802 VkStructureType sType; 17803 void* pNext; 17804 VkBool32 memoryDecompression; 17805 } VkPhysicalDeviceMemoryDecompressionFeaturesNV; 17806 17807 typedef struct VkPhysicalDeviceMemoryDecompressionPropertiesNV { 17808 VkStructureType sType; 17809 void* pNext; 17810 VkMemoryDecompressionMethodFlagsNV decompressionMethods; 17811 uint64_t maxDecompressionIndirectCount; 17812 } VkPhysicalDeviceMemoryDecompressionPropertiesNV; 17813 17814 typedef void (VKAPI_PTR *PFN_vkCmdDecompressMemoryNV)(VkCommandBuffer commandBuffer, uint32_t decompressRegionCount, const VkDecompressMemoryRegionNV* pDecompressMemoryRegions); 17815 typedef void (VKAPI_PTR *PFN_vkCmdDecompressMemoryIndirectCountNV)(VkCommandBuffer commandBuffer, VkDeviceAddress indirectCommandsAddress, VkDeviceAddress indirectCommandsCountAddress, uint32_t stride); 17816 17817 #ifndef VK_NO_PROTOTYPES 17818 VKAPI_ATTR void VKAPI_CALL vkCmdDecompressMemoryNV( 17819 VkCommandBuffer commandBuffer, 17820 uint32_t decompressRegionCount, 17821 const VkDecompressMemoryRegionNV* pDecompressMemoryRegions); 17822 17823 VKAPI_ATTR void VKAPI_CALL vkCmdDecompressMemoryIndirectCountNV( 17824 VkCommandBuffer commandBuffer, 17825 VkDeviceAddress indirectCommandsAddress, 17826 VkDeviceAddress indirectCommandsCountAddress, 17827 uint32_t stride); 17828 #endif 17829 17830 17831 // VK_NV_device_generated_commands_compute is a preprocessor guard. Do not pass it to API calls. 17832 #define VK_NV_device_generated_commands_compute 1 17833 #define VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_SPEC_VERSION 2 17834 #define VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_EXTENSION_NAME "VK_NV_device_generated_commands_compute" 17835 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV { 17836 VkStructureType sType; 17837 void* pNext; 17838 VkBool32 deviceGeneratedCompute; 17839 VkBool32 deviceGeneratedComputePipelines; 17840 VkBool32 deviceGeneratedComputeCaptureReplay; 17841 } VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV; 17842 17843 typedef struct VkComputePipelineIndirectBufferInfoNV { 17844 VkStructureType sType; 17845 const void* pNext; 17846 VkDeviceAddress deviceAddress; 17847 VkDeviceSize size; 17848 VkDeviceAddress pipelineDeviceAddressCaptureReplay; 17849 } VkComputePipelineIndirectBufferInfoNV; 17850 17851 typedef struct VkPipelineIndirectDeviceAddressInfoNV { 17852 VkStructureType sType; 17853 const void* pNext; 17854 VkPipelineBindPoint pipelineBindPoint; 17855 VkPipeline pipeline; 17856 } VkPipelineIndirectDeviceAddressInfoNV; 17857 17858 typedef struct VkBindPipelineIndirectCommandNV { 17859 VkDeviceAddress pipelineAddress; 17860 } VkBindPipelineIndirectCommandNV; 17861 17862 typedef void (VKAPI_PTR *PFN_vkGetPipelineIndirectMemoryRequirementsNV)(VkDevice device, const VkComputePipelineCreateInfo* pCreateInfo, VkMemoryRequirements2* pMemoryRequirements); 17863 typedef void (VKAPI_PTR *PFN_vkCmdUpdatePipelineIndirectBufferNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline); 17864 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetPipelineIndirectDeviceAddressNV)(VkDevice device, const VkPipelineIndirectDeviceAddressInfoNV* pInfo); 17865 17866 #ifndef VK_NO_PROTOTYPES 17867 VKAPI_ATTR void VKAPI_CALL vkGetPipelineIndirectMemoryRequirementsNV( 17868 VkDevice device, 17869 const VkComputePipelineCreateInfo* pCreateInfo, 17870 VkMemoryRequirements2* pMemoryRequirements); 17871 17872 VKAPI_ATTR void VKAPI_CALL vkCmdUpdatePipelineIndirectBufferNV( 17873 VkCommandBuffer commandBuffer, 17874 VkPipelineBindPoint pipelineBindPoint, 17875 VkPipeline pipeline); 17876 17877 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetPipelineIndirectDeviceAddressNV( 17878 VkDevice device, 17879 const VkPipelineIndirectDeviceAddressInfoNV* pInfo); 17880 #endif 17881 17882 17883 // VK_NV_linear_color_attachment is a preprocessor guard. Do not pass it to API calls. 17884 #define VK_NV_linear_color_attachment 1 17885 #define VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION 1 17886 #define VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME "VK_NV_linear_color_attachment" 17887 typedef struct VkPhysicalDeviceLinearColorAttachmentFeaturesNV { 17888 VkStructureType sType; 17889 void* pNext; 17890 VkBool32 linearColorAttachment; 17891 } VkPhysicalDeviceLinearColorAttachmentFeaturesNV; 17892 17893 17894 17895 // VK_GOOGLE_surfaceless_query is a preprocessor guard. Do not pass it to API calls. 17896 #define VK_GOOGLE_surfaceless_query 1 17897 #define VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION 2 17898 #define VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME "VK_GOOGLE_surfaceless_query" 17899 17900 17901 // VK_EXT_image_compression_control_swapchain is a preprocessor guard. Do not pass it to API calls. 17902 #define VK_EXT_image_compression_control_swapchain 1 17903 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_SPEC_VERSION 1 17904 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_EXTENSION_NAME "VK_EXT_image_compression_control_swapchain" 17905 typedef struct VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT { 17906 VkStructureType sType; 17907 void* pNext; 17908 VkBool32 imageCompressionControlSwapchain; 17909 } VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT; 17910 17911 17912 17913 // VK_QCOM_image_processing is a preprocessor guard. Do not pass it to API calls. 17914 #define VK_QCOM_image_processing 1 17915 #define VK_QCOM_IMAGE_PROCESSING_SPEC_VERSION 1 17916 #define VK_QCOM_IMAGE_PROCESSING_EXTENSION_NAME "VK_QCOM_image_processing" 17917 typedef struct VkImageViewSampleWeightCreateInfoQCOM { 17918 VkStructureType sType; 17919 const void* pNext; 17920 VkOffset2D filterCenter; 17921 VkExtent2D filterSize; 17922 uint32_t numPhases; 17923 } VkImageViewSampleWeightCreateInfoQCOM; 17924 17925 typedef struct VkPhysicalDeviceImageProcessingFeaturesQCOM { 17926 VkStructureType sType; 17927 void* pNext; 17928 VkBool32 textureSampleWeighted; 17929 VkBool32 textureBoxFilter; 17930 VkBool32 textureBlockMatch; 17931 } VkPhysicalDeviceImageProcessingFeaturesQCOM; 17932 17933 typedef struct VkPhysicalDeviceImageProcessingPropertiesQCOM { 17934 VkStructureType sType; 17935 void* pNext; 17936 uint32_t maxWeightFilterPhases; 17937 VkExtent2D maxWeightFilterDimension; 17938 VkExtent2D maxBlockMatchRegion; 17939 VkExtent2D maxBoxFilterBlockSize; 17940 } VkPhysicalDeviceImageProcessingPropertiesQCOM; 17941 17942 17943 17944 // VK_EXT_nested_command_buffer is a preprocessor guard. Do not pass it to API calls. 17945 #define VK_EXT_nested_command_buffer 1 17946 #define VK_EXT_NESTED_COMMAND_BUFFER_SPEC_VERSION 1 17947 #define VK_EXT_NESTED_COMMAND_BUFFER_EXTENSION_NAME "VK_EXT_nested_command_buffer" 17948 typedef struct VkPhysicalDeviceNestedCommandBufferFeaturesEXT { 17949 VkStructureType sType; 17950 void* pNext; 17951 VkBool32 nestedCommandBuffer; 17952 VkBool32 nestedCommandBufferRendering; 17953 VkBool32 nestedCommandBufferSimultaneousUse; 17954 } VkPhysicalDeviceNestedCommandBufferFeaturesEXT; 17955 17956 typedef struct VkPhysicalDeviceNestedCommandBufferPropertiesEXT { 17957 VkStructureType sType; 17958 void* pNext; 17959 uint32_t maxCommandBufferNestingLevel; 17960 } VkPhysicalDeviceNestedCommandBufferPropertiesEXT; 17961 17962 17963 17964 // VK_EXT_external_memory_acquire_unmodified is a preprocessor guard. Do not pass it to API calls. 17965 #define VK_EXT_external_memory_acquire_unmodified 1 17966 #define VK_EXT_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_SPEC_VERSION 1 17967 #define VK_EXT_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXTENSION_NAME "VK_EXT_external_memory_acquire_unmodified" 17968 typedef struct VkExternalMemoryAcquireUnmodifiedEXT { 17969 VkStructureType sType; 17970 const void* pNext; 17971 VkBool32 acquireUnmodifiedMemory; 17972 } VkExternalMemoryAcquireUnmodifiedEXT; 17973 17974 17975 17976 // VK_EXT_extended_dynamic_state3 is a preprocessor guard. Do not pass it to API calls. 17977 #define VK_EXT_extended_dynamic_state3 1 17978 #define VK_EXT_EXTENDED_DYNAMIC_STATE_3_SPEC_VERSION 2 17979 #define VK_EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME "VK_EXT_extended_dynamic_state3" 17980 typedef struct VkPhysicalDeviceExtendedDynamicState3FeaturesEXT { 17981 VkStructureType sType; 17982 void* pNext; 17983 VkBool32 extendedDynamicState3TessellationDomainOrigin; 17984 VkBool32 extendedDynamicState3DepthClampEnable; 17985 VkBool32 extendedDynamicState3PolygonMode; 17986 VkBool32 extendedDynamicState3RasterizationSamples; 17987 VkBool32 extendedDynamicState3SampleMask; 17988 VkBool32 extendedDynamicState3AlphaToCoverageEnable; 17989 VkBool32 extendedDynamicState3AlphaToOneEnable; 17990 VkBool32 extendedDynamicState3LogicOpEnable; 17991 VkBool32 extendedDynamicState3ColorBlendEnable; 17992 VkBool32 extendedDynamicState3ColorBlendEquation; 17993 VkBool32 extendedDynamicState3ColorWriteMask; 17994 VkBool32 extendedDynamicState3RasterizationStream; 17995 VkBool32 extendedDynamicState3ConservativeRasterizationMode; 17996 VkBool32 extendedDynamicState3ExtraPrimitiveOverestimationSize; 17997 VkBool32 extendedDynamicState3DepthClipEnable; 17998 VkBool32 extendedDynamicState3SampleLocationsEnable; 17999 VkBool32 extendedDynamicState3ColorBlendAdvanced; 18000 VkBool32 extendedDynamicState3ProvokingVertexMode; 18001 VkBool32 extendedDynamicState3LineRasterizationMode; 18002 VkBool32 extendedDynamicState3LineStippleEnable; 18003 VkBool32 extendedDynamicState3DepthClipNegativeOneToOne; 18004 VkBool32 extendedDynamicState3ViewportWScalingEnable; 18005 VkBool32 extendedDynamicState3ViewportSwizzle; 18006 VkBool32 extendedDynamicState3CoverageToColorEnable; 18007 VkBool32 extendedDynamicState3CoverageToColorLocation; 18008 VkBool32 extendedDynamicState3CoverageModulationMode; 18009 VkBool32 extendedDynamicState3CoverageModulationTableEnable; 18010 VkBool32 extendedDynamicState3CoverageModulationTable; 18011 VkBool32 extendedDynamicState3CoverageReductionMode; 18012 VkBool32 extendedDynamicState3RepresentativeFragmentTestEnable; 18013 VkBool32 extendedDynamicState3ShadingRateImageEnable; 18014 } VkPhysicalDeviceExtendedDynamicState3FeaturesEXT; 18015 18016 typedef struct VkPhysicalDeviceExtendedDynamicState3PropertiesEXT { 18017 VkStructureType sType; 18018 void* pNext; 18019 VkBool32 dynamicPrimitiveTopologyUnrestricted; 18020 } VkPhysicalDeviceExtendedDynamicState3PropertiesEXT; 18021 18022 typedef struct VkColorBlendEquationEXT { 18023 VkBlendFactor srcColorBlendFactor; 18024 VkBlendFactor dstColorBlendFactor; 18025 VkBlendOp colorBlendOp; 18026 VkBlendFactor srcAlphaBlendFactor; 18027 VkBlendFactor dstAlphaBlendFactor; 18028 VkBlendOp alphaBlendOp; 18029 } VkColorBlendEquationEXT; 18030 18031 typedef struct VkColorBlendAdvancedEXT { 18032 VkBlendOp advancedBlendOp; 18033 VkBool32 srcPremultiplied; 18034 VkBool32 dstPremultiplied; 18035 VkBlendOverlapEXT blendOverlap; 18036 VkBool32 clampResults; 18037 } VkColorBlendAdvancedEXT; 18038 18039 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClampEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthClampEnable); 18040 typedef void (VKAPI_PTR *PFN_vkCmdSetPolygonModeEXT)(VkCommandBuffer commandBuffer, VkPolygonMode polygonMode); 18041 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizationSamplesEXT)(VkCommandBuffer commandBuffer, VkSampleCountFlagBits rasterizationSamples); 18042 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleMaskEXT)(VkCommandBuffer commandBuffer, VkSampleCountFlagBits samples, const VkSampleMask* pSampleMask); 18043 typedef void (VKAPI_PTR *PFN_vkCmdSetAlphaToCoverageEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 alphaToCoverageEnable); 18044 typedef void (VKAPI_PTR *PFN_vkCmdSetAlphaToOneEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 alphaToOneEnable); 18045 typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 logicOpEnable); 18046 typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendEnableEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkBool32* pColorBlendEnables); 18047 typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendEquationEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendEquationEXT* pColorBlendEquations); 18048 typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteMaskEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorComponentFlags* pColorWriteMasks); 18049 typedef void (VKAPI_PTR *PFN_vkCmdSetTessellationDomainOriginEXT)(VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin); 18050 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizationStreamEXT)(VkCommandBuffer commandBuffer, uint32_t rasterizationStream); 18051 typedef void (VKAPI_PTR *PFN_vkCmdSetConservativeRasterizationModeEXT)(VkCommandBuffer commandBuffer, VkConservativeRasterizationModeEXT conservativeRasterizationMode); 18052 typedef void (VKAPI_PTR *PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT)(VkCommandBuffer commandBuffer, float extraPrimitiveOverestimationSize); 18053 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClipEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthClipEnable); 18054 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 sampleLocationsEnable); 18055 typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendAdvancedEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendAdvancedEXT* pColorBlendAdvanced); 18056 typedef void (VKAPI_PTR *PFN_vkCmdSetProvokingVertexModeEXT)(VkCommandBuffer commandBuffer, VkProvokingVertexModeEXT provokingVertexMode); 18057 typedef void (VKAPI_PTR *PFN_vkCmdSetLineRasterizationModeEXT)(VkCommandBuffer commandBuffer, VkLineRasterizationModeEXT lineRasterizationMode); 18058 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stippledLineEnable); 18059 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClipNegativeOneToOneEXT)(VkCommandBuffer commandBuffer, VkBool32 negativeOneToOne); 18060 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingEnableNV)(VkCommandBuffer commandBuffer, VkBool32 viewportWScalingEnable); 18061 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportSwizzleNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportSwizzleNV* pViewportSwizzles); 18062 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageToColorEnableNV)(VkCommandBuffer commandBuffer, VkBool32 coverageToColorEnable); 18063 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageToColorLocationNV)(VkCommandBuffer commandBuffer, uint32_t coverageToColorLocation); 18064 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageModulationModeNV)(VkCommandBuffer commandBuffer, VkCoverageModulationModeNV coverageModulationMode); 18065 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageModulationTableEnableNV)(VkCommandBuffer commandBuffer, VkBool32 coverageModulationTableEnable); 18066 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageModulationTableNV)(VkCommandBuffer commandBuffer, uint32_t coverageModulationTableCount, const float* pCoverageModulationTable); 18067 typedef void (VKAPI_PTR *PFN_vkCmdSetShadingRateImageEnableNV)(VkCommandBuffer commandBuffer, VkBool32 shadingRateImageEnable); 18068 typedef void (VKAPI_PTR *PFN_vkCmdSetRepresentativeFragmentTestEnableNV)(VkCommandBuffer commandBuffer, VkBool32 representativeFragmentTestEnable); 18069 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageReductionModeNV)(VkCommandBuffer commandBuffer, VkCoverageReductionModeNV coverageReductionMode); 18070 18071 #ifndef VK_NO_PROTOTYPES 18072 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClampEnableEXT( 18073 VkCommandBuffer commandBuffer, 18074 VkBool32 depthClampEnable); 18075 18076 VKAPI_ATTR void VKAPI_CALL vkCmdSetPolygonModeEXT( 18077 VkCommandBuffer commandBuffer, 18078 VkPolygonMode polygonMode); 18079 18080 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizationSamplesEXT( 18081 VkCommandBuffer commandBuffer, 18082 VkSampleCountFlagBits rasterizationSamples); 18083 18084 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleMaskEXT( 18085 VkCommandBuffer commandBuffer, 18086 VkSampleCountFlagBits samples, 18087 const VkSampleMask* pSampleMask); 18088 18089 VKAPI_ATTR void VKAPI_CALL vkCmdSetAlphaToCoverageEnableEXT( 18090 VkCommandBuffer commandBuffer, 18091 VkBool32 alphaToCoverageEnable); 18092 18093 VKAPI_ATTR void VKAPI_CALL vkCmdSetAlphaToOneEnableEXT( 18094 VkCommandBuffer commandBuffer, 18095 VkBool32 alphaToOneEnable); 18096 18097 VKAPI_ATTR void VKAPI_CALL vkCmdSetLogicOpEnableEXT( 18098 VkCommandBuffer commandBuffer, 18099 VkBool32 logicOpEnable); 18100 18101 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorBlendEnableEXT( 18102 VkCommandBuffer commandBuffer, 18103 uint32_t firstAttachment, 18104 uint32_t attachmentCount, 18105 const VkBool32* pColorBlendEnables); 18106 18107 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorBlendEquationEXT( 18108 VkCommandBuffer commandBuffer, 18109 uint32_t firstAttachment, 18110 uint32_t attachmentCount, 18111 const VkColorBlendEquationEXT* pColorBlendEquations); 18112 18113 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteMaskEXT( 18114 VkCommandBuffer commandBuffer, 18115 uint32_t firstAttachment, 18116 uint32_t attachmentCount, 18117 const VkColorComponentFlags* pColorWriteMasks); 18118 18119 VKAPI_ATTR void VKAPI_CALL vkCmdSetTessellationDomainOriginEXT( 18120 VkCommandBuffer commandBuffer, 18121 VkTessellationDomainOrigin domainOrigin); 18122 18123 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizationStreamEXT( 18124 VkCommandBuffer commandBuffer, 18125 uint32_t rasterizationStream); 18126 18127 VKAPI_ATTR void VKAPI_CALL vkCmdSetConservativeRasterizationModeEXT( 18128 VkCommandBuffer commandBuffer, 18129 VkConservativeRasterizationModeEXT conservativeRasterizationMode); 18130 18131 VKAPI_ATTR void VKAPI_CALL vkCmdSetExtraPrimitiveOverestimationSizeEXT( 18132 VkCommandBuffer commandBuffer, 18133 float extraPrimitiveOverestimationSize); 18134 18135 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClipEnableEXT( 18136 VkCommandBuffer commandBuffer, 18137 VkBool32 depthClipEnable); 18138 18139 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEnableEXT( 18140 VkCommandBuffer commandBuffer, 18141 VkBool32 sampleLocationsEnable); 18142 18143 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorBlendAdvancedEXT( 18144 VkCommandBuffer commandBuffer, 18145 uint32_t firstAttachment, 18146 uint32_t attachmentCount, 18147 const VkColorBlendAdvancedEXT* pColorBlendAdvanced); 18148 18149 VKAPI_ATTR void VKAPI_CALL vkCmdSetProvokingVertexModeEXT( 18150 VkCommandBuffer commandBuffer, 18151 VkProvokingVertexModeEXT provokingVertexMode); 18152 18153 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineRasterizationModeEXT( 18154 VkCommandBuffer commandBuffer, 18155 VkLineRasterizationModeEXT lineRasterizationMode); 18156 18157 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEnableEXT( 18158 VkCommandBuffer commandBuffer, 18159 VkBool32 stippledLineEnable); 18160 18161 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClipNegativeOneToOneEXT( 18162 VkCommandBuffer commandBuffer, 18163 VkBool32 negativeOneToOne); 18164 18165 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingEnableNV( 18166 VkCommandBuffer commandBuffer, 18167 VkBool32 viewportWScalingEnable); 18168 18169 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportSwizzleNV( 18170 VkCommandBuffer commandBuffer, 18171 uint32_t firstViewport, 18172 uint32_t viewportCount, 18173 const VkViewportSwizzleNV* pViewportSwizzles); 18174 18175 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageToColorEnableNV( 18176 VkCommandBuffer commandBuffer, 18177 VkBool32 coverageToColorEnable); 18178 18179 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageToColorLocationNV( 18180 VkCommandBuffer commandBuffer, 18181 uint32_t coverageToColorLocation); 18182 18183 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageModulationModeNV( 18184 VkCommandBuffer commandBuffer, 18185 VkCoverageModulationModeNV coverageModulationMode); 18186 18187 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageModulationTableEnableNV( 18188 VkCommandBuffer commandBuffer, 18189 VkBool32 coverageModulationTableEnable); 18190 18191 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageModulationTableNV( 18192 VkCommandBuffer commandBuffer, 18193 uint32_t coverageModulationTableCount, 18194 const float* pCoverageModulationTable); 18195 18196 VKAPI_ATTR void VKAPI_CALL vkCmdSetShadingRateImageEnableNV( 18197 VkCommandBuffer commandBuffer, 18198 VkBool32 shadingRateImageEnable); 18199 18200 VKAPI_ATTR void VKAPI_CALL vkCmdSetRepresentativeFragmentTestEnableNV( 18201 VkCommandBuffer commandBuffer, 18202 VkBool32 representativeFragmentTestEnable); 18203 18204 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageReductionModeNV( 18205 VkCommandBuffer commandBuffer, 18206 VkCoverageReductionModeNV coverageReductionMode); 18207 #endif 18208 18209 18210 // VK_EXT_subpass_merge_feedback is a preprocessor guard. Do not pass it to API calls. 18211 #define VK_EXT_subpass_merge_feedback 1 18212 #define VK_EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION 2 18213 #define VK_EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME "VK_EXT_subpass_merge_feedback" 18214 18215 typedef enum VkSubpassMergeStatusEXT { 18216 VK_SUBPASS_MERGE_STATUS_MERGED_EXT = 0, 18217 VK_SUBPASS_MERGE_STATUS_DISALLOWED_EXT = 1, 18218 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SIDE_EFFECTS_EXT = 2, 18219 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SAMPLES_MISMATCH_EXT = 3, 18220 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_VIEWS_MISMATCH_EXT = 4, 18221 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_ALIASING_EXT = 5, 18222 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPENDENCIES_EXT = 6, 18223 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INCOMPATIBLE_INPUT_ATTACHMENT_EXT = 7, 18224 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_TOO_MANY_ATTACHMENTS_EXT = 8, 18225 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INSUFFICIENT_STORAGE_EXT = 9, 18226 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPTH_STENCIL_COUNT_EXT = 10, 18227 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_RESOLVE_ATTACHMENT_REUSE_EXT = 11, 18228 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SINGLE_SUBPASS_EXT = 12, 18229 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_UNSPECIFIED_EXT = 13, 18230 VK_SUBPASS_MERGE_STATUS_MAX_ENUM_EXT = 0x7FFFFFFF 18231 } VkSubpassMergeStatusEXT; 18232 typedef struct VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT { 18233 VkStructureType sType; 18234 void* pNext; 18235 VkBool32 subpassMergeFeedback; 18236 } VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT; 18237 18238 typedef struct VkRenderPassCreationControlEXT { 18239 VkStructureType sType; 18240 const void* pNext; 18241 VkBool32 disallowMerging; 18242 } VkRenderPassCreationControlEXT; 18243 18244 typedef struct VkRenderPassCreationFeedbackInfoEXT { 18245 uint32_t postMergeSubpassCount; 18246 } VkRenderPassCreationFeedbackInfoEXT; 18247 18248 typedef struct VkRenderPassCreationFeedbackCreateInfoEXT { 18249 VkStructureType sType; 18250 const void* pNext; 18251 VkRenderPassCreationFeedbackInfoEXT* pRenderPassFeedback; 18252 } VkRenderPassCreationFeedbackCreateInfoEXT; 18253 18254 typedef struct VkRenderPassSubpassFeedbackInfoEXT { 18255 VkSubpassMergeStatusEXT subpassMergeStatus; 18256 char description[VK_MAX_DESCRIPTION_SIZE]; 18257 uint32_t postMergeIndex; 18258 } VkRenderPassSubpassFeedbackInfoEXT; 18259 18260 typedef struct VkRenderPassSubpassFeedbackCreateInfoEXT { 18261 VkStructureType sType; 18262 const void* pNext; 18263 VkRenderPassSubpassFeedbackInfoEXT* pSubpassFeedback; 18264 } VkRenderPassSubpassFeedbackCreateInfoEXT; 18265 18266 18267 18268 // VK_LUNARG_direct_driver_loading is a preprocessor guard. Do not pass it to API calls. 18269 #define VK_LUNARG_direct_driver_loading 1 18270 #define VK_LUNARG_DIRECT_DRIVER_LOADING_SPEC_VERSION 1 18271 #define VK_LUNARG_DIRECT_DRIVER_LOADING_EXTENSION_NAME "VK_LUNARG_direct_driver_loading" 18272 18273 typedef enum VkDirectDriverLoadingModeLUNARG { 18274 VK_DIRECT_DRIVER_LOADING_MODE_EXCLUSIVE_LUNARG = 0, 18275 VK_DIRECT_DRIVER_LOADING_MODE_INCLUSIVE_LUNARG = 1, 18276 VK_DIRECT_DRIVER_LOADING_MODE_MAX_ENUM_LUNARG = 0x7FFFFFFF 18277 } VkDirectDriverLoadingModeLUNARG; 18278 typedef VkFlags VkDirectDriverLoadingFlagsLUNARG; 18279 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddrLUNARG)( 18280 VkInstance instance, const char* pName); 18281 18282 typedef struct VkDirectDriverLoadingInfoLUNARG { 18283 VkStructureType sType; 18284 void* pNext; 18285 VkDirectDriverLoadingFlagsLUNARG flags; 18286 PFN_vkGetInstanceProcAddrLUNARG pfnGetInstanceProcAddr; 18287 } VkDirectDriverLoadingInfoLUNARG; 18288 18289 typedef struct VkDirectDriverLoadingListLUNARG { 18290 VkStructureType sType; 18291 const void* pNext; 18292 VkDirectDriverLoadingModeLUNARG mode; 18293 uint32_t driverCount; 18294 const VkDirectDriverLoadingInfoLUNARG* pDrivers; 18295 } VkDirectDriverLoadingListLUNARG; 18296 18297 18298 18299 // VK_EXT_shader_module_identifier is a preprocessor guard. Do not pass it to API calls. 18300 #define VK_EXT_shader_module_identifier 1 18301 #define VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT 32U 18302 #define VK_EXT_SHADER_MODULE_IDENTIFIER_SPEC_VERSION 1 18303 #define VK_EXT_SHADER_MODULE_IDENTIFIER_EXTENSION_NAME "VK_EXT_shader_module_identifier" 18304 typedef struct VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT { 18305 VkStructureType sType; 18306 void* pNext; 18307 VkBool32 shaderModuleIdentifier; 18308 } VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT; 18309 18310 typedef struct VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT { 18311 VkStructureType sType; 18312 void* pNext; 18313 uint8_t shaderModuleIdentifierAlgorithmUUID[VK_UUID_SIZE]; 18314 } VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT; 18315 18316 typedef struct VkPipelineShaderStageModuleIdentifierCreateInfoEXT { 18317 VkStructureType sType; 18318 const void* pNext; 18319 uint32_t identifierSize; 18320 const uint8_t* pIdentifier; 18321 } VkPipelineShaderStageModuleIdentifierCreateInfoEXT; 18322 18323 typedef struct VkShaderModuleIdentifierEXT { 18324 VkStructureType sType; 18325 void* pNext; 18326 uint32_t identifierSize; 18327 uint8_t identifier[VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT]; 18328 } VkShaderModuleIdentifierEXT; 18329 18330 typedef void (VKAPI_PTR *PFN_vkGetShaderModuleIdentifierEXT)(VkDevice device, VkShaderModule shaderModule, VkShaderModuleIdentifierEXT* pIdentifier); 18331 typedef void (VKAPI_PTR *PFN_vkGetShaderModuleCreateInfoIdentifierEXT)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, VkShaderModuleIdentifierEXT* pIdentifier); 18332 18333 #ifndef VK_NO_PROTOTYPES 18334 VKAPI_ATTR void VKAPI_CALL vkGetShaderModuleIdentifierEXT( 18335 VkDevice device, 18336 VkShaderModule shaderModule, 18337 VkShaderModuleIdentifierEXT* pIdentifier); 18338 18339 VKAPI_ATTR void VKAPI_CALL vkGetShaderModuleCreateInfoIdentifierEXT( 18340 VkDevice device, 18341 const VkShaderModuleCreateInfo* pCreateInfo, 18342 VkShaderModuleIdentifierEXT* pIdentifier); 18343 #endif 18344 18345 18346 // VK_EXT_rasterization_order_attachment_access is a preprocessor guard. Do not pass it to API calls. 18347 #define VK_EXT_rasterization_order_attachment_access 1 18348 #define VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION 1 18349 #define VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME "VK_EXT_rasterization_order_attachment_access" 18350 18351 18352 // VK_NV_optical_flow is a preprocessor guard. Do not pass it to API calls. 18353 #define VK_NV_optical_flow 1 18354 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkOpticalFlowSessionNV) 18355 #define VK_NV_OPTICAL_FLOW_SPEC_VERSION 1 18356 #define VK_NV_OPTICAL_FLOW_EXTENSION_NAME "VK_NV_optical_flow" 18357 18358 typedef enum VkOpticalFlowPerformanceLevelNV { 18359 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_UNKNOWN_NV = 0, 18360 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_SLOW_NV = 1, 18361 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MEDIUM_NV = 2, 18362 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_FAST_NV = 3, 18363 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MAX_ENUM_NV = 0x7FFFFFFF 18364 } VkOpticalFlowPerformanceLevelNV; 18365 18366 typedef enum VkOpticalFlowSessionBindingPointNV { 18367 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_UNKNOWN_NV = 0, 18368 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_INPUT_NV = 1, 18369 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_REFERENCE_NV = 2, 18370 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_HINT_NV = 3, 18371 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_FLOW_VECTOR_NV = 4, 18372 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_FLOW_VECTOR_NV = 5, 18373 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_COST_NV = 6, 18374 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_COST_NV = 7, 18375 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_GLOBAL_FLOW_NV = 8, 18376 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_MAX_ENUM_NV = 0x7FFFFFFF 18377 } VkOpticalFlowSessionBindingPointNV; 18378 18379 typedef enum VkOpticalFlowGridSizeFlagBitsNV { 18380 VK_OPTICAL_FLOW_GRID_SIZE_UNKNOWN_NV = 0, 18381 VK_OPTICAL_FLOW_GRID_SIZE_1X1_BIT_NV = 0x00000001, 18382 VK_OPTICAL_FLOW_GRID_SIZE_2X2_BIT_NV = 0x00000002, 18383 VK_OPTICAL_FLOW_GRID_SIZE_4X4_BIT_NV = 0x00000004, 18384 VK_OPTICAL_FLOW_GRID_SIZE_8X8_BIT_NV = 0x00000008, 18385 VK_OPTICAL_FLOW_GRID_SIZE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 18386 } VkOpticalFlowGridSizeFlagBitsNV; 18387 typedef VkFlags VkOpticalFlowGridSizeFlagsNV; 18388 18389 typedef enum VkOpticalFlowUsageFlagBitsNV { 18390 VK_OPTICAL_FLOW_USAGE_UNKNOWN_NV = 0, 18391 VK_OPTICAL_FLOW_USAGE_INPUT_BIT_NV = 0x00000001, 18392 VK_OPTICAL_FLOW_USAGE_OUTPUT_BIT_NV = 0x00000002, 18393 VK_OPTICAL_FLOW_USAGE_HINT_BIT_NV = 0x00000004, 18394 VK_OPTICAL_FLOW_USAGE_COST_BIT_NV = 0x00000008, 18395 VK_OPTICAL_FLOW_USAGE_GLOBAL_FLOW_BIT_NV = 0x00000010, 18396 VK_OPTICAL_FLOW_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 18397 } VkOpticalFlowUsageFlagBitsNV; 18398 typedef VkFlags VkOpticalFlowUsageFlagsNV; 18399 18400 typedef enum VkOpticalFlowSessionCreateFlagBitsNV { 18401 VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_HINT_BIT_NV = 0x00000001, 18402 VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_COST_BIT_NV = 0x00000002, 18403 VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_GLOBAL_FLOW_BIT_NV = 0x00000004, 18404 VK_OPTICAL_FLOW_SESSION_CREATE_ALLOW_REGIONS_BIT_NV = 0x00000008, 18405 VK_OPTICAL_FLOW_SESSION_CREATE_BOTH_DIRECTIONS_BIT_NV = 0x00000010, 18406 VK_OPTICAL_FLOW_SESSION_CREATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 18407 } VkOpticalFlowSessionCreateFlagBitsNV; 18408 typedef VkFlags VkOpticalFlowSessionCreateFlagsNV; 18409 18410 typedef enum VkOpticalFlowExecuteFlagBitsNV { 18411 VK_OPTICAL_FLOW_EXECUTE_DISABLE_TEMPORAL_HINTS_BIT_NV = 0x00000001, 18412 VK_OPTICAL_FLOW_EXECUTE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 18413 } VkOpticalFlowExecuteFlagBitsNV; 18414 typedef VkFlags VkOpticalFlowExecuteFlagsNV; 18415 typedef struct VkPhysicalDeviceOpticalFlowFeaturesNV { 18416 VkStructureType sType; 18417 void* pNext; 18418 VkBool32 opticalFlow; 18419 } VkPhysicalDeviceOpticalFlowFeaturesNV; 18420 18421 typedef struct VkPhysicalDeviceOpticalFlowPropertiesNV { 18422 VkStructureType sType; 18423 void* pNext; 18424 VkOpticalFlowGridSizeFlagsNV supportedOutputGridSizes; 18425 VkOpticalFlowGridSizeFlagsNV supportedHintGridSizes; 18426 VkBool32 hintSupported; 18427 VkBool32 costSupported; 18428 VkBool32 bidirectionalFlowSupported; 18429 VkBool32 globalFlowSupported; 18430 uint32_t minWidth; 18431 uint32_t minHeight; 18432 uint32_t maxWidth; 18433 uint32_t maxHeight; 18434 uint32_t maxNumRegionsOfInterest; 18435 } VkPhysicalDeviceOpticalFlowPropertiesNV; 18436 18437 typedef struct VkOpticalFlowImageFormatInfoNV { 18438 VkStructureType sType; 18439 const void* pNext; 18440 VkOpticalFlowUsageFlagsNV usage; 18441 } VkOpticalFlowImageFormatInfoNV; 18442 18443 typedef struct VkOpticalFlowImageFormatPropertiesNV { 18444 VkStructureType sType; 18445 const void* pNext; 18446 VkFormat format; 18447 } VkOpticalFlowImageFormatPropertiesNV; 18448 18449 typedef struct VkOpticalFlowSessionCreateInfoNV { 18450 VkStructureType sType; 18451 void* pNext; 18452 uint32_t width; 18453 uint32_t height; 18454 VkFormat imageFormat; 18455 VkFormat flowVectorFormat; 18456 VkFormat costFormat; 18457 VkOpticalFlowGridSizeFlagsNV outputGridSize; 18458 VkOpticalFlowGridSizeFlagsNV hintGridSize; 18459 VkOpticalFlowPerformanceLevelNV performanceLevel; 18460 VkOpticalFlowSessionCreateFlagsNV flags; 18461 } VkOpticalFlowSessionCreateInfoNV; 18462 18463 typedef struct VkOpticalFlowSessionCreatePrivateDataInfoNV { 18464 VkStructureType sType; 18465 void* pNext; 18466 uint32_t id; 18467 uint32_t size; 18468 const void* pPrivateData; 18469 } VkOpticalFlowSessionCreatePrivateDataInfoNV; 18470 18471 typedef struct VkOpticalFlowExecuteInfoNV { 18472 VkStructureType sType; 18473 void* pNext; 18474 VkOpticalFlowExecuteFlagsNV flags; 18475 uint32_t regionCount; 18476 const VkRect2D* pRegions; 18477 } VkOpticalFlowExecuteInfoNV; 18478 18479 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV)(VkPhysicalDevice physicalDevice, const VkOpticalFlowImageFormatInfoNV* pOpticalFlowImageFormatInfo, uint32_t* pFormatCount, VkOpticalFlowImageFormatPropertiesNV* pImageFormatProperties); 18480 typedef VkResult (VKAPI_PTR *PFN_vkCreateOpticalFlowSessionNV)(VkDevice device, const VkOpticalFlowSessionCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkOpticalFlowSessionNV* pSession); 18481 typedef void (VKAPI_PTR *PFN_vkDestroyOpticalFlowSessionNV)(VkDevice device, VkOpticalFlowSessionNV session, const VkAllocationCallbacks* pAllocator); 18482 typedef VkResult (VKAPI_PTR *PFN_vkBindOpticalFlowSessionImageNV)(VkDevice device, VkOpticalFlowSessionNV session, VkOpticalFlowSessionBindingPointNV bindingPoint, VkImageView view, VkImageLayout layout); 18483 typedef void (VKAPI_PTR *PFN_vkCmdOpticalFlowExecuteNV)(VkCommandBuffer commandBuffer, VkOpticalFlowSessionNV session, const VkOpticalFlowExecuteInfoNV* pExecuteInfo); 18484 18485 #ifndef VK_NO_PROTOTYPES 18486 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceOpticalFlowImageFormatsNV( 18487 VkPhysicalDevice physicalDevice, 18488 const VkOpticalFlowImageFormatInfoNV* pOpticalFlowImageFormatInfo, 18489 uint32_t* pFormatCount, 18490 VkOpticalFlowImageFormatPropertiesNV* pImageFormatProperties); 18491 18492 VKAPI_ATTR VkResult VKAPI_CALL vkCreateOpticalFlowSessionNV( 18493 VkDevice device, 18494 const VkOpticalFlowSessionCreateInfoNV* pCreateInfo, 18495 const VkAllocationCallbacks* pAllocator, 18496 VkOpticalFlowSessionNV* pSession); 18497 18498 VKAPI_ATTR void VKAPI_CALL vkDestroyOpticalFlowSessionNV( 18499 VkDevice device, 18500 VkOpticalFlowSessionNV session, 18501 const VkAllocationCallbacks* pAllocator); 18502 18503 VKAPI_ATTR VkResult VKAPI_CALL vkBindOpticalFlowSessionImageNV( 18504 VkDevice device, 18505 VkOpticalFlowSessionNV session, 18506 VkOpticalFlowSessionBindingPointNV bindingPoint, 18507 VkImageView view, 18508 VkImageLayout layout); 18509 18510 VKAPI_ATTR void VKAPI_CALL vkCmdOpticalFlowExecuteNV( 18511 VkCommandBuffer commandBuffer, 18512 VkOpticalFlowSessionNV session, 18513 const VkOpticalFlowExecuteInfoNV* pExecuteInfo); 18514 #endif 18515 18516 18517 // VK_EXT_legacy_dithering is a preprocessor guard. Do not pass it to API calls. 18518 #define VK_EXT_legacy_dithering 1 18519 #define VK_EXT_LEGACY_DITHERING_SPEC_VERSION 2 18520 #define VK_EXT_LEGACY_DITHERING_EXTENSION_NAME "VK_EXT_legacy_dithering" 18521 typedef struct VkPhysicalDeviceLegacyDitheringFeaturesEXT { 18522 VkStructureType sType; 18523 void* pNext; 18524 VkBool32 legacyDithering; 18525 } VkPhysicalDeviceLegacyDitheringFeaturesEXT; 18526 18527 18528 18529 // VK_EXT_pipeline_protected_access is a preprocessor guard. Do not pass it to API calls. 18530 #define VK_EXT_pipeline_protected_access 1 18531 #define VK_EXT_PIPELINE_PROTECTED_ACCESS_SPEC_VERSION 1 18532 #define VK_EXT_PIPELINE_PROTECTED_ACCESS_EXTENSION_NAME "VK_EXT_pipeline_protected_access" 18533 typedef struct VkPhysicalDevicePipelineProtectedAccessFeaturesEXT { 18534 VkStructureType sType; 18535 void* pNext; 18536 VkBool32 pipelineProtectedAccess; 18537 } VkPhysicalDevicePipelineProtectedAccessFeaturesEXT; 18538 18539 18540 18541 // VK_EXT_shader_object is a preprocessor guard. Do not pass it to API calls. 18542 #define VK_EXT_shader_object 1 18543 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderEXT) 18544 #define VK_EXT_SHADER_OBJECT_SPEC_VERSION 1 18545 #define VK_EXT_SHADER_OBJECT_EXTENSION_NAME "VK_EXT_shader_object" 18546 18547 typedef enum VkShaderCodeTypeEXT { 18548 VK_SHADER_CODE_TYPE_BINARY_EXT = 0, 18549 VK_SHADER_CODE_TYPE_SPIRV_EXT = 1, 18550 VK_SHADER_CODE_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 18551 } VkShaderCodeTypeEXT; 18552 18553 typedef enum VkShaderCreateFlagBitsEXT { 18554 VK_SHADER_CREATE_LINK_STAGE_BIT_EXT = 0x00000001, 18555 VK_SHADER_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 0x00000002, 18556 VK_SHADER_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 0x00000004, 18557 VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXT = 0x00000008, 18558 VK_SHADER_CREATE_DISPATCH_BASE_BIT_EXT = 0x00000010, 18559 VK_SHADER_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_EXT = 0x00000020, 18560 VK_SHADER_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00000040, 18561 VK_SHADER_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 18562 } VkShaderCreateFlagBitsEXT; 18563 typedef VkFlags VkShaderCreateFlagsEXT; 18564 typedef struct VkPhysicalDeviceShaderObjectFeaturesEXT { 18565 VkStructureType sType; 18566 void* pNext; 18567 VkBool32 shaderObject; 18568 } VkPhysicalDeviceShaderObjectFeaturesEXT; 18569 18570 typedef struct VkPhysicalDeviceShaderObjectPropertiesEXT { 18571 VkStructureType sType; 18572 void* pNext; 18573 uint8_t shaderBinaryUUID[VK_UUID_SIZE]; 18574 uint32_t shaderBinaryVersion; 18575 } VkPhysicalDeviceShaderObjectPropertiesEXT; 18576 18577 typedef struct VkShaderCreateInfoEXT { 18578 VkStructureType sType; 18579 const void* pNext; 18580 VkShaderCreateFlagsEXT flags; 18581 VkShaderStageFlagBits stage; 18582 VkShaderStageFlags nextStage; 18583 VkShaderCodeTypeEXT codeType; 18584 size_t codeSize; 18585 const void* pCode; 18586 const char* pName; 18587 uint32_t setLayoutCount; 18588 const VkDescriptorSetLayout* pSetLayouts; 18589 uint32_t pushConstantRangeCount; 18590 const VkPushConstantRange* pPushConstantRanges; 18591 const VkSpecializationInfo* pSpecializationInfo; 18592 } VkShaderCreateInfoEXT; 18593 18594 typedef VkPipelineShaderStageRequiredSubgroupSizeCreateInfo VkShaderRequiredSubgroupSizeCreateInfoEXT; 18595 18596 typedef VkResult (VKAPI_PTR *PFN_vkCreateShadersEXT)(VkDevice device, uint32_t createInfoCount, const VkShaderCreateInfoEXT* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkShaderEXT* pShaders); 18597 typedef void (VKAPI_PTR *PFN_vkDestroyShaderEXT)(VkDevice device, VkShaderEXT shader, const VkAllocationCallbacks* pAllocator); 18598 typedef VkResult (VKAPI_PTR *PFN_vkGetShaderBinaryDataEXT)(VkDevice device, VkShaderEXT shader, size_t* pDataSize, void* pData); 18599 typedef void (VKAPI_PTR *PFN_vkCmdBindShadersEXT)(VkCommandBuffer commandBuffer, uint32_t stageCount, const VkShaderStageFlagBits* pStages, const VkShaderEXT* pShaders); 18600 18601 #ifndef VK_NO_PROTOTYPES 18602 VKAPI_ATTR VkResult VKAPI_CALL vkCreateShadersEXT( 18603 VkDevice device, 18604 uint32_t createInfoCount, 18605 const VkShaderCreateInfoEXT* pCreateInfos, 18606 const VkAllocationCallbacks* pAllocator, 18607 VkShaderEXT* pShaders); 18608 18609 VKAPI_ATTR void VKAPI_CALL vkDestroyShaderEXT( 18610 VkDevice device, 18611 VkShaderEXT shader, 18612 const VkAllocationCallbacks* pAllocator); 18613 18614 VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderBinaryDataEXT( 18615 VkDevice device, 18616 VkShaderEXT shader, 18617 size_t* pDataSize, 18618 void* pData); 18619 18620 VKAPI_ATTR void VKAPI_CALL vkCmdBindShadersEXT( 18621 VkCommandBuffer commandBuffer, 18622 uint32_t stageCount, 18623 const VkShaderStageFlagBits* pStages, 18624 const VkShaderEXT* pShaders); 18625 #endif 18626 18627 18628 // VK_QCOM_tile_properties is a preprocessor guard. Do not pass it to API calls. 18629 #define VK_QCOM_tile_properties 1 18630 #define VK_QCOM_TILE_PROPERTIES_SPEC_VERSION 1 18631 #define VK_QCOM_TILE_PROPERTIES_EXTENSION_NAME "VK_QCOM_tile_properties" 18632 typedef struct VkPhysicalDeviceTilePropertiesFeaturesQCOM { 18633 VkStructureType sType; 18634 void* pNext; 18635 VkBool32 tileProperties; 18636 } VkPhysicalDeviceTilePropertiesFeaturesQCOM; 18637 18638 typedef struct VkTilePropertiesQCOM { 18639 VkStructureType sType; 18640 void* pNext; 18641 VkExtent3D tileSize; 18642 VkExtent2D apronSize; 18643 VkOffset2D origin; 18644 } VkTilePropertiesQCOM; 18645 18646 typedef VkResult (VKAPI_PTR *PFN_vkGetFramebufferTilePropertiesQCOM)(VkDevice device, VkFramebuffer framebuffer, uint32_t* pPropertiesCount, VkTilePropertiesQCOM* pProperties); 18647 typedef VkResult (VKAPI_PTR *PFN_vkGetDynamicRenderingTilePropertiesQCOM)(VkDevice device, const VkRenderingInfo* pRenderingInfo, VkTilePropertiesQCOM* pProperties); 18648 18649 #ifndef VK_NO_PROTOTYPES 18650 VKAPI_ATTR VkResult VKAPI_CALL vkGetFramebufferTilePropertiesQCOM( 18651 VkDevice device, 18652 VkFramebuffer framebuffer, 18653 uint32_t* pPropertiesCount, 18654 VkTilePropertiesQCOM* pProperties); 18655 18656 VKAPI_ATTR VkResult VKAPI_CALL vkGetDynamicRenderingTilePropertiesQCOM( 18657 VkDevice device, 18658 const VkRenderingInfo* pRenderingInfo, 18659 VkTilePropertiesQCOM* pProperties); 18660 #endif 18661 18662 18663 // VK_SEC_amigo_profiling is a preprocessor guard. Do not pass it to API calls. 18664 #define VK_SEC_amigo_profiling 1 18665 #define VK_SEC_AMIGO_PROFILING_SPEC_VERSION 1 18666 #define VK_SEC_AMIGO_PROFILING_EXTENSION_NAME "VK_SEC_amigo_profiling" 18667 typedef struct VkPhysicalDeviceAmigoProfilingFeaturesSEC { 18668 VkStructureType sType; 18669 void* pNext; 18670 VkBool32 amigoProfiling; 18671 } VkPhysicalDeviceAmigoProfilingFeaturesSEC; 18672 18673 typedef struct VkAmigoProfilingSubmitInfoSEC { 18674 VkStructureType sType; 18675 const void* pNext; 18676 uint64_t firstDrawTimestamp; 18677 uint64_t swapBufferTimestamp; 18678 } VkAmigoProfilingSubmitInfoSEC; 18679 18680 18681 18682 // VK_QCOM_multiview_per_view_viewports is a preprocessor guard. Do not pass it to API calls. 18683 #define VK_QCOM_multiview_per_view_viewports 1 18684 #define VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_SPEC_VERSION 1 18685 #define VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_EXTENSION_NAME "VK_QCOM_multiview_per_view_viewports" 18686 typedef struct VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM { 18687 VkStructureType sType; 18688 void* pNext; 18689 VkBool32 multiviewPerViewViewports; 18690 } VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM; 18691 18692 18693 18694 // VK_NV_ray_tracing_invocation_reorder is a preprocessor guard. Do not pass it to API calls. 18695 #define VK_NV_ray_tracing_invocation_reorder 1 18696 #define VK_NV_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION 1 18697 #define VK_NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME "VK_NV_ray_tracing_invocation_reorder" 18698 18699 typedef enum VkRayTracingInvocationReorderModeNV { 18700 VK_RAY_TRACING_INVOCATION_REORDER_MODE_NONE_NV = 0, 18701 VK_RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_NV = 1, 18702 VK_RAY_TRACING_INVOCATION_REORDER_MODE_MAX_ENUM_NV = 0x7FFFFFFF 18703 } VkRayTracingInvocationReorderModeNV; 18704 typedef struct VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV { 18705 VkStructureType sType; 18706 void* pNext; 18707 VkRayTracingInvocationReorderModeNV rayTracingInvocationReorderReorderingHint; 18708 } VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV; 18709 18710 typedef struct VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV { 18711 VkStructureType sType; 18712 void* pNext; 18713 VkBool32 rayTracingInvocationReorder; 18714 } VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV; 18715 18716 18717 18718 // VK_NV_extended_sparse_address_space is a preprocessor guard. Do not pass it to API calls. 18719 #define VK_NV_extended_sparse_address_space 1 18720 #define VK_NV_EXTENDED_SPARSE_ADDRESS_SPACE_SPEC_VERSION 1 18721 #define VK_NV_EXTENDED_SPARSE_ADDRESS_SPACE_EXTENSION_NAME "VK_NV_extended_sparse_address_space" 18722 typedef struct VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV { 18723 VkStructureType sType; 18724 void* pNext; 18725 VkBool32 extendedSparseAddressSpace; 18726 } VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV; 18727 18728 typedef struct VkPhysicalDeviceExtendedSparseAddressSpacePropertiesNV { 18729 VkStructureType sType; 18730 void* pNext; 18731 VkDeviceSize extendedSparseAddressSpaceSize; 18732 VkImageUsageFlags extendedSparseImageUsageFlags; 18733 VkBufferUsageFlags extendedSparseBufferUsageFlags; 18734 } VkPhysicalDeviceExtendedSparseAddressSpacePropertiesNV; 18735 18736 18737 18738 // VK_EXT_mutable_descriptor_type is a preprocessor guard. Do not pass it to API calls. 18739 #define VK_EXT_mutable_descriptor_type 1 18740 #define VK_EXT_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1 18741 #define VK_EXT_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_EXT_mutable_descriptor_type" 18742 18743 // VK_EXT_legacy_vertex_attributes is a preprocessor guard. Do not pass it to API calls. 18744 #define VK_EXT_legacy_vertex_attributes 1 18745 #define VK_EXT_LEGACY_VERTEX_ATTRIBUTES_SPEC_VERSION 1 18746 #define VK_EXT_LEGACY_VERTEX_ATTRIBUTES_EXTENSION_NAME "VK_EXT_legacy_vertex_attributes" 18747 typedef struct VkPhysicalDeviceLegacyVertexAttributesFeaturesEXT 18748 { 18749 VkStructureType sType; 18750 void *pNext; 18751 VkBool32 legacyVertexAttributes; 18752 } VkPhysicalDeviceLegacyVertexAttributesFeaturesEXT; 18753 18754 typedef struct VkPhysicalDeviceLegacyVertexAttributesPropertiesEXT 18755 { 18756 VkStructureType sType; 18757 void *pNext; 18758 VkBool32 nativeUnalignedPerformance; 18759 } VkPhysicalDeviceLegacyVertexAttributesPropertiesEXT; 18760 18761 // VK_EXT_layer_settings is a preprocessor guard. Do not pass it to API calls. 18762 #define VK_EXT_layer_settings 1 18763 #define VK_EXT_LAYER_SETTINGS_SPEC_VERSION 2 18764 #define VK_EXT_LAYER_SETTINGS_EXTENSION_NAME "VK_EXT_layer_settings" 18765 18766 typedef enum VkLayerSettingTypeEXT { 18767 VK_LAYER_SETTING_TYPE_BOOL32_EXT = 0, 18768 VK_LAYER_SETTING_TYPE_INT32_EXT = 1, 18769 VK_LAYER_SETTING_TYPE_INT64_EXT = 2, 18770 VK_LAYER_SETTING_TYPE_UINT32_EXT = 3, 18771 VK_LAYER_SETTING_TYPE_UINT64_EXT = 4, 18772 VK_LAYER_SETTING_TYPE_FLOAT32_EXT = 5, 18773 VK_LAYER_SETTING_TYPE_FLOAT64_EXT = 6, 18774 VK_LAYER_SETTING_TYPE_STRING_EXT = 7, 18775 VK_LAYER_SETTING_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 18776 } VkLayerSettingTypeEXT; 18777 typedef struct VkLayerSettingEXT { 18778 const char* pLayerName; 18779 const char* pSettingName; 18780 VkLayerSettingTypeEXT type; 18781 uint32_t valueCount; 18782 const void* pValues; 18783 } VkLayerSettingEXT; 18784 18785 typedef struct VkLayerSettingsCreateInfoEXT { 18786 VkStructureType sType; 18787 const void* pNext; 18788 uint32_t settingCount; 18789 const VkLayerSettingEXT* pSettings; 18790 } VkLayerSettingsCreateInfoEXT; 18791 18792 18793 18794 // VK_ARM_shader_core_builtins is a preprocessor guard. Do not pass it to API calls. 18795 #define VK_ARM_shader_core_builtins 1 18796 #define VK_ARM_SHADER_CORE_BUILTINS_SPEC_VERSION 2 18797 #define VK_ARM_SHADER_CORE_BUILTINS_EXTENSION_NAME "VK_ARM_shader_core_builtins" 18798 typedef struct VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM { 18799 VkStructureType sType; 18800 void* pNext; 18801 VkBool32 shaderCoreBuiltins; 18802 } VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM; 18803 18804 typedef struct VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM { 18805 VkStructureType sType; 18806 void* pNext; 18807 uint64_t shaderCoreMask; 18808 uint32_t shaderCoreCount; 18809 uint32_t shaderWarpsPerCore; 18810 } VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM; 18811 18812 18813 18814 // VK_EXT_pipeline_library_group_handles is a preprocessor guard. Do not pass it to API calls. 18815 #define VK_EXT_pipeline_library_group_handles 1 18816 #define VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_SPEC_VERSION 1 18817 #define VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_EXTENSION_NAME "VK_EXT_pipeline_library_group_handles" 18818 typedef struct VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT { 18819 VkStructureType sType; 18820 void* pNext; 18821 VkBool32 pipelineLibraryGroupHandles; 18822 } VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT; 18823 18824 18825 18826 // VK_EXT_dynamic_rendering_unused_attachments is a preprocessor guard. Do not pass it to API calls. 18827 #define VK_EXT_dynamic_rendering_unused_attachments 1 18828 #define VK_EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_SPEC_VERSION 1 18829 #define VK_EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_EXTENSION_NAME "VK_EXT_dynamic_rendering_unused_attachments" 18830 typedef struct VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT { 18831 VkStructureType sType; 18832 void* pNext; 18833 VkBool32 dynamicRenderingUnusedAttachments; 18834 } VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT; 18835 18836 18837 18838 // VK_NV_low_latency2 is a preprocessor guard. Do not pass it to API calls. 18839 #define VK_NV_low_latency2 1 18840 #define VK_NV_LOW_LATENCY_2_SPEC_VERSION 2 18841 #define VK_NV_LOW_LATENCY_2_EXTENSION_NAME "VK_NV_low_latency2" 18842 18843 typedef enum VkLatencyMarkerNV { 18844 VK_LATENCY_MARKER_SIMULATION_START_NV = 0, 18845 VK_LATENCY_MARKER_SIMULATION_END_NV = 1, 18846 VK_LATENCY_MARKER_RENDERSUBMIT_START_NV = 2, 18847 VK_LATENCY_MARKER_RENDERSUBMIT_END_NV = 3, 18848 VK_LATENCY_MARKER_PRESENT_START_NV = 4, 18849 VK_LATENCY_MARKER_PRESENT_END_NV = 5, 18850 VK_LATENCY_MARKER_INPUT_SAMPLE_NV = 6, 18851 VK_LATENCY_MARKER_TRIGGER_FLASH_NV = 7, 18852 VK_LATENCY_MARKER_OUT_OF_BAND_RENDERSUBMIT_START_NV = 8, 18853 VK_LATENCY_MARKER_OUT_OF_BAND_RENDERSUBMIT_END_NV = 9, 18854 VK_LATENCY_MARKER_OUT_OF_BAND_PRESENT_START_NV = 10, 18855 VK_LATENCY_MARKER_OUT_OF_BAND_PRESENT_END_NV = 11, 18856 VK_LATENCY_MARKER_MAX_ENUM_NV = 0x7FFFFFFF 18857 } VkLatencyMarkerNV; 18858 18859 typedef enum VkOutOfBandQueueTypeNV { 18860 VK_OUT_OF_BAND_QUEUE_TYPE_RENDER_NV = 0, 18861 VK_OUT_OF_BAND_QUEUE_TYPE_PRESENT_NV = 1, 18862 VK_OUT_OF_BAND_QUEUE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 18863 } VkOutOfBandQueueTypeNV; 18864 typedef struct VkLatencySleepModeInfoNV { 18865 VkStructureType sType; 18866 const void* pNext; 18867 VkBool32 lowLatencyMode; 18868 VkBool32 lowLatencyBoost; 18869 uint32_t minimumIntervalUs; 18870 } VkLatencySleepModeInfoNV; 18871 18872 typedef struct VkLatencySleepInfoNV { 18873 VkStructureType sType; 18874 const void* pNext; 18875 VkSemaphore signalSemaphore; 18876 uint64_t value; 18877 } VkLatencySleepInfoNV; 18878 18879 typedef struct VkSetLatencyMarkerInfoNV { 18880 VkStructureType sType; 18881 const void* pNext; 18882 uint64_t presentID; 18883 VkLatencyMarkerNV marker; 18884 } VkSetLatencyMarkerInfoNV; 18885 18886 typedef struct VkLatencyTimingsFrameReportNV { 18887 VkStructureType sType; 18888 const void* pNext; 18889 uint64_t presentID; 18890 uint64_t inputSampleTimeUs; 18891 uint64_t simStartTimeUs; 18892 uint64_t simEndTimeUs; 18893 uint64_t renderSubmitStartTimeUs; 18894 uint64_t renderSubmitEndTimeUs; 18895 uint64_t presentStartTimeUs; 18896 uint64_t presentEndTimeUs; 18897 uint64_t driverStartTimeUs; 18898 uint64_t driverEndTimeUs; 18899 uint64_t osRenderQueueStartTimeUs; 18900 uint64_t osRenderQueueEndTimeUs; 18901 uint64_t gpuRenderStartTimeUs; 18902 uint64_t gpuRenderEndTimeUs; 18903 } VkLatencyTimingsFrameReportNV; 18904 18905 typedef struct VkGetLatencyMarkerInfoNV { 18906 VkStructureType sType; 18907 const void* pNext; 18908 uint32_t timingCount; 18909 VkLatencyTimingsFrameReportNV* pTimings; 18910 } VkGetLatencyMarkerInfoNV; 18911 18912 typedef struct VkLatencySubmissionPresentIdNV { 18913 VkStructureType sType; 18914 const void* pNext; 18915 uint64_t presentID; 18916 } VkLatencySubmissionPresentIdNV; 18917 18918 typedef struct VkSwapchainLatencyCreateInfoNV { 18919 VkStructureType sType; 18920 const void* pNext; 18921 VkBool32 latencyModeEnable; 18922 } VkSwapchainLatencyCreateInfoNV; 18923 18924 typedef struct VkOutOfBandQueueTypeInfoNV { 18925 VkStructureType sType; 18926 const void* pNext; 18927 VkOutOfBandQueueTypeNV queueType; 18928 } VkOutOfBandQueueTypeInfoNV; 18929 18930 typedef struct VkLatencySurfaceCapabilitiesNV { 18931 VkStructureType sType; 18932 const void* pNext; 18933 uint32_t presentModeCount; 18934 VkPresentModeKHR* pPresentModes; 18935 } VkLatencySurfaceCapabilitiesNV; 18936 18937 typedef VkResult (VKAPI_PTR *PFN_vkSetLatencySleepModeNV)(VkDevice device, VkSwapchainKHR swapchain, const VkLatencySleepModeInfoNV* pSleepModeInfo); 18938 typedef VkResult (VKAPI_PTR *PFN_vkLatencySleepNV)(VkDevice device, VkSwapchainKHR swapchain, const VkLatencySleepInfoNV* pSleepInfo); 18939 typedef void (VKAPI_PTR *PFN_vkSetLatencyMarkerNV)(VkDevice device, VkSwapchainKHR swapchain, const VkSetLatencyMarkerInfoNV* pLatencyMarkerInfo); 18940 typedef void (VKAPI_PTR *PFN_vkGetLatencyTimingsNV)(VkDevice device, VkSwapchainKHR swapchain, VkGetLatencyMarkerInfoNV* pLatencyMarkerInfo); 18941 typedef void (VKAPI_PTR *PFN_vkQueueNotifyOutOfBandNV)(VkQueue queue, const VkOutOfBandQueueTypeInfoNV* pQueueTypeInfo); 18942 18943 #ifndef VK_NO_PROTOTYPES 18944 VKAPI_ATTR VkResult VKAPI_CALL vkSetLatencySleepModeNV( 18945 VkDevice device, 18946 VkSwapchainKHR swapchain, 18947 const VkLatencySleepModeInfoNV* pSleepModeInfo); 18948 18949 VKAPI_ATTR VkResult VKAPI_CALL vkLatencySleepNV( 18950 VkDevice device, 18951 VkSwapchainKHR swapchain, 18952 const VkLatencySleepInfoNV* pSleepInfo); 18953 18954 VKAPI_ATTR void VKAPI_CALL vkSetLatencyMarkerNV( 18955 VkDevice device, 18956 VkSwapchainKHR swapchain, 18957 const VkSetLatencyMarkerInfoNV* pLatencyMarkerInfo); 18958 18959 VKAPI_ATTR void VKAPI_CALL vkGetLatencyTimingsNV( 18960 VkDevice device, 18961 VkSwapchainKHR swapchain, 18962 VkGetLatencyMarkerInfoNV* pLatencyMarkerInfo); 18963 18964 VKAPI_ATTR void VKAPI_CALL vkQueueNotifyOutOfBandNV( 18965 VkQueue queue, 18966 const VkOutOfBandQueueTypeInfoNV* pQueueTypeInfo); 18967 #endif 18968 18969 18970 // VK_QCOM_multiview_per_view_render_areas is a preprocessor guard. Do not pass it to API calls. 18971 #define VK_QCOM_multiview_per_view_render_areas 1 18972 #define VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_SPEC_VERSION 1 18973 #define VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_EXTENSION_NAME "VK_QCOM_multiview_per_view_render_areas" 18974 typedef struct VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM { 18975 VkStructureType sType; 18976 void* pNext; 18977 VkBool32 multiviewPerViewRenderAreas; 18978 } VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM; 18979 18980 typedef struct VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM { 18981 VkStructureType sType; 18982 const void* pNext; 18983 uint32_t perViewRenderAreaCount; 18984 const VkRect2D* pPerViewRenderAreas; 18985 } VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM; 18986 18987 18988 18989 // VK_NV_per_stage_descriptor_set is a preprocessor guard. Do not pass it to API calls. 18990 #define VK_NV_per_stage_descriptor_set 1 18991 #define VK_NV_PER_STAGE_DESCRIPTOR_SET_SPEC_VERSION 1 18992 #define VK_NV_PER_STAGE_DESCRIPTOR_SET_EXTENSION_NAME "VK_NV_per_stage_descriptor_set" 18993 typedef struct VkPhysicalDevicePerStageDescriptorSetFeaturesNV { 18994 VkStructureType sType; 18995 void* pNext; 18996 VkBool32 perStageDescriptorSet; 18997 VkBool32 dynamicPipelineLayout; 18998 } VkPhysicalDevicePerStageDescriptorSetFeaturesNV; 18999 19000 19001 19002 // VK_QCOM_image_processing2 is a preprocessor guard. Do not pass it to API calls. 19003 #define VK_QCOM_image_processing2 1 19004 #define VK_QCOM_IMAGE_PROCESSING_2_SPEC_VERSION 1 19005 #define VK_QCOM_IMAGE_PROCESSING_2_EXTENSION_NAME "VK_QCOM_image_processing2" 19006 19007 typedef enum VkBlockMatchWindowCompareModeQCOM { 19008 VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MIN_QCOM = 0, 19009 VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MAX_QCOM = 1, 19010 VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MAX_ENUM_QCOM = 0x7FFFFFFF 19011 } VkBlockMatchWindowCompareModeQCOM; 19012 typedef struct VkPhysicalDeviceImageProcessing2FeaturesQCOM { 19013 VkStructureType sType; 19014 void* pNext; 19015 VkBool32 textureBlockMatch2; 19016 } VkPhysicalDeviceImageProcessing2FeaturesQCOM; 19017 19018 typedef struct VkPhysicalDeviceImageProcessing2PropertiesQCOM { 19019 VkStructureType sType; 19020 void* pNext; 19021 VkExtent2D maxBlockMatchWindow; 19022 } VkPhysicalDeviceImageProcessing2PropertiesQCOM; 19023 19024 typedef struct VkSamplerBlockMatchWindowCreateInfoQCOM { 19025 VkStructureType sType; 19026 const void* pNext; 19027 VkExtent2D windowExtent; 19028 VkBlockMatchWindowCompareModeQCOM windowCompareMode; 19029 } VkSamplerBlockMatchWindowCreateInfoQCOM; 19030 19031 19032 19033 // VK_QCOM_filter_cubic_weights is a preprocessor guard. Do not pass it to API calls. 19034 #define VK_QCOM_filter_cubic_weights 1 19035 #define VK_QCOM_FILTER_CUBIC_WEIGHTS_SPEC_VERSION 1 19036 #define VK_QCOM_FILTER_CUBIC_WEIGHTS_EXTENSION_NAME "VK_QCOM_filter_cubic_weights" 19037 19038 typedef enum VkCubicFilterWeightsQCOM { 19039 VK_CUBIC_FILTER_WEIGHTS_CATMULL_ROM_QCOM = 0, 19040 VK_CUBIC_FILTER_WEIGHTS_ZERO_TANGENT_CARDINAL_QCOM = 1, 19041 VK_CUBIC_FILTER_WEIGHTS_B_SPLINE_QCOM = 2, 19042 VK_CUBIC_FILTER_WEIGHTS_MITCHELL_NETRAVALI_QCOM = 3, 19043 VK_CUBIC_FILTER_WEIGHTS_MAX_ENUM_QCOM = 0x7FFFFFFF 19044 } VkCubicFilterWeightsQCOM; 19045 typedef struct VkPhysicalDeviceCubicWeightsFeaturesQCOM { 19046 VkStructureType sType; 19047 void* pNext; 19048 VkBool32 selectableCubicWeights; 19049 } VkPhysicalDeviceCubicWeightsFeaturesQCOM; 19050 19051 typedef struct VkSamplerCubicWeightsCreateInfoQCOM { 19052 VkStructureType sType; 19053 const void* pNext; 19054 VkCubicFilterWeightsQCOM cubicWeights; 19055 } VkSamplerCubicWeightsCreateInfoQCOM; 19056 19057 typedef struct VkBlitImageCubicWeightsInfoQCOM { 19058 VkStructureType sType; 19059 const void* pNext; 19060 VkCubicFilterWeightsQCOM cubicWeights; 19061 } VkBlitImageCubicWeightsInfoQCOM; 19062 19063 19064 19065 // VK_QCOM_ycbcr_degamma is a preprocessor guard. Do not pass it to API calls. 19066 #define VK_QCOM_ycbcr_degamma 1 19067 #define VK_QCOM_YCBCR_DEGAMMA_SPEC_VERSION 1 19068 #define VK_QCOM_YCBCR_DEGAMMA_EXTENSION_NAME "VK_QCOM_ycbcr_degamma" 19069 typedef struct VkPhysicalDeviceYcbcrDegammaFeaturesQCOM { 19070 VkStructureType sType; 19071 void* pNext; 19072 VkBool32 ycbcrDegamma; 19073 } VkPhysicalDeviceYcbcrDegammaFeaturesQCOM; 19074 19075 typedef struct VkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM { 19076 VkStructureType sType; 19077 void* pNext; 19078 VkBool32 enableYDegamma; 19079 VkBool32 enableCbCrDegamma; 19080 } VkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM; 19081 19082 19083 19084 // VK_QCOM_filter_cubic_clamp is a preprocessor guard. Do not pass it to API calls. 19085 #define VK_QCOM_filter_cubic_clamp 1 19086 #define VK_QCOM_FILTER_CUBIC_CLAMP_SPEC_VERSION 1 19087 #define VK_QCOM_FILTER_CUBIC_CLAMP_EXTENSION_NAME "VK_QCOM_filter_cubic_clamp" 19088 typedef struct VkPhysicalDeviceCubicClampFeaturesQCOM { 19089 VkStructureType sType; 19090 void* pNext; 19091 VkBool32 cubicRangeClamp; 19092 } VkPhysicalDeviceCubicClampFeaturesQCOM; 19093 19094 19095 19096 // VK_EXT_attachment_feedback_loop_dynamic_state is a preprocessor guard. Do not pass it to API calls. 19097 #define VK_EXT_attachment_feedback_loop_dynamic_state 1 19098 #define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_SPEC_VERSION 1 19099 #define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_attachment_feedback_loop_dynamic_state" 19100 typedef struct VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT { 19101 VkStructureType sType; 19102 void* pNext; 19103 VkBool32 attachmentFeedbackLoopDynamicState; 19104 } VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT; 19105 19106 typedef void (VKAPI_PTR *PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT)(VkCommandBuffer commandBuffer, VkImageAspectFlags aspectMask); 19107 19108 #ifndef VK_NO_PROTOTYPES 19109 VKAPI_ATTR void VKAPI_CALL vkCmdSetAttachmentFeedbackLoopEnableEXT( 19110 VkCommandBuffer commandBuffer, 19111 VkImageAspectFlags aspectMask); 19112 #endif 19113 19114 19115 // VK_MSFT_layered_driver is a preprocessor guard. Do not pass it to API calls. 19116 #define VK_MSFT_layered_driver 1 19117 #define VK_MSFT_LAYERED_DRIVER_SPEC_VERSION 1 19118 #define VK_MSFT_LAYERED_DRIVER_EXTENSION_NAME "VK_MSFT_layered_driver" 19119 19120 typedef enum VkLayeredDriverUnderlyingApiMSFT { 19121 VK_LAYERED_DRIVER_UNDERLYING_API_NONE_MSFT = 0, 19122 VK_LAYERED_DRIVER_UNDERLYING_API_D3D12_MSFT = 1, 19123 VK_LAYERED_DRIVER_UNDERLYING_API_MAX_ENUM_MSFT = 0x7FFFFFFF 19124 } VkLayeredDriverUnderlyingApiMSFT; 19125 typedef struct VkPhysicalDeviceLayeredDriverPropertiesMSFT { 19126 VkStructureType sType; 19127 void* pNext; 19128 VkLayeredDriverUnderlyingApiMSFT underlyingAPI; 19129 } VkPhysicalDeviceLayeredDriverPropertiesMSFT; 19130 19131 19132 19133 // VK_NV_descriptor_pool_overallocation is a preprocessor guard. Do not pass it to API calls. 19134 #define VK_NV_descriptor_pool_overallocation 1 19135 #define VK_NV_DESCRIPTOR_POOL_OVERALLOCATION_SPEC_VERSION 1 19136 #define VK_NV_DESCRIPTOR_POOL_OVERALLOCATION_EXTENSION_NAME "VK_NV_descriptor_pool_overallocation" 19137 typedef struct VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV { 19138 VkStructureType sType; 19139 void* pNext; 19140 VkBool32 descriptorPoolOverallocation; 19141 } VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV; 19142 19143 19144 19145 // VK_NV_raw_access_chains is a preprocessor guard. Do not pass it to API calls. 19146 #define VK_NV_raw_access_chains 1 19147 #define VK_NV_RAW_ACCESS_CHAINS_SPEC_VERSION 1 19148 #define VK_NV_RAW_ACCESS_CHAINS_EXTENSION_NAME "VK_NV_raw_access_chains" 19149 typedef struct VkPhysicalDeviceRawAccessChainsFeaturesNV { 19150 VkStructureType sType; 19151 void* pNext; 19152 VkBool32 shaderRawAccessChains; 19153 } VkPhysicalDeviceRawAccessChainsFeaturesNV; 19154 19155 19156 19157 // VK_NV_shader_atomic_float16_vector is a preprocessor guard. Do not pass it to API calls. 19158 #define VK_NV_shader_atomic_float16_vector 1 19159 #define VK_NV_SHADER_ATOMIC_FLOAT16_VECTOR_SPEC_VERSION 1 19160 #define VK_NV_SHADER_ATOMIC_FLOAT16_VECTOR_EXTENSION_NAME "VK_NV_shader_atomic_float16_vector" 19161 typedef struct VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV { 19162 VkStructureType sType; 19163 void* pNext; 19164 VkBool32 shaderFloat16VectorAtomics; 19165 } VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV; 19166 19167 // VK_EXT_shader_replicated_composites is a preprocessor guard. Do not pass it to API calls. 19168 #define VK_EXT_shader_replicated_composites 1 19169 #define VK_EXT_SHADER_REPLICATED_COMPOSITES_SPEC_VERSION 1 19170 #define VK_EXT_SHADER_REPLICATED_COMPOSITES_EXTENSION_NAME "VK_EXT_shader_replicated_composites" 19171 typedef struct VkPhysicalDeviceShaderReplicatedCompositesFeaturesEXT 19172 { 19173 VkStructureType sType; 19174 void *pNext; 19175 VkBool32 shaderReplicatedComposites; 19176 } VkPhysicalDeviceShaderReplicatedCompositesFeaturesEXT; 19177 19178 // VK_NV_ray_tracing_validation is a preprocessor guard. Do not pass it to API calls. 19179 #define VK_NV_ray_tracing_validation 1 19180 #define VK_NV_RAY_TRACING_VALIDATION_SPEC_VERSION 1 19181 #define VK_NV_RAY_TRACING_VALIDATION_EXTENSION_NAME "VK_NV_ray_tracing_validation" 19182 typedef struct VkPhysicalDeviceRayTracingValidationFeaturesNV { 19183 VkStructureType sType; 19184 void* pNext; 19185 VkBool32 rayTracingValidation; 19186 } VkPhysicalDeviceRayTracingValidationFeaturesNV; 19187 19188 // VK_MESA_image_alignment_control is a preprocessor guard. Do not pass it to API calls. 19189 #define VK_MESA_image_alignment_control 1 19190 #define VK_MESA_IMAGE_ALIGNMENT_CONTROL_SPEC_VERSION 1 19191 #define VK_MESA_IMAGE_ALIGNMENT_CONTROL_EXTENSION_NAME "VK_MESA_image_alignment_control" 19192 typedef struct VkPhysicalDeviceImageAlignmentControlFeaturesMESA 19193 { 19194 VkStructureType sType; 19195 void *pNext; 19196 VkBool32 imageAlignmentControl; 19197 } VkPhysicalDeviceImageAlignmentControlFeaturesMESA; 19198 19199 typedef struct VkPhysicalDeviceImageAlignmentControlPropertiesMESA 19200 { 19201 VkStructureType sType; 19202 void *pNext; 19203 uint32_t supportedImageAlignmentMask; 19204 } VkPhysicalDeviceImageAlignmentControlPropertiesMESA; 19205 19206 typedef struct VkImageAlignmentControlCreateInfoMESA 19207 { 19208 VkStructureType sType; 19209 const void *pNext; 19210 uint32_t maximumRequestedAlignment; 19211 } VkImageAlignmentControlCreateInfoMESA; 19212 19213 // VK_KHR_acceleration_structure is a preprocessor guard. Do not pass it to API calls. 19214 #define VK_KHR_acceleration_structure 1 19215 #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 13 19216 #define VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_KHR_acceleration_structure" 19217 19218 typedef enum VkBuildAccelerationStructureModeKHR { 19219 VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR = 0, 19220 VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR = 1, 19221 VK_BUILD_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 19222 } VkBuildAccelerationStructureModeKHR; 19223 19224 typedef enum VkAccelerationStructureCreateFlagBitsKHR { 19225 VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 0x00000001, 19226 VK_ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000008, 19227 VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 0x00000004, 19228 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 19229 } VkAccelerationStructureCreateFlagBitsKHR; 19230 typedef VkFlags VkAccelerationStructureCreateFlagsKHR; 19231 typedef struct VkAccelerationStructureBuildRangeInfoKHR { 19232 uint32_t primitiveCount; 19233 uint32_t primitiveOffset; 19234 uint32_t firstVertex; 19235 uint32_t transformOffset; 19236 } VkAccelerationStructureBuildRangeInfoKHR; 19237 19238 typedef struct VkAccelerationStructureGeometryTrianglesDataKHR { 19239 VkStructureType sType; 19240 const void* pNext; 19241 VkFormat vertexFormat; 19242 VkDeviceOrHostAddressConstKHR vertexData; 19243 VkDeviceSize vertexStride; 19244 uint32_t maxVertex; 19245 VkIndexType indexType; 19246 VkDeviceOrHostAddressConstKHR indexData; 19247 VkDeviceOrHostAddressConstKHR transformData; 19248 } VkAccelerationStructureGeometryTrianglesDataKHR; 19249 19250 typedef struct VkAccelerationStructureGeometryAabbsDataKHR { 19251 VkStructureType sType; 19252 const void* pNext; 19253 VkDeviceOrHostAddressConstKHR data; 19254 VkDeviceSize stride; 19255 } VkAccelerationStructureGeometryAabbsDataKHR; 19256 19257 typedef struct VkAccelerationStructureGeometryInstancesDataKHR { 19258 VkStructureType sType; 19259 const void* pNext; 19260 VkBool32 arrayOfPointers; 19261 VkDeviceOrHostAddressConstKHR data; 19262 } VkAccelerationStructureGeometryInstancesDataKHR; 19263 19264 typedef union VkAccelerationStructureGeometryDataKHR { 19265 VkAccelerationStructureGeometryTrianglesDataKHR triangles; 19266 VkAccelerationStructureGeometryAabbsDataKHR aabbs; 19267 VkAccelerationStructureGeometryInstancesDataKHR instances; 19268 } VkAccelerationStructureGeometryDataKHR; 19269 19270 typedef struct VkAccelerationStructureGeometryKHR { 19271 VkStructureType sType; 19272 const void* pNext; 19273 VkGeometryTypeKHR geometryType; 19274 VkAccelerationStructureGeometryDataKHR geometry; 19275 VkGeometryFlagsKHR flags; 19276 } VkAccelerationStructureGeometryKHR; 19277 19278 typedef struct VkAccelerationStructureBuildGeometryInfoKHR { 19279 VkStructureType sType; 19280 const void* pNext; 19281 VkAccelerationStructureTypeKHR type; 19282 VkBuildAccelerationStructureFlagsKHR flags; 19283 VkBuildAccelerationStructureModeKHR mode; 19284 VkAccelerationStructureKHR srcAccelerationStructure; 19285 VkAccelerationStructureKHR dstAccelerationStructure; 19286 uint32_t geometryCount; 19287 const VkAccelerationStructureGeometryKHR* pGeometries; 19288 const VkAccelerationStructureGeometryKHR* const* ppGeometries; 19289 VkDeviceOrHostAddressKHR scratchData; 19290 } VkAccelerationStructureBuildGeometryInfoKHR; 19291 19292 typedef struct VkAccelerationStructureCreateInfoKHR { 19293 VkStructureType sType; 19294 const void* pNext; 19295 VkAccelerationStructureCreateFlagsKHR createFlags; 19296 VkBuffer buffer; 19297 VkDeviceSize offset; 19298 VkDeviceSize size; 19299 VkAccelerationStructureTypeKHR type; 19300 VkDeviceAddress deviceAddress; 19301 } VkAccelerationStructureCreateInfoKHR; 19302 19303 typedef struct VkWriteDescriptorSetAccelerationStructureKHR { 19304 VkStructureType sType; 19305 const void* pNext; 19306 uint32_t accelerationStructureCount; 19307 const VkAccelerationStructureKHR* pAccelerationStructures; 19308 } VkWriteDescriptorSetAccelerationStructureKHR; 19309 19310 typedef struct VkPhysicalDeviceAccelerationStructureFeaturesKHR { 19311 VkStructureType sType; 19312 void* pNext; 19313 VkBool32 accelerationStructure; 19314 VkBool32 accelerationStructureCaptureReplay; 19315 VkBool32 accelerationStructureIndirectBuild; 19316 VkBool32 accelerationStructureHostCommands; 19317 VkBool32 descriptorBindingAccelerationStructureUpdateAfterBind; 19318 } VkPhysicalDeviceAccelerationStructureFeaturesKHR; 19319 19320 typedef struct VkPhysicalDeviceAccelerationStructurePropertiesKHR { 19321 VkStructureType sType; 19322 void* pNext; 19323 uint64_t maxGeometryCount; 19324 uint64_t maxInstanceCount; 19325 uint64_t maxPrimitiveCount; 19326 uint32_t maxPerStageDescriptorAccelerationStructures; 19327 uint32_t maxPerStageDescriptorUpdateAfterBindAccelerationStructures; 19328 uint32_t maxDescriptorSetAccelerationStructures; 19329 uint32_t maxDescriptorSetUpdateAfterBindAccelerationStructures; 19330 uint32_t minAccelerationStructureScratchOffsetAlignment; 19331 } VkPhysicalDeviceAccelerationStructurePropertiesKHR; 19332 19333 typedef struct VkAccelerationStructureDeviceAddressInfoKHR { 19334 VkStructureType sType; 19335 const void* pNext; 19336 VkAccelerationStructureKHR accelerationStructure; 19337 } VkAccelerationStructureDeviceAddressInfoKHR; 19338 19339 typedef struct VkAccelerationStructureVersionInfoKHR { 19340 VkStructureType sType; 19341 const void* pNext; 19342 const uint8_t* pVersionData; 19343 } VkAccelerationStructureVersionInfoKHR; 19344 19345 typedef struct VkCopyAccelerationStructureToMemoryInfoKHR { 19346 VkStructureType sType; 19347 const void* pNext; 19348 VkAccelerationStructureKHR src; 19349 VkDeviceOrHostAddressKHR dst; 19350 VkCopyAccelerationStructureModeKHR mode; 19351 } VkCopyAccelerationStructureToMemoryInfoKHR; 19352 19353 typedef struct VkCopyMemoryToAccelerationStructureInfoKHR { 19354 VkStructureType sType; 19355 const void* pNext; 19356 VkDeviceOrHostAddressConstKHR src; 19357 VkAccelerationStructureKHR dst; 19358 VkCopyAccelerationStructureModeKHR mode; 19359 } VkCopyMemoryToAccelerationStructureInfoKHR; 19360 19361 typedef struct VkCopyAccelerationStructureInfoKHR { 19362 VkStructureType sType; 19363 const void* pNext; 19364 VkAccelerationStructureKHR src; 19365 VkAccelerationStructureKHR dst; 19366 VkCopyAccelerationStructureModeKHR mode; 19367 } VkCopyAccelerationStructureInfoKHR; 19368 19369 typedef struct VkAccelerationStructureBuildSizesInfoKHR { 19370 VkStructureType sType; 19371 const void* pNext; 19372 VkDeviceSize accelerationStructureSize; 19373 VkDeviceSize updateScratchSize; 19374 VkDeviceSize buildScratchSize; 19375 } VkAccelerationStructureBuildSizesInfoKHR; 19376 19377 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureKHR)(VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure); 19378 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureKHR)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator); 19379 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresKHR)(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos); 19380 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); 19381 typedef VkResult (VKAPI_PTR *PFN_vkBuildAccelerationStructuresKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos); 19382 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR* pInfo); 19383 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureToMemoryKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); 19384 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); 19385 typedef VkResult (VKAPI_PTR *PFN_vkWriteAccelerationStructuresPropertiesKHR)(VkDevice device, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, size_t dataSize, void* pData, size_t stride); 19386 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo); 19387 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureToMemoryKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); 19388 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); 19389 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetAccelerationStructureDeviceAddressKHR)(VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo); 19390 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery); 19391 typedef void (VKAPI_PTR *PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)(VkDevice device, const VkAccelerationStructureVersionInfoKHR* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility); 19392 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureBuildSizesKHR)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, const uint32_t* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo); 19393 19394 #ifndef VK_NO_PROTOTYPES 19395 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureKHR( 19396 VkDevice device, 19397 const VkAccelerationStructureCreateInfoKHR* pCreateInfo, 19398 const VkAllocationCallbacks* pAllocator, 19399 VkAccelerationStructureKHR* pAccelerationStructure); 19400 19401 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureKHR( 19402 VkDevice device, 19403 VkAccelerationStructureKHR accelerationStructure, 19404 const VkAllocationCallbacks* pAllocator); 19405 19406 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresKHR( 19407 VkCommandBuffer commandBuffer, 19408 uint32_t infoCount, 19409 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, 19410 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos); 19411 19412 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresIndirectKHR( 19413 VkCommandBuffer commandBuffer, 19414 uint32_t infoCount, 19415 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, 19416 const VkDeviceAddress* pIndirectDeviceAddresses, 19417 const uint32_t* pIndirectStrides, 19418 const uint32_t* const* ppMaxPrimitiveCounts); 19419 19420 VKAPI_ATTR VkResult VKAPI_CALL vkBuildAccelerationStructuresKHR( 19421 VkDevice device, 19422 VkDeferredOperationKHR deferredOperation, 19423 uint32_t infoCount, 19424 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, 19425 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos); 19426 19427 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureKHR( 19428 VkDevice device, 19429 VkDeferredOperationKHR deferredOperation, 19430 const VkCopyAccelerationStructureInfoKHR* pInfo); 19431 19432 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureToMemoryKHR( 19433 VkDevice device, 19434 VkDeferredOperationKHR deferredOperation, 19435 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); 19436 19437 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToAccelerationStructureKHR( 19438 VkDevice device, 19439 VkDeferredOperationKHR deferredOperation, 19440 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); 19441 19442 VKAPI_ATTR VkResult VKAPI_CALL vkWriteAccelerationStructuresPropertiesKHR( 19443 VkDevice device, 19444 uint32_t accelerationStructureCount, 19445 const VkAccelerationStructureKHR* pAccelerationStructures, 19446 VkQueryType queryType, 19447 size_t dataSize, 19448 void* pData, 19449 size_t stride); 19450 19451 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureKHR( 19452 VkCommandBuffer commandBuffer, 19453 const VkCopyAccelerationStructureInfoKHR* pInfo); 19454 19455 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureToMemoryKHR( 19456 VkCommandBuffer commandBuffer, 19457 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); 19458 19459 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToAccelerationStructureKHR( 19460 VkCommandBuffer commandBuffer, 19461 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); 19462 19463 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetAccelerationStructureDeviceAddressKHR( 19464 VkDevice device, 19465 const VkAccelerationStructureDeviceAddressInfoKHR* pInfo); 19466 19467 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesKHR( 19468 VkCommandBuffer commandBuffer, 19469 uint32_t accelerationStructureCount, 19470 const VkAccelerationStructureKHR* pAccelerationStructures, 19471 VkQueryType queryType, 19472 VkQueryPool queryPool, 19473 uint32_t firstQuery); 19474 19475 VKAPI_ATTR void VKAPI_CALL vkGetDeviceAccelerationStructureCompatibilityKHR( 19476 VkDevice device, 19477 const VkAccelerationStructureVersionInfoKHR* pVersionInfo, 19478 VkAccelerationStructureCompatibilityKHR* pCompatibility); 19479 19480 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureBuildSizesKHR( 19481 VkDevice device, 19482 VkAccelerationStructureBuildTypeKHR buildType, 19483 const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, 19484 const uint32_t* pMaxPrimitiveCounts, 19485 VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo); 19486 #endif 19487 19488 19489 // VK_KHR_ray_tracing_pipeline is a preprocessor guard. Do not pass it to API calls. 19490 #define VK_KHR_ray_tracing_pipeline 1 19491 #define VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION 1 19492 #define VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME "VK_KHR_ray_tracing_pipeline" 19493 19494 typedef enum VkShaderGroupShaderKHR { 19495 VK_SHADER_GROUP_SHADER_GENERAL_KHR = 0, 19496 VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR = 1, 19497 VK_SHADER_GROUP_SHADER_ANY_HIT_KHR = 2, 19498 VK_SHADER_GROUP_SHADER_INTERSECTION_KHR = 3, 19499 VK_SHADER_GROUP_SHADER_MAX_ENUM_KHR = 0x7FFFFFFF 19500 } VkShaderGroupShaderKHR; 19501 typedef struct VkRayTracingShaderGroupCreateInfoKHR { 19502 VkStructureType sType; 19503 const void* pNext; 19504 VkRayTracingShaderGroupTypeKHR type; 19505 uint32_t generalShader; 19506 uint32_t closestHitShader; 19507 uint32_t anyHitShader; 19508 uint32_t intersectionShader; 19509 const void* pShaderGroupCaptureReplayHandle; 19510 } VkRayTracingShaderGroupCreateInfoKHR; 19511 19512 typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR { 19513 VkStructureType sType; 19514 const void* pNext; 19515 uint32_t maxPipelineRayPayloadSize; 19516 uint32_t maxPipelineRayHitAttributeSize; 19517 } VkRayTracingPipelineInterfaceCreateInfoKHR; 19518 19519 typedef struct VkRayTracingPipelineCreateInfoKHR { 19520 VkStructureType sType; 19521 const void* pNext; 19522 VkPipelineCreateFlags flags; 19523 uint32_t stageCount; 19524 const VkPipelineShaderStageCreateInfo* pStages; 19525 uint32_t groupCount; 19526 const VkRayTracingShaderGroupCreateInfoKHR* pGroups; 19527 uint32_t maxPipelineRayRecursionDepth; 19528 const VkPipelineLibraryCreateInfoKHR* pLibraryInfo; 19529 const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface; 19530 const VkPipelineDynamicStateCreateInfo* pDynamicState; 19531 VkPipelineLayout layout; 19532 VkPipeline basePipelineHandle; 19533 int32_t basePipelineIndex; 19534 } VkRayTracingPipelineCreateInfoKHR; 19535 19536 typedef struct VkPhysicalDeviceRayTracingPipelineFeaturesKHR { 19537 VkStructureType sType; 19538 void* pNext; 19539 VkBool32 rayTracingPipeline; 19540 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplay; 19541 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplayMixed; 19542 VkBool32 rayTracingPipelineTraceRaysIndirect; 19543 VkBool32 rayTraversalPrimitiveCulling; 19544 } VkPhysicalDeviceRayTracingPipelineFeaturesKHR; 19545 19546 typedef struct VkPhysicalDeviceRayTracingPipelinePropertiesKHR { 19547 VkStructureType sType; 19548 void* pNext; 19549 uint32_t shaderGroupHandleSize; 19550 uint32_t maxRayRecursionDepth; 19551 uint32_t maxShaderGroupStride; 19552 uint32_t shaderGroupBaseAlignment; 19553 uint32_t shaderGroupHandleCaptureReplaySize; 19554 uint32_t maxRayDispatchInvocationCount; 19555 uint32_t shaderGroupHandleAlignment; 19556 uint32_t maxRayHitAttributeSize; 19557 } VkPhysicalDeviceRayTracingPipelinePropertiesKHR; 19558 19559 typedef struct VkStridedDeviceAddressRegionKHR { 19560 VkDeviceAddress deviceAddress; 19561 VkDeviceSize stride; 19562 VkDeviceSize size; 19563 } VkStridedDeviceAddressRegionKHR; 19564 19565 typedef struct VkTraceRaysIndirectCommandKHR { 19566 uint32_t width; 19567 uint32_t height; 19568 uint32_t depth; 19569 } VkTraceRaysIndirectCommandKHR; 19570 19571 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); 19572 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 19573 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData); 19574 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirectKHR)(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress); 19575 typedef VkDeviceSize (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupStackSizeKHR)(VkDevice device, VkPipeline pipeline, uint32_t group, VkShaderGroupShaderKHR groupShader); 19576 typedef void (VKAPI_PTR *PFN_vkCmdSetRayTracingPipelineStackSizeKHR)(VkCommandBuffer commandBuffer, uint32_t pipelineStackSize); 19577 19578 #ifndef VK_NO_PROTOTYPES 19579 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysKHR( 19580 VkCommandBuffer commandBuffer, 19581 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, 19582 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, 19583 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, 19584 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, 19585 uint32_t width, 19586 uint32_t height, 19587 uint32_t depth); 19588 19589 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesKHR( 19590 VkDevice device, 19591 VkDeferredOperationKHR deferredOperation, 19592 VkPipelineCache pipelineCache, 19593 uint32_t createInfoCount, 19594 const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, 19595 const VkAllocationCallbacks* pAllocator, 19596 VkPipeline* pPipelines); 19597 19598 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( 19599 VkDevice device, 19600 VkPipeline pipeline, 19601 uint32_t firstGroup, 19602 uint32_t groupCount, 19603 size_t dataSize, 19604 void* pData); 19605 19606 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirectKHR( 19607 VkCommandBuffer commandBuffer, 19608 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, 19609 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, 19610 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, 19611 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, 19612 VkDeviceAddress indirectDeviceAddress); 19613 19614 VKAPI_ATTR VkDeviceSize VKAPI_CALL vkGetRayTracingShaderGroupStackSizeKHR( 19615 VkDevice device, 19616 VkPipeline pipeline, 19617 uint32_t group, 19618 VkShaderGroupShaderKHR groupShader); 19619 19620 VKAPI_ATTR void VKAPI_CALL vkCmdSetRayTracingPipelineStackSizeKHR( 19621 VkCommandBuffer commandBuffer, 19622 uint32_t pipelineStackSize); 19623 #endif 19624 19625 19626 // VK_KHR_ray_query is a preprocessor guard. Do not pass it to API calls. 19627 #define VK_KHR_ray_query 1 19628 #define VK_KHR_RAY_QUERY_SPEC_VERSION 1 19629 #define VK_KHR_RAY_QUERY_EXTENSION_NAME "VK_KHR_ray_query" 19630 typedef struct VkPhysicalDeviceRayQueryFeaturesKHR { 19631 VkStructureType sType; 19632 void* pNext; 19633 VkBool32 rayQuery; 19634 } VkPhysicalDeviceRayQueryFeaturesKHR; 19635 19636 19637 19638 // VK_EXT_mesh_shader is a preprocessor guard. Do not pass it to API calls. 19639 #define VK_EXT_mesh_shader 1 19640 #define VK_EXT_MESH_SHADER_SPEC_VERSION 1 19641 #define VK_EXT_MESH_SHADER_EXTENSION_NAME "VK_EXT_mesh_shader" 19642 typedef struct VkPhysicalDeviceMeshShaderFeaturesEXT { 19643 VkStructureType sType; 19644 void* pNext; 19645 VkBool32 taskShader; 19646 VkBool32 meshShader; 19647 VkBool32 multiviewMeshShader; 19648 VkBool32 primitiveFragmentShadingRateMeshShader; 19649 VkBool32 meshShaderQueries; 19650 } VkPhysicalDeviceMeshShaderFeaturesEXT; 19651 19652 typedef struct VkPhysicalDeviceMeshShaderPropertiesEXT { 19653 VkStructureType sType; 19654 void* pNext; 19655 uint32_t maxTaskWorkGroupTotalCount; 19656 uint32_t maxTaskWorkGroupCount[3]; 19657 uint32_t maxTaskWorkGroupInvocations; 19658 uint32_t maxTaskWorkGroupSize[3]; 19659 uint32_t maxTaskPayloadSize; 19660 uint32_t maxTaskSharedMemorySize; 19661 uint32_t maxTaskPayloadAndSharedMemorySize; 19662 uint32_t maxMeshWorkGroupTotalCount; 19663 uint32_t maxMeshWorkGroupCount[3]; 19664 uint32_t maxMeshWorkGroupInvocations; 19665 uint32_t maxMeshWorkGroupSize[3]; 19666 uint32_t maxMeshSharedMemorySize; 19667 uint32_t maxMeshPayloadAndSharedMemorySize; 19668 uint32_t maxMeshOutputMemorySize; 19669 uint32_t maxMeshPayloadAndOutputMemorySize; 19670 uint32_t maxMeshOutputComponents; 19671 uint32_t maxMeshOutputVertices; 19672 uint32_t maxMeshOutputPrimitives; 19673 uint32_t maxMeshOutputLayers; 19674 uint32_t maxMeshMultiviewViewCount; 19675 uint32_t meshOutputPerVertexGranularity; 19676 uint32_t meshOutputPerPrimitiveGranularity; 19677 uint32_t maxPreferredTaskWorkGroupInvocations; 19678 uint32_t maxPreferredMeshWorkGroupInvocations; 19679 VkBool32 prefersLocalInvocationVertexOutput; 19680 VkBool32 prefersLocalInvocationPrimitiveOutput; 19681 VkBool32 prefersCompactVertexOutput; 19682 VkBool32 prefersCompactPrimitiveOutput; 19683 } VkPhysicalDeviceMeshShaderPropertiesEXT; 19684 19685 typedef struct VkDrawMeshTasksIndirectCommandEXT { 19686 uint32_t groupCountX; 19687 uint32_t groupCountY; 19688 uint32_t groupCountZ; 19689 } VkDrawMeshTasksIndirectCommandEXT; 19690 19691 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksEXT)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ); 19692 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectEXT)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); 19693 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountEXT)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 19694 19695 #ifndef VK_NO_PROTOTYPES 19696 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksEXT( 19697 VkCommandBuffer commandBuffer, 19698 uint32_t groupCountX, 19699 uint32_t groupCountY, 19700 uint32_t groupCountZ); 19701 19702 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectEXT( 19703 VkCommandBuffer commandBuffer, 19704 VkBuffer buffer, 19705 VkDeviceSize offset, 19706 uint32_t drawCount, 19707 uint32_t stride); 19708 19709 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountEXT( 19710 VkCommandBuffer commandBuffer, 19711 VkBuffer buffer, 19712 VkDeviceSize offset, 19713 VkBuffer countBuffer, 19714 VkDeviceSize countBufferOffset, 19715 uint32_t maxDrawCount, 19716 uint32_t stride); 19717 #endif 19718 19719 #ifdef __cplusplus 19720 } 19721 #endif 19722 19723 #endif 19724